当前位置:首页 » 区块链知识 » 区块链的记账节点

区块链的记账节点

发布时间: 2023-01-21 13:36:05

⑴ 什么是区块链挖矿是做什么详细介绍区块链和虚拟货币

比特币刚发行的时候人们发现了,它去中心化,不受任何中心管制;它完全开放,除了交易信息加密之外整个系统信息高度透明,技术都是开源的;安全性,只要不能控制全部节点的%51,就无法肆意修改数据,这使得它相对安全;独立性,整个模式和比特币不依赖任何第三方,所有节点都在系统内验证、交换数据,不受任何干预

我们这里详细解释什么是区块链技术,说白了就是区块+链,那什么是 “区块” ?什么又是 “链” 呢?

区块就是一个账本交易记账由分布在不同地方的多个节点共同完成,而且每一个节点记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证

每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易资料(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。

哈希函数h()的作用:将任意长度的字符串,转换成固定长度(例如256位)的输出。输出也被称为 哈希值 ,这个输出不可逆

很难找到两个不同的x和y,使得h(x) = h(y),也就是说两个不同的输入,会有不同的输出。理论上说两个不同的输入可能会有不同的输出,但这几乎不可能,比方说一个无限的空间映射到一个有限的空间,肯定存在多对一的情况,理论存在,但没有任何规律,保证你无法通过数学上的任何推断来找到这个结果,为什么这里是256位呢?不是更长的呢?因为256位已经足够安全。

将账本拆分成块,比如一个本子的一张纸就是一个区块,每个区块记录一段时间内的交易,列如10分钟

我们把每张纸比作一个一个 区块 ,在每个区块的上面增加一部分内容我们把它叫做 区块头 ,其中记录父区块的哈希值,通过每个区块储存父区块的哈希值,将所有区块按顺利连接起来,形成区块链

1区块 的哈希值记录到 2区块 的区块头上,如此操作每个区块的区块头都记录父区块的哈希值,每个区块都按照顺序链接起来了,这就叫做区块链。第一个区块没有区块头,又被称之为创世区块

区块链是一个账本,在账本上只有发生了交易你的账户上的钱才会变多和变少,需要进行交易那么首先需要一个账号和密码,就像你的银行卡有账号和密码别人就可以对你进行一个转账,在区块账本上这个账号密码就是公钥和私钥

老王(已有私钥,公钥),想转给张10个BTC,需要一些操作

证明是老王本人发出转账 签名函数Sign (老王的私钥 + 转账信息:老王转给张三10 BTC)=本次专账签名
验证是老王本人发出转账 验证函数Verify (老王的地址 + 转账详细:老王转给张三10 BTC + 本次转账签名)=true
一旦转账记录到区块从此谁也不能改变它,张三增加10 BTC,老王则相应减少10 BTC,整个操作都是自动的,比如你的钱包app它会帮你去做这样的事情,app知道你的私钥,你告诉钱包交易内容,钱包签名向全网公布,等待其他人来验证这笔交易

中心化记账效率会更高,银行、政府或者支付宝帮你记账,都很可靠,因为他们都无法动你的钱,除非它们有你的私钥

中心化记账存在一些缺点

去中心化人人都可以记账,每个人可以保留一个完整的账本。任何人都可以下载开源程序,参与比特币的p2p网络,监听来自全世界发送的交易,成为记账节点,参与记账,假设小逸发布了一笔交易向全网广播,A记账节点监听到了这笔交易,A验证了这笔交易位true之后放入交易池继续向其它节点传播,因为是网络传播,同一时间不同记账节点的交易池不一定相同,每10分钟,从所有记账节点当中,按照某个方式抽取一名,验证这个节点的交易为true之后,之后将这个选中的节点交易池中的交易记录与自己(A)节点的交易池中的交易记录对比一下,对比完之后会将自己交易池中已经被选中记账节点记录的交易删掉,别的不动继续记账等待下一次被选中,每隔10分钟就是一个循环,这个10分钟所有记账节点正常记账,10分钟之后再选出一个节点把它交易池当中的交易作为一个新的区块,这个区块来自所有记账节点中我任意选择的一个记账节点的交易池,如此不断循环往复

交易并不是被记录就完成,只有当这笔交易变成了某一个区块,这笔交易才算是真正的完成。这就是去中心化的一个记账的完整的流程,你的交易并不会第一时间被记录,因为p2p网络传播需要时间,如果被选中区块的节点还没有接受到你的交易,交易就没有完成。每10分钟产生一个区块,但不是所有在10分钟内的交易都能记录。10分钟只是一个平均值

去中心化记账的特点,有记账权的记账节点,每十分钟被选中的节点它会获得50BTC奖励,每21万个区块差不多4年,奖励减半,比特币自发行已经两次减半,那么每十分钟产生一个新的区块这个记账节点得到的奖励是10.5BTC,每隔4年减半那么可以算出BTC的总量大约为2100万枚,预计2040年开采完,记录一个区块的奖励也是比特币唯一的发行方式,当BTC开采完之后,记账节点可以获得的收益就只有交易的手续费了

记账节点通过题目来争夺记账权,

找到某位随机数使得等式不成立
SHA256哈希函数 (随机数 + 父区块哈希值 + 交易池中的交易) 某一指定值)
从0开始遍历随机数碰运气之外,没有其它解法,解题的过程,又叫做 挖矿 ,所以解这个题目的记账节点又被称之为 矿工 ,你遍历随机数越快你拿到这个记账权的可能性就越大,这个遍历速度就被矿老板们称之为 算力 ,为了得到这个算力,矿老板们就会购买更多且更高算力的矿机

谁先解对,谁就得到记账权。A记账节点率先找到解,即向全网公布,其他节点验证无误之后,A节点就获得了这个区块,获得12.5个BTC的收益,在新区块之后重新开始新一轮计算。这个方式被称之为(POW)分配记账权

一般大约10分钟解出这个随机数,10并不绝对,因为解开这个题目的过程本就是个碰运气的过程,未来应对算力的变化,比特币每隔2016个区块,大约两周,会加大或减小难度,使得平均产生区块的时间是十分钟

每一个区块包含了前一个区块的加密散列、相应时间戳记以及交易资料(通常用默克尔树(Merkle tree)算法计算的散列值表示),这样的设计使得区块内容具有难以篡改的特性。用区块链技术所串接的分布式账本能让两方有效记录交易,且可永久查验此交易。

和传统存储的数据不同的是,区块链每个节点都按照块链式结构存储完整的数据,区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。

麻将作为中国传统的区块链项目,四个矿工一组,先碰撞出13个数字正确哈希值的矿工可以获得记账权并得到奖励。

很多人讲区块链是骗局比特币是骗局,这也许是个骗局,但是这个技术已经被广泛地承认和应用,区块链涉及的密码学知识一般人再借几个脑子给你你也搞不懂,在一个相对理性的角度看待问题最重要,千万别听风就是雨。

这门技术有着不可思议的地方 在一个没有中心没有监管的情况下保持着绝对的秩序 这个只需由大家的共识建立的信任,比特币创造了这个共识,在区块链的世界里每个人都是公平平等的。

⑵ 什么是区块链技术区块链到底是什么什么叫区块链

狭义来讲,区块链是一种按照时间顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。

广义来讲,区块链技术是利用块链式数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约来编程和操作数据的一种全新的分布式基础架构与计算方式。

【基础架构】

一般说来,区块链系统由数据层、网络层、共识层、激励层、合约层和应用层组成。其中,数据层封装了底层数据区块以及相关的数据加密和时间戳等基础数据和基本算法;网络层则包括分布式组网机制、数据传播机制和数据验证机制等;共识层主要封装网络节点的各类共识算法;激励层将经济因素集成到区块链技术体系中来,主要包括经济激励的发行机制和分配机制等;合约层主要封装各类脚本、算法和智能合约,是区块链可编程特性的基础;应用层则封装了区块链的各种应用场景和案例。该模型中,基于时间戳的链式区块结构、分布式节点的共识机制、基于共识算力的经济激励和灵活可编程的智能合约是区块链技术最具代表性的创新点。

拓展资料:

【区块链核心技术】

区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:

1.分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。

区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。

没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。

2.非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。

3.共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。

区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。

4.智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易的在一些标准化的保险产品中,去进行自动化的理赔。

在保险公司的日常业务中,虽然交易不像银行和证券行业那样频繁,但是对可信数据的依赖是有增无减。因此,笔者认为利用区块链技术,从数据管理的角度切入,能够有效地帮助保险公司提高风险管理能力。具体来讲主要分投保人风险管理和保险公司的风险监督。

区块链-网络

⑶ 浅析 Fabric Peer 节点

Hyperledger Fabric,也称之为超级账本,是由 IBM 发起,后成为 Linux 基金会 Hyperledger 中的区块链项目之一。

Fabric 是一个提供分布式账本解决方案的平台,底层的账本数据存储使用了区块链。区块链平台通常可以分为公有链、联盟链和私有链。公有链典型的代表是比特币这些公开的区块链网络,谁都可以加入到这个网络中。联盟链则有准入机制,无法随意加入到网络中,联盟链的典型例子就是 Fabric。

Fabric 不需要发币来激励参与方,也不需要挖矿来防止有人作恶,所以 Fabric 有着更好的性能。在Fabric 网络中,也有着诸多不同类型的节点来组成网络。其中 Peer 节点承载着账本和智能合约,是整个区块链网络的基础。在这篇文章中,会详细分析 Peer 的结构及其运行方式。

在本文中,假设读者已经了解区块链、智能合约等概念。

本文基于 Fabric1.4 LTS。

区块链网络是一个分布式的网络,Fabric 也是如此,由于 Fabric 是联盟链,需要准入机制,所以在网络结构上会复杂很多,下面是一个简化的 Fabric 网络:

各个元素的含义如下:

对于 Fabric 网络,外部的用户需要通过客户端应用,也就是图中的 A1、A2 或者 A3 来访问网络,客户端应用需要通过 CA 证书表明自己的身份,这样才能访问到 Fabric 网络中有权限访问的部分。

在上面的网络中,共有四个组织,R1、R2、R3 和 R4。其中 R4 是整个 Fabric 网络的创建者,网络是根据 NC4 配置的。

在 Fabric 网络中,不同的组织可以组成联盟,不同的联盟之间数据通过 Channel 来隔离。Channel 中的数据只有该联盟中的组织才能访问,每一个新的 Channel 都可以认为是一条新的链。与其他的区块链网络中通常只有一条链不一样,Fabric 可以通过 Channel 在网络中快速的搭建出一个新的区块链。

上面 R1 和 R2 组成了一个联盟,在 C1 上交易。R2 同时又和 R3 组成了另外一个联盟,在 C2 上交易。R1 和 R2 在 C1 上交易时,对 R3 是不可见的,R2 和 R3 在 C2 上交易时,对 R1 是不可见的。Channel 机制提供了很好的隐私保护能力。

Orderer 节点是整个 Fabric 网络共有的,用来为所有的交易排序、打包。比如上面网络中 O4 节点。本文不会对 Orderer 节点进行详细说明,可以把这个功能理解为比特币网络中的挖矿过程。

Peer 节点表示网络中的节点,通常一个 Peer 就表示一个组织,Peer 是整个区块链网络的基础,是智能合约和账本的载体,Peer 也是本文讨论的重点。

一个 Peer 节点可以承载多套账本和智能合约,比如 P2 节点,既维护了 C1 的账本和智能合约,也维护了 C2 的账本和智能合约。

为了可以更深入了解 Peer 节点的作用,先了解一下 Fabric 整体的交易流程。整体的交易流程图如下:

Peer 节点按照功能来分可以分为 背书节点 记账节点

客户端会提交交易请求到背书节点,背书节点开始模拟执行交易,在模拟执行之后,背书节点并不会去更新账本数据,而是把这个交易进行加密和签名,然后返回给客户端。

客户端收到这个响应之后就会把响应提交到 Orderer 节点,Orderer 节点会对这些交易进行排序,并打包成区块,然后分发到记账节点,记账节点就会对交易进行验证,验证结束之后,就会把交易记录到账本里面。

一笔交易是否能成功是根据背书策略来指定的,每一个智能合约都会指定一个背书策略。

Peer 节点代表着联盟链中的各个组织,区块链网络也是由 Peer 节点来组成的,而且也是账本和智能合约的载体。

通过对上面交易过程的了解可以知道,Peer 节点是主要的参与方。如果用户想要访问账本资源,都必须要和 peer 节点进行交互。在一个 Peer 节点中,可以同时维护多个账本,这些账本属于不同的 Channel 。每个 Peer 节点都会维护一套冗余账本,这样就避免了单点故障。

Peer 节点根据在交易中的不同角色,可以分成背书节点(Endorser)和记账节点(Committer),背书节点会对交易进行模拟执行,记账节点才会真正将数据存储到账本中。

账本可以分成两个部分,一部分是区块链,另一部分是 Current State,也被称之为 World State。

区块链上只能追加,不能对过去的数据进行修改,链上也包含两部分信息,一部分是通道的配置信息,另一部分是不可修改,序列化的记录。每一个区块记录前一个区块的信息,然后连成链,如下图所示:

第一个区块被称之为 genesis block,其中不存储交易信息。每个区块可以被分为 区块头 区块数据 区块元数据 。区块头中存储着当前区块的区块号、当前区块的 hash 值和上一个区块的 hash 值,这样才能把所有的区块连接起来。区块数据中包含了交易数据。区块元数据中则包括了区块写入的时间、写入人及签名。

其中每一笔交易的结构如下,在 Header 中,包含了 ChainCode 的名称、版本信息。Signature 就是交易发起用户的签名。Proposal 中主要是一些参数。Response 中是智能合约执行的结果。Endorsements 中是背书结果返回的结果。

WorldState中维护了账本的当前状态,数据以 Key-Value 的形式存储,可以快速查询和修改,每一次对 WorldState 的修改都会被记录到区块链中。WorldState 中的数据需要依赖外部的存储,通常使用 LevelDB 或者 CouchDB。

区块链和 WorldState 组成了一个完整的账本,World State 保证的业务数据的灵活变化,而区块链则保证了所有的修改是可追溯和不可篡改的。

在交易完成之后,数据已经写入账本,就需要将这些数据同步到其他的 Peer,Fabric 中使用的是 Gossip 协议。Gossip 也是 Channel 隔离的,只会在 Channel 中的 Peer 中广播和同步账本数据。

智能合约需要安装到 Peer 节点上,智能合约是访问账本的唯一方式。智能合约可以通过 Go、Java 等变成语言进行编写。

智能合约编写完成之后,需要打包到 ChainCode 中,每个 ChainCode 中可以包含多个智能合约。ChainCode 需要安装,ChainCode 需要安装到 Peer 节点上。安装好了之后,ChainCode 需要在 Channel 上实例化,实例化的时候需要指定背书策略。

智能合约在实例化之后就可以用来与账本进行交互了,流程图如下:

用户编写并部署实例化智能合约之后,就可以通过客户端应用程序来向智能合约提交请求,智能合约会对 WorldState 中数据进行 get、put 或者 delete。其中 get 操作直接从 WorldState 中读取交易对象当前的状态信息,不会去区块链上写入信息,但 put 和 delete 操作除了修改 WorldState,还会去区块链中写入一条交易信息,且交易信息不能修改。

区块链上的信息可以通过智能合约访问,也可以在客户端应用通过 API 直接访问。

Event 是客户端应用和 Fabric 网络交互的一种方式,客户端应用可以订阅 Event,当 Event 发生时,客户端应用就会接受到消息。

事件源可以两类,一类是智能合约发出的 Event,另一类是账本变更触发的 Event。用户可以从 Event 中获取到交易的信息,比如区块高度等信息。

在这篇文章中,首先介绍了 Fabric 整体的网络架构,通过对 Fabric 交易流程的分析,讨论了 peer 节点在交易中的作用,然后详细分析了 peer 节点所维护的账本和智能合约,并分析了 peer 节点维护账本以及 peer 节点执行智能合约的流程。

文 / Rayjun

[1] https://hyperledger-fabric.readthedocs.io/zh_CN/release-1.4/whatis.html

[2] https://developer.ibm.com/zh/technologies/blockchain/series/os-academy-hyperledger-fabric/

[3] https://en.wikipedia.org/wiki/Gossip_protocol

⑷ 金窝窝所说的区块链分布式记账是什么意思

金窝窝所说的区块链分布式记账是什么意思?, 该怎样去理解金窝窝区块链技术的分布式记账?

区块链技术也称为分布式账本,通俗的来讲,如果我们把数据库假设成一本账本,读写数据库就可以看做一种记账的行为,区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。这也就相当于改变数据库所有的记录,发给全网的其他每个节点,不仅可保证数据安全,还可以保证数据的真实性,从而提升社会信用度。

金窝窝的区块链技术所说的分布式记账有什么特点?, 如何简单理解金窝窝网络科技的区块链技术的分布式记账功能?

区块链技术采用了分布式记账的模式,不论是在登记结算场景的实时对账能力,还是在数据存证场景上的不可篡改能力,都可以为溯源、防伪、供应链场景提供有力的保障。而金窝窝是以区块链技术源头来保证产品数据安全。

我们该如何理解金窝窝区块链技术的分布式记账?

分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个角落。

金窝窝区块链技术中的分布式储存是什么?

重庆金窝窝分析研究区块链技术中的分布式储存如下:
一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。
二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。

金窝窝是如何解释区块链即分布式账本模式的?

区块链技术也称为分布式账本,通俗的来讲,如果我们把数据库假设成一本账本,读写数据库就可以看做一种记账的行为,区块链技术的原理就是在一段时间内找出记账最快最好的人,由这个人来记账,然后将账本的这一页信息发给整个系统里的其他所有人。这也就相当于改变数据库所有的记录,发给全网的其他每个节点,不仅可保证数据安全,还可以保证数据的真实性,从而提升社会信用度。
区块链的信任来自于底层技术,即用历史信息换得现行的信任。这是一种低成本的信用机制,从诞生到慢慢地茁壮成长, 即区块链,必然会得到关注和推广。

区块链的分布式记账是什么意思?

这个问题问的好,我举个例子吧,比如我在银行存了100元,这个存钱的数据只记录在银行的数据库,别人无法获取,即“中心式记账”。而区块链是是分布式记账,是一种新的信息记录技术,而且是“加密的”“分布式的”,数据不存在一个中心了,而是在全网的计算机上都存一次。比如我向你转了100元,我会向全网所有的计算机都喊一嗓子,大家一起记一下账,即“分布式记账”。

金窝窝区块链技术中的分布式的储存是什么?

重庆金窝窝分析:大数据,指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据 *** ,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据需要应对海量化和快增长的存储,这要求底层硬件架构和文件系统在性价比上要大大高于传统技术,能够弹性扩张存储容量。

金窝窝网络:区块链中的分布式储存是怎样的?

金窝窝网络分析:在区块链中,数据被存储在不同计算机上,不仅实现了去中心化,还拥有高度的加密性和安全性,同时也降低了成本。
而且如果你的电脑有多余的存储空间,你甚至还可以把多余的存储容量租出去,一举多得。

⑸ 区块链总共有哪些

区块链主要解决的交易的信任和安全问题,因此它针对这个问题提出了四个技术创新:
(1)分布式账本,就是交易记账由分布在不同地方的多个节点共同完成,而且每一个节点都记录的是完整的账目,因此它们都可以参与监督交易合法性,同时也可以共同为其作证。
跟传统的分布式存储有所不同,区块链的分布式存储的独特性主要体现在两个方面:一是区块链每个节点都按照块链式结构存储完整的数据,传统分布式存储一般是将数据按照一定的规则分成多份进行存储。二是区块链每个节点存储都是独立的、地位等同的,依靠共识机制保证存储的一致性,而传统分布式存储一般是通过中心节点往其他备份节点同步数据。 [8]
没有任何一个节点可以单独记录账本数据,从而避免了单一记账人被控制或者被贿赂而记假账的可能性。也由于记账节点足够多,理论上讲除非所有的节点被破坏,否则账目就不会丢失,从而保证了账目数据的安全性。
(2)非对称加密和授权技术,存储在区块链上的交易信息是公开的,但是账户身份信息是高度加密的,只有在数据拥有者授权的情况下才能访问到,从而保证了数据的安全和个人的隐私。
(3)共识机制,就是所有记账节点之间怎么达成共识,去认定一个记录的有效性,这既是认定的手段,也是防止篡改的手段。区块链提出了四种不同的共识机制,适用于不同的应用场景,在效率和安全性之间取得平衡。
区块链的共识机制具备“少数服从多数”以及“人人平等”的特点,其中“少数服从多数”并不完全指节点个数,也可以是计算能力、股权数或者其他的计算机可以比较的特征量。“人人平等”是当节点满足条件时,所有节点都有权优先提出共识结果、直接被其他节点认同后并最后有可能成为最终共识结果。以比特币为例,采用的是工作量证明,只有在控制了全网超过51%的记账节点的情况下,才有可能伪造出一条不存在的记录。当加入区块链的节点足够多的时候,这基本上不可能,从而杜绝了造假的可能.
(4)智能合约,智能合约是基于这些可信的不可篡改的数据,可以自动化的执行一些预先定义好的规则和条款。以保险为例,如果说每个人的信息(包括医疗信息和风险发生的信息)都是真实可信的,那就很容易地在一些标准化的保险产品中,去进行自动化的理赔.

⑹ 区块链技术中的几个要素是什么

金窝窝网络分析要素如下几点:

1-包含一个分布式数据库

2-分布式数据库是区块链的物理载体,区块链是交易的逻辑载体,所有核心节点都应包含该条区块链数据的全副本

3-区块链按时间序列化区块,且区块链是整个网络交易数据的唯一主体

4-区块链只对添加有效,对其他操作无效

5-基于非对称加密的公私钥验证

6-记账节点要求拜占庭将军问题可解/避免

7-共识过程(consensus progress)是演化稳定的,即面对一定量的不同节点的矛盾数据不会崩溃。

8-共识过程能够解决double-spending问题

⑺ 区块链和HyperLedger Fabric(五)共享账本

peer ledger:存储在背书节点和记账节点
orderer ledger:存储在order service node

Chaincode是无状态的。Chaincode存储在节点上,账本只会存储hash值

账本的隔离和隐私性用多通道(Multiple Channels)技术来保护

Query System Chaincode(QSCC)
背书节点需提前设定,也作为记账节点

transaction事务处理流1.X
• client应用(向一个或多个Peer节点(背书节点))发送交易请求(对事务的背书请求);
• 背书节点模拟执行ChainCode,但并不将结果提交到本地账本(World state,不会修改底层账本),只是将结果(读写集)加密签名返回给client应用;
• 应用收集所有背书节点的结果后,验证背书策略是否满足和模拟执行结果是否一致(去除不确定无效的交易,1.0未实现)将结果广播给Orderers;
• Orderers执行共识过程,并生成Block,通过消息通道批量的将Block发布给Peer节点(记账节点);
• 各个Peer节点验证交易,并提交到本地账本中.通知client端处理结果

记账节点Committing Peer:维护账本和状态
合约部署都需要指定背书策略。AND,OR,OutOf
背书策略在chaincode实例化时指定
ESCC
VSCC
账本保存Blockchain和World state(维护当前状态,方便应用快速查询)
Block(s):Block header(Block number,当前区块hash,前区块hash),Block data,Block Metadata(写入时间,写入人,签名)
transactions:header(名字,version),签名,proposal(input参数),Pesponse(执行结果前后的数据),Endorsements(背书节点返回的结果list)
World State:kv形式。维护账本当前信息
Smart Contract:业务角度。定义组织的业务规则,创建交易,记录到账本,打包进chaincode。操作World state DB:get,put,delete(put和delete会增加新的记录,block。只会删除world state的数据,在账本里新增记录)
chaincode可以包含多个合约,实现打包的角度

Chaincode Lifecycle
打包(签名,)--安装(peer)--实例化--运行
更新--运行
一个peer可以安装多个chaincode

System Chaincode
运行在peer上,LSCC(Lifecycle),CSCC(配置),QSCC(查询)

Peer
Leader Peer:连接order推送新的区块,随机传播其它记账节点。选举方式(静态指定,动态生成)。一个分区一个leader。
Anchor Peer:(Gossip协议,降低order负担)节点相互认识。
共识:读写集

网络搭建:
1.配置启动order Service
2.配置启动peer
3.安装chaincode
4.创建channel
5.加入channel
6.实例化chaincode

⑻ 区块链几大共识机制及优缺点

首先,没有一种共识机制是完美无缺的,各共识机制都有其优缺点,有些共识机制是为解决一些特定的问题而生。
1.pow( Proof of Work)工作量证明
一句话介绍:干的越多,收的越多。
依赖机器进行数学运算来获取记账权,资源消耗相比其他共识机制高、可监管性弱,同时每次达成共识需要全网共同参与运算,性能效率比较低,容错性方面允许全网50%节点出错。
优点:
1)算法简单,容易实现;
2)节点间无需交换额外的信息即可达成共识;
3)破坏系统需要投入极大的成本;
缺点:
1)浪费能源;
2)区块的确认时间难以缩短;
3)新的区块链必须找到一种不同的散列算法,否则就会面临比特币的算力攻击;
4)容易产生分叉,需要等待多个确认;
5)永远没有最终性,需要检查点机制来弥补最终性;
2.POS Proof of Stake,权益证明
一句话介绍:持有越多,获得越多。
主要思想是节点记账权的获得难度与节点持有的权益成反比,相对于PoW,一定程度减少了数学运算带来的资源消耗,性能也得到了相应的提升,但依然是基于哈希运算竞争获取记账权的方式,可监管性弱。该共识机制容错性和PoW相同。它是Pow的一种升级共识机制,根据每个节点所占代币的比例和时间,等比例的降低挖矿难度,从而加快找随机数的速度
优点:在一定程度上缩短了共识达成的时间;不再需要大量消耗能源挖矿。
缺点:还是需要挖矿,本质上没有解决商业应用的痛点;所有的确认都只是一个概率上的表达,而不是一个确定性的事情,理论上有可能存在其他攻击影响。例如,以太坊的DAO攻击事件造成以太坊硬分叉,而ETC由此事件出现,事实上证明了此次硬分叉的失败。
DPOS与POS原理相同,只是选了一些“人大代表”。
BitShares社区首先提出了DPoS机制。
与PoS的主要区别在于节点选举若干代理人,由代理人验证和记账。其合规监管、性能、资源消耗和容错性与PoS相似。类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。
DPoS的工作原理为:
去中心化表示每个股东按其持股比例拥有影响力,51%股东投票的结果将是不可逆且有约束力的。其挑战是通过及时而高效的方法达到51%批准。为达到这个目标,每个股东可以将其投票权授予一名代表。获票数最多的前100位代表按既定时间表轮流产生区块。每名代表分配到一个时间段来生产区块。所有的代表将收到等同于一个平均水平的区块所含交易费的10%作为报酬。如果一个平均水平的区块含有100股作为交易费,一名代表将获得1股作为报酬。
网络延迟有可能使某些代表没能及时广播他们的区块,而这将导致区块链分叉。然而,这不太可能发生,因为制造区块的代表可以与制造前后区块的代表建立直接连接。建立这种与你之后的代表(也许也包括其后的那名代表)的直接连接是为了确保你能得到报酬。
该模式可以每30秒产生一个新区块,并且在正常的网络条件下区块链分叉的可能性极其小,即使发生也可以在几分钟内得到解决。
成为代表:
成为一名代表,你必须在网络上注册你的公钥,然后分配到一个32位的特有标识符。然后该标识符会被每笔交易数据的“头部”引用。
授权选票:
每个钱包有一个参数设置窗口,在该窗口里用户可以选择一个或更多的代表,并将其分级。一经设定,用户所做的每笔交易将把选票从“输入代表”转移至“输出代表”。一般情况下,用户不会创建特别以投票为目的的交易,因为那将耗费他们一笔交易费。但在紧急情况下,某些用户可能觉得通过支付费用这一更积极的方式来改变他们的投票是值得的。
保持代表诚实:
每个钱包将显示一个状态指示器,让用户知道他们的代表表现如何。如果他们错过了太多的区块,那么系统将会推荐用户去换一个新的代表。如果任何代表被发现签发了一个无效的区块,那么所有标准钱包将在每个钱包进行更多交易前要求选出一个新代表。
抵抗攻击:
在抵抗攻击上,因为前100名代表所获得的权力权是相同的,每名代表都有一份相等的投票权。因此,无法通过获得超过1%的选票而将权力集中到一个单一代表上。因为只有100名代表,可以想象一个攻击者对每名轮到生产区块的代表依次进行拒绝服务攻击。幸运的是,由于事实上每名代表的标识是其公钥而非IP地址,这种特定攻击的威胁很容易被减轻。这将使确定DDOS攻击目标更为困难。而代表之间的潜在直接连接,将使妨碍他们生产区块变得更为困难。
优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。
缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。
3.PBFT :Practical Byzantine Fault Tolerance,实用拜占庭容错
介绍:在保证活性和安全性(liveness & safety)的前提下提供了(n-1)/3的容错性。
在分布式计算上,不同的计算机透过讯息交换,尝试达成共识;但有时候,系统上协调计算机(Coordinator / Commander)或成员计算机 (Member /Lieutanent)可能因系统错误并交换错的讯息,导致影响最终的系统一致性。
拜占庭将军问题就根据错误计算机的数量,寻找可能的解决办法,这无法找到一个绝对的答案,但只可以用来验证一个机制的有效程度。
而拜占庭问题的可能解决方法为:
在 N ≥ 3F + 1 的情况下一致性是可能解决。其中,N为计算机总数,F为有问题计算机总数。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
1)系统运转可以脱离币的存在,pbft算法共识各节点由业务的参与方或者监管方组成,安全性与稳定性由业务相关方保证。
2)共识的时延大约在2~5秒钟,基本达到商用实时处理的要求。
3)共识效率高,可满足高频交易量的需求。
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据
下面说两个国产的吧~
4.dBFT: delegated BFT 授权拜占庭容错算法
介绍:小蚁采用的dBFT机制,是由权益来选出记账人,然后记账人之间通过拜占庭容错算法来达成共识。
此算法在PBFT基础上进行了以下改进:
将C/S架构的请求响应模式,改进为适合P2P网络的对等节点模式;
将静态的共识参与节点改进为可动态进入、退出的动态共识参与节点;
为共识参与节点的产生设计了一套基于持有权益比例的投票机制,通过投票决定共识参与节点(记账节点);
在区块链中引入数字证书,解决了投票中对记账节点真实身份的认证问题。
优点:
1)专业化的记账人;
2)可以容忍任何类型的错误;
3)记账由多人协同完成,每一个区块都有最终性,不会分叉;
4)算法的可靠性有严格的数学证明;
缺点:
1)当有1/3或以上记账人停止工作后,系统将无法提供服务;
2)当有1/3或以上记账人联合作恶,且其它所有的记账人被恰好分割为两个网络孤岛时,恶意记账人可以使系统出现分叉,但是会留下密码学证据;
以上总结来说,dBFT机制最核心的一点,就是最大限度地确保系统的最终性,使区块链能够适用于真正的金融应用场景。
5.POOL验证池
基于传统的分布式一致性技术,加上数据验证机制。
优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证。
缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式。

热点内容
xrp怎么注册 发布:2025-06-18 03:50:56 浏览:135
有收益区块链概念股 发布:2025-06-18 03:45:51 浏览:568
元宇宙域名盘古 发布:2025-06-18 03:31:09 浏览:181
显卡3090算力 发布:2025-06-18 03:31:07 浏览:844
推广数字货币合法吗 发布:2025-06-18 03:11:53 浏览:485
以太坊价格2019年底 发布:2025-06-18 03:05:53 浏览:322
亚元区块链交易 发布:2025-06-18 02:52:17 浏览:49
hiv筛查去疾控中心还是医院 发布:2025-06-18 02:30:25 浏览:635
河南恒力矿机有限公司电话 发布:2025-06-18 02:24:35 浏览:446
币圈如何操作做空 发布:2025-06-18 02:17:24 浏览:485