当前位置:首页 » 区块链知识 » 区块链账本一致

区块链账本一致

发布时间: 2023-01-16 07:49:59

『壹』 区块链的共识机制

一、区块链共识机制的目标

区块链是什么?简单而言,区块链是一种去中心化的数据库,或可以叫作分布式账本(distributed ledger)。传统上所有的数据库都是中心化的,例如一间银行的账本就储存在银行的中心服务器里。中心化数据库的弊端是数据的安全及正确性全系于数据库运营方(即银行),因为任何能够访问中心化数据库的人(如银行职员或黑客)都可以破坏或修改其中的数据。


而区块链技术则容许数据库存放在全球成千上万的电脑上,每个人的账本通过点对点网络进行同步,网络中任何用户一旦增加一笔交易,交易信息将通过网络通知其他用户验证,记录到各自的账本中。区块链之所以得其名是因为它是由一个个包含交易信息的区块(block)从后向前有序链接起来的数据结构。


很多人对区块链的疑问是,如果每一个用户都拥有一个独立的账本,那么是否意味着可以在自己的账本上添加任意的交易信息,而成千上万个账本又如何保证记账的一致性? 解决记账一致性问题正是区块链共识机制的目标 。区块链共识机制旨在保证分布式系统里所有节点中的数据完全相同并且能够对某个提案(proposal)(例如是一项交易纪录)达成一致。然而分布式系统由于引入了多个节点,所以系统中会出现各种非常复杂的情况;随着节点数量的增加,节点失效或故障、节点之间的网络通信受到干扰甚至阻断等就变成了常见的问题,解决分布式系统中的各种边界条件和意外情况也增加了解决分布式一致性问题的难度。


区块链又可分为三种:


公有链:全世界任何人都可以随时进入系统中读取数据、发送可确认交易、竞争记账的区块链。公有链通常被认为是“完全去中心化“的,因为没有任何人或机构可以控制或篡改其中数据的读写。公有链一般会通过代币机制鼓励参与者竞争记账,来确保数据的安全性。


联盟链:联盟链是指有若干个机构共同参与管理的区块链。每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。这类区块链被认为是“部分去中心化”。


私有链:指其写入权限是由某个组织和机构控制的区块链。参与节点的资格会被严格的限制,由于参与的节点是有限和可控的,因此私有链往往可以有极快的交易速度、更好的隐私保护、更低的交易成本、不容易被恶意攻击、并且能够做到身份认证等金融行业必须的要求。相比中心化数据库,私有链能够防止机构内单节点故意隐瞒或篡改数据。即使发生错误,也能够迅速发现来源,因此许多大型金融机构在目前更加倾向于使用私有链技术。

二、区块链共识机制的分类

解决分布式一致性问题的难度催生了数种共识机制,它们各有其优缺点,亦适用于不同的环境及问题。被众人常识的共识机制有:


l PoW(Proof of Work)工作量证明机制

l PoS(Proof of Stake)股权/权益证明机制

l DPoS(Delegated Proof of Stake)股份授权证明机制

l PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法

l DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法

l SCP (Stellar Consensus Protocol ) 恒星共识协议

l RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法

l Pool验证池共识机制


(一)PoW(Proof of Work)工作量证明机制


1. 基本介绍


在该机制中,网络上的每一个节点都在使用SHA256哈希函数(hash function) 运算一个不断变化的区块头的哈希值 (hash sum)。 共识要求算出的值必须等于或小于某个给定的值。 在分布式网络中,所有的参与者都需要使用不同的随机数来持续计算该哈希值,直至达到目标为止。当一个节点的算出确切的值,其他所有的节点必须相互确认该值的正确性。之后新区块中的交易将被验证以防欺诈。


比特币中,以上运算哈希值的节点被称作“矿工”,而PoW的过程被称为“挖矿”。挖矿是一个耗时的过程,所以也提出了相应的激励机制(例如向矿工授予一小部分比特币)。PoW的优点是完全的去中心化,其缺点是消耗大量算力造成了的资源浪费,达成共识的周期也比较长,共识效率低下,因此其不是很适合商业使用。



2. 加密货币的应用实例


比特币(Bitcoin) 及莱特币(Litecoin)。以太坊(Ethereum) 的前三个阶段(Frontier前沿、Homestead家园、Metropolis大都会)皆采用PoW机制,其第四个阶段 (Serenity宁静) 将采用权益证明机制。PoW适用于公有链。


PoW机制虽然已经成功证明了其长期稳定和相对公平,但在现有框架下,采用PoW的“挖矿”形式,将消耗大量的能源。其消耗的能源只是不停的去做SHA256的运算来保证工作量公平,并没有其他的存在意义。而目前BTC所能达到的交易效率为约5TPS(5笔/秒),以太坊目前受到单区块GAS总额的上限,所能达到的交易频率大约是25TPS,与平均千次每秒、峰值能达到万次每秒处理效率的VISA和MASTERCARD相差甚远。


3. 简图理解模式



(ps:其中A、B、C、D计算哈希值的过程即为“挖矿”,为了犒劳时间成本的付出,机制会以一定数量的比特币作为激励。)


(Ps:PoS模式下,你的“挖矿”收益正比于你的币龄(币的数量*天数),而与电脑的计算性能无关。我们可以认为任何具有概率性事件的累计都是工作量证明,如淘金。假设矿石含金量为p% 质量, 当你得到一定量黄金时,我们可以认为你一定挖掘了1/p 质量的矿石。而且得到的黄金数量越多,这个证明越可靠。)


(二)PoS(Proof of Stake)股权/权益证明机制


1.基本介绍


PoS要求人们证明货币数量的所有权,其相信拥有货币数量多的人攻击网络的可能性低。基于账户余额的选择是非常不公平的,因为单一最富有的人势必在网络中占主导地位,所以提出了许多解决方案。


在股权证明机制中,每当创建一个区块时,矿工需要创建一个称为“币权”的交易,这个交易会按照一定比例预先将一些币发给矿工。然后股权证明机制根据每个节点持有代币的比例和时间(币龄), 依据算法等比例地降低节点的挖矿难度,以加快节点寻找随机数的速度,缩短达成共识所需的时间。


与PoW相比,PoS可以节省更多的能源,更有效率。但是由于挖矿成本接近于0,因此可能会遭受攻击。且PoS在本质上仍然需要网络中的节点进行挖矿运算,所以它同样难以应用于商业领域。



2.数字货币的应用实例


PoS机制下较为成熟的数字货币是点点币(Peercoin)和未来币(NXT),相比于PoW,PoS机制节省了能源,引入了" 币天 "这个概念来参与随机运算。PoS机制能够让更多的持币人参与到记账这个工作中去,而不需要额外购买设备(矿机、显卡等)。每个单位代币的运算能力与其持有的时间长成正相关,即持有人持有的代币数量越多、时间越长,其所能签署、生产下一个区块的概率越大。一旦其签署了下一个区块,持币人持有的币天即清零,重新进入新的循环。


PoS适用于公有链。


3.区块签署人的产生方式


在PoS机制下,因为区块的签署人由随机产生,则一些持币人会长期、大额持有代币以获得更大概率地产生区块,尽可能多的去清零他的"币天"。因此整个网络中的流通代币会减少,从而不利于代币在链上的流通,价格也更容易受到波动。由于可能会存在少量大户持有整个网络中大多数代币的情况,整个网络有可能会随着运行时间的增长而越来越趋向于中心化。相对于PoW而言,PoS机制下作恶的成本很低,因此对于分叉或是双重支付的攻击,需要更多的机制来保证共识。稳定情况下,每秒大约能产生12笔交易,但因为网络延迟及共识问题,需要约60秒才能完整广播共识区块。长期来看,生成区块(即清零"币天")的速度远低于网络传播和广播的速度,因此在PoS机制下需要对生成区块进行"限速",来保证主网的稳定运行。


4.简图理解模式




(PS:拥有越多“股份”权益的人越容易获取账权。是指获得多少货币,取决于你挖矿贡献的工作量,电脑性能越好,分给你的矿就会越多。)


(在纯POS体系中,如NXT,没有挖矿过程,初始的股权分配已经固定,之后只是股权在交易者之中流转,非常类似于现实世界的股票。)


(三)DPoS(Delegated Proof of Stake)股份授权证明机制


1.基本介绍


由于PoS的种种弊端,由此比特股首创的权益代表证明机制 DPoS(Delegated Proof of Stake)应运而生。DPoS 机制中的核心的要素是选举,每个系统原生代币的持有者在区块链里面都可以参与选举,所持有的代币余额即为投票权重。通过投票,股东可以选举出理事会成员,也可以就关系平台发展方向的议题表明态度,这一切构成了社区自治的基础。股东除了自己投票参与选举外,还可以通过将自己的选举票数授权给自己信任的其它账户来代表自己投票。


具体来说, DPoS由比特股(Bitshares)项目组发明。股权拥有着选举他们的代表来进行区块的生成和验证。DPoS类似于现代企业董事会制度,比特股系统将代币持有者称为股东,由股东投票选出101名代表, 然后由这些代表负责生成和验证区块。 持币者若想称为一名代表,需先用自己的公钥去区块链注册,获得一个长度为32位的特有身份标识符,股东可以对这个标识符以交易的形式进行投票,得票数前101位被选为代表。

代表们轮流产生区块,收益(交易手续费)平分。DPoS的优点在于大幅减少了参与区块验证和记账的节点数量,从而缩短了共识验证所需要的时间,大幅提高了交易效率。从某种角度来说,DPoS可以理解为多中心系统,兼具去中心化和中心化优势。优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证。缺点:投票积极性不高,绝大部分代币持有者未参与投票;另整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的。


DPoS机制要求在产生下一个区块之前,必须验证上一个区块已经被受信任节点所签署。相比于PoS的" 全民挖矿 ",DPoS则是利用类似" 代表大会 "的制度来直接选取可信任节点,由这些可信任节点(即见证人)来代替其他持币人行使权力,见证人节点要求长期在线,从而解决了因为PoS签署区块人不是经常在线而可能导致的产块延误等一系列问题。 DPoS机制通常能达到万次每秒的交易速度,在网络延迟低的情况下可以达到十万秒级别,非常适合企业级的应用。 因为公信宝数据交易所对于数据交易频率要求高,更要求长期稳定性,因此DPoS是非常不错的选择。



2. 股份授权证明机制下的机构与系统


理事会是区块链网络的权力机构,理事会的人选由系统股东(即持币人)选举产生,理事会成员有权发起议案和对议案进行投票表决。


理事会的重要职责之一是根据需要调整系统的可变参数,这些参数包括:


l 费用相关:各种交易类型的费率。

l 授权相关:对接入网络的第三方平台收费及补贴相关参数。

l 区块生产相关:区块生产间隔时间,区块奖励。

l 身份审核相关:审核验证异常机构账户的信息情况。

l 同时,关系到理事会利益的事项将不通过理事会设定。


在Finchain系统中,见证人负责收集网络运行时广播出来的各种交易并打包到区块中,其工作类似于比特币网络中的矿工,在采用 PoW(工作量证明)的比特币网络中,由一种获奖概率取决于哈希算力的抽彩票方式来决定哪个矿工节点产生下一个区块。而在采用 DPoS 机制的金融链网络中,通过理事会投票决定见证人的数量,由持币人投票来决定见证人人选。入选的活跃见证人按顺序打包交易并生产区块,在每一轮区块生产之后,见证人会在随机洗牌决定新的顺序后进入下一轮的区块生产。


3. DPoS的应用实例


比特股(bitshares) 采用DPoS。DPoS主要适用于联盟链。


4.简图理解模式





(四)PBFT(Practical Byzantine Fault Tolerance)实用拜占庭容错算法


1. 基本介绍


PBFT是一种基于严格数学证明的算法,需要经过三个阶段的信息交互和局部共识来达成最终的一致输出。三个阶段分别为预备 (pre-prepare)、准备 (prepare)、落实 (commit)。PBFT算法证明系统中只要有2/3比例以上的正常节点,就能保证最终一定可以输出一致的共识结果。换言之,在使用PBFT算法的系统中,至多可以容忍不超过系统全部节点数量1/3的失效节点 (包括有意误导、故意破坏系统、超时、重复发送消息、伪造签名等的节点,又称为”拜占庭”节点)。



2. PBFT的应用实例


著名联盟链Hyperledger Fabric v0.6采用的是PBFT,v1.0又推出PBFT的改进版本SBFT。PBFT主要适用于私有链和联盟链。


3. 简图理解模式




上图显示了一个简化的PBFT的协议通信模式,其中C为客户端,0 – 3表示服务节点,其中0为主节点,3为故障节点。整个协议的基本过程如下:


(1) 客户端发送请求,激活主节点的服务操作;

(2) 当主节点接收请求后,启动三阶段的协议以向各从节点广播请求;

(a) 序号分配阶段,主节点给请求赋值一个序号n,广播序号分配消息和客户端的请求消息m,并将构造pre-prepare消息给各从节点;

(b) 交互阶段,从节点接收pre-prepare消息,向其他服务节点广播prepare消息;

(c) 序号确认阶段,各节点对视图内的请求和次序进行验证后,广播commit消息,执行收到的客户端的请求并给客户端响应。

(3) 客户端等待来自不同节点的响应,若有m+1个响应相同,则该响应即为运算的结果;



(五)DBFT(Delegated Byzantine Fault Tolerance)授权拜占庭容错算法


1. 基本介绍


DBFT建基于PBFT的基础上,在这个机制当中,存在两种参与者,一种是专业记账的“超级节点”,一种是系统当中不参与记账的普通用户。普通用户基于持有权益的比例来投票选出超级节点,当需要通过一项共识(记账)时,在这些超级节点中随机推选出一名发言人拟定方案,然后由其他超级节点根据拜占庭容错算法(见上文),即少数服从多数的原则进行表态。如果超过2/3的超级节点表示同意发言人方案,则共识达成。这个提案就成为最终发布的区块,并且该区块是不可逆的,所有里面的交易都是百分之百确认的。如果在一定时间内还未达成一致的提案,或者发现有非法交易的话,可以由其他超级节点重新发起提案,重复投票过程,直至达成共识。



2. DBFT的应用实例


国内加密货币及区块链平台NEO是 DBFT算法的研发者及采用者。


3. 简图理解模式




假设系统中只有四个由普通用户投票选出的超级节点,当需要通过一项共识时,系统就会从代表中随机选出一名发言人拟定方案。发言人会将拟好的方案交给每位代表,每位代表先判断发言人的计算结果与它们自身纪录的是否一致,再与其它代表商讨验证计算结果是否正确。如果2/3的代表一致表示发言人方案的计算结果是正确的,那么方案就此通过。


如果只有不到2/3的代表达成共识,将随机选出一名新的发言人,再重复上述流程。这个体系旨在保护系统不受无法行使职能的领袖影响。


上图假设全体节点都是诚实的,达成100%共识,将对方案A(区块)进行验证。



鉴于发言人是随机选出的一名代表,因此他可能会不诚实或出现故障。上图假设发言人给3名代表中的2名发送了恶意信息(方案B),同时给1名代表发送了正确信息(方案A)。


在这种情况下该恶意信息(方案B)无法通过。中间与右边的代表自身的计算结果与发言人发送的不一致,因此就不能验证发言人拟定的方案,导致2人拒绝通过方案。左边的代表因接收了正确信息,与自身的计算结果相符,因此能确认方案,继而成功完成1次验证。但本方案仍无法通过,因为不足2/3的代表达成共识。接着将随机选出一名新发言人,重新开始共识流程。




上图假设发言人是诚实的,但其中1名代表出现了异常;右边的代表向其他代表发送了不正确的信息(B)。


在这种情况下发言人拟定的正确信息(A)依然可以获得验证,因为左边与中间诚实的代表都可以验证由诚实的发言人拟定的方案,达成2/3的共识。代表也可以判断到底是发言人向右边的节点说谎还是右边的节点不诚实。


(六)SCP (Stellar Consensus Protocol ) 恒星共识协议


1. 基本介绍


SCP 是 Stellar (一种基于互联网的去中心化全球支付协议) 研发及使用的共识算法,其建基于联邦拜占庭协议 (Federated Byzantine Agreement) 。传统的非联邦拜占庭协议(如上文的PBFT和DBFT)虽然确保可以通过分布式的方法达成共识,并达到拜占庭容错 (至多可以容忍不超过系统全部节点数量1/3的失效节点),它是一个中心化的系统 — 网络中节点的数量和身份必须提前知晓且验证过。而联邦拜占庭协议的不同之处在于它能够去中心化的同时,又可以做到拜占庭容错。


[…]


(七)RPCA(Ripple Protocol Consensus Algorithm)Ripple共识算法


1. 基本介绍


RPCA是Ripple(一种基于互联网的开源支付协议,可以实现去中心化的货币兑换、支付与清算功能)研发及使用的共识算法。在 Ripple 的网络中,交易由客户端(应用)发起,经过追踪节点(tracking node)或验证节点(validating node)把交易广播到整个网络中。追踪节点的主要功能是分发交易信息以及响应客户端的账本请求。验证节点除包含追踪节点的所有功能外,还能够通过共识协议,在账本中增加新的账本实例数据。


Ripple 的共识达成发生在验证节点之间,每个验证节点都预先配置了一份可信任节点名单,称为 UNL(Unique Node List)。在名单上的节点可对交易达成进行投票。共识过程如下:


(1) 每个验证节点会不断收到从网络发送过来的交易,通过与本地账本数据验证后,不合法的交易直接丢弃,合法的交易将汇总成交易候选集(candidate set)。交易候选集里面还包括之前共识过程无法确认而遗留下来的交易。

(2) 每个验证节点把自己的交易候选集作为提案发送给其他验证节点。

(3) 验证节点在收到其他节点发来的提案后,如果不是来自UNL上的节点,则忽略该提案;如果是来自UNL上的节点,就会对比提案中的交易和本地的交易候选集,如果有相同的交易,该交易就获得一票。在一定时间内,当交易获得超过50%的票数时,则该交易进入下一轮。没有超过50%的交易,将留待下一次共识过程去确认。

(4) 验证节点把超过50%票数的交易作为提案发给其他节点,同时提高所需票数的阈值到60%,重复步骤(3)、步骤(4),直到阈值达到80%。

(5) 验证节点把经过80%UNL节点确认的交易正式写入本地的账本数据中,称为最后关闭账本(last closed ledger),即账本最后(最新)的状态。


在Ripple的共识算法中,参与投票节点的身份是事先知道的,因此,算法的效率比PoW等匿名共识算法要高效,交易的确认时间只需几秒钟。这点也决定了该共识算法只适合于联盟链或私有链。Ripple共识算法的拜占庭容错(BFT)能力为(n-1)/5,即可以容忍整个网络中20%的节点出现拜占庭错误而不影响正确的共识。



2. 简图理解模式


共识过程节点交互示意图:



共识算法流程:



(八)POOL验证池共识机制


Pool验证池共识机制是基于传统的分布式一致性算法(Paxos和Raft)的基础上开发的机制。Paxos算法是1990年提出的一种基于消息传递且具有高度容错特性的一致性算法。过去, Paxos一直是分布式协议的标准,但是Paxos难于理解,更难以实现。Raft则是在2013年发布的一个比Paxos简单又能实现Paxos所解决问题的一致性算法。Paxos和Raft达成共识的过程皆如同选举一样,参选者需要说服大多数选民(服务器)投票给他,一旦选定后就跟随其操作。Paxos和Raft的区别在于选举的具体过程不同。而Pool验证池共识机制即是在这两种成熟的分布式一致性算法的基础上,辅之以数据验证的机制。






『贰』 区块链共识机制之一:POW工作量证明机制

区块链可以理解为一个不可篡改的公共账本,所有参与者都能验证交易并进行记账,即为分布式账本。那到底由谁来记账?又如何保证账本的一致性、准确性呢?也就是区块链的共识机制是如何的?

区块链的共识机制就是解决由谁来记账(构造区块),以及如何维护区块链的一致性问题。目前区块链项目采用的共识机制有多种,如:POW工作量证明机制,POS权益证明机制,DPOS股份授权证明机制等等。本文说明POW工作量证明机制。

区块链的第一个成功应用比特币系统采用的POW工作量证明机制。即以比特币系统为例说明POW机制,首先比特币系统有一套激励机制让所有参与者竞争记账的权利,即谁拥有记账权谁将获取构造新区块的比特币奖励(目前奖励为12.5比特币),同时获取新区块内所有交易的手续费作为奖励。

参与者如何竞争记账权利呢?参与者通过自己的算力计算一道数学难题,谁先计算的结果,谁就拥有了记账的权利,也就可获得构造新区块的奖励。这道数学难题就是寻找一个随机数Nonce,使得对区块头的哈希计算的结果小于目标值,Nonce本身是区块头中的一个字段,所以通过不断的尝试Nonce的值,以满足区块头的哈希计算结果小于目标值。通过动态调整目标值,即可调整计算的Nonce值的难度。

关于哈希计算Nonce的过程通常类比为掷筛子游戏,基于参与游戏的筛子的个数通过调整掷得筛子的点数可调整游戏的难度。例如:100个人参与掷筛子,总共有100个筛子,要求掷得点数为100为赢,则100个人谁先掷得点数100即为胜利者,即拥有了记账权。如果发现大家掷出100点的时间太快,则可增加难度,要求掷得点数为80为赢。如果又有100个人参与游戏,则游戏中增加了筛子数,如:筛子数增加为200个,同样通过设置掷得点数来调整游戏的难度。

筛子类似于比特币网络的算力,掷得点数类似于比特币网络可动态调整的目标值。

区块链以最长的链条视为正确的链条,如果存在同时出现两个区块,会暂时并行记录两个区块,后续再生成的区块基于其中的某一个区块,将会形成的最长的链条作为一致性的链条,另外一个区块将会被丢弃,比特币是基于6个区块的确认,所以被丢弃的区块将不会获得比特币系统的奖励,也就是白白将竞争记账权的算力(电费)浪费了。基于工作量的激励,参与者必然尽最大能力构造正确的区块,也就是满足区块链的一致性。即全网的所有用户可以达成唯一的一致性的公共账本。

目前比特币系统全网算力已达到惊人的24.75EH/s,其中1E=1000P,1P=1000T,1T=1000G,1G=1000M,1M=1000K,1K=1000,H/s为每秒一次哈希计算(哈希碰撞),也就是每秒进行24.75E次哈希计算,且仍有持续的算力加入比特币系统。比特币记账权的竞争,提供算力的硬件从CPU,GPU,专业矿机,矿池。目前单机版的专业矿机已无法竞争到记账权,必须由多台矿机组合为矿池才能竞争到记账权。

『叁』 区块链中的数据存储通过什么完成超级服务器可信第三方

你好,区块链中的数据存储通过什么完成超级服务器可信第三方?区块链的主要角色是扮演 可信第三方,如搭建基于区块链的交易中心、数据中心等。 现有中心化方式建立一套公共数据库或者说建立多个企业数据库的连接,呈现出费用高、低效率、安全性低等缺陷。通常需要找到一个具有公信力的社会组织、权威的政府部门、或者是被认可的第三方行业的领军企业,来建立一个中心化的数据库,通过互动服务来完成数据的存储、交换和共享。在这种场景下,每个企业自己也有自己相关联的数据库系统,不同数据库之间的一致性、同步性需要与拥有共享数据库的第三方反复确认核验,甚至人工验证,导致共享数据的产生与复用的流程比较复杂和低效。另外,由于所有数据放在所谓权威的第三方,自然就存在外部攻击、内部员工窃取数据的风险,而一旦这个权威的中心服务器瘫痪就会导致所有与之相连的外部业务中断。这实际上是目前互联网服务商特别是巨头目前面临的潜在挑战,同时也是一颗定时炸弹。而区块链的核心能力是提供一致的账套,利用区块链技术替代这个第三方互联网服务巨头的角色,让多家企业使用同一套记账系统,记录同一个账本, 鉴于区块链数据库的一致性、历史的不可篡改,可以简化和变革业务流程,保护数据完整性,提高业务的运营质量与管理效率。并且某一个节点瘫痪时,也不会造成整个业务的中断。请参考!

『肆』 区块链最直白的解释

近几年,“区块链”一词成了大热门,新闻媒体竞相报道,但大家或许对于区块链的认知还停留在雾里看花的阶段,今天我们就来揭开它的神秘面纱。

其实区块链的本质特别简单,一句话就可以解释:去中心化分布式数据库。

区块链的主要作用是用于存储信息,任何人都可以将信息写入,同时也可以读取,所以它是一个公开的数据库。

区块链的特点

要说分布式数据库这种技术,市场上早有存在,可不同的是,区块链虽然同为分布式数据库,但它没有管理员,是彻底去中心化的。

去中心化是区块链技术的颠覆性特点,它无需中心化代理,实现了一种点对点的直接交互,使得高效率、大规模、无中心化代理的信息交互方式成为了现实。

但是,没有了管理员,人人都可以往里面写入数据,怎么才能保证数据是可信的呢?被坏人改了怎么办?设计者早已想到了这些,这也证明了区块链是真正划时代的产物。

区块

区块链由一个个区块(block)组成。区块很像数据库的记录,每次写入数据,就是创建一个区块。

每个区块包含两个部分:

区块头(Head):记录当前区块的特征值
区块体(Body):实际数据
区块头包含了当前区块的多项特征值。

生成时间
实际数据(即区块体)的哈希
上一个区块的哈希
...
系统中每一个节点都拥有最新的完整数据库拷贝,修改单个节点的数据库是无效的,因为系统会自动比较,认为最多次出现的相同数据记录为真。同时数据的每一步记录都会被留存在区块链上,可以溯源每一步的往来信息。

这里,你需要理解什么叫哈希(hash),这是理解区块链必需的。

所谓"哈希"就是计算机可以对任意内容,计算出一个长度相同的特征值。区块链的 哈希长度是256位,这就是说,不管原始内容是什么,最后都会计算出一个256位的二进制数字。而且可以保证,只要原始内容不同,对应的哈希一定是不同的。

举例来说,字符串123的哈希是(十六进制),转成二进制就是256位,而且只有123能得到这个哈希。(理论上,其他字符串也有可能得到这个哈希,但是概率极低,可以近似认为不可能发生。)

因此,就有两个重要的推论。

推论1:每个区块的哈希都是不一样的,可以通过哈希标识区块。
推论2:如果区块的内容变了,它的哈希一定会改变。

哈希的不可修改性

区块与哈希是一一对应的,每个区块的哈希都是针对"区块头"(Head)计算的。也就是说,把区块头的各项特征值,按照顺序连接在一起,组成一个很长的字符串,再对这个字符串计算哈希。

Hash = SHA256( 区块头 )

上面就是区块哈希的计算公式,SHA256是区块链的哈希算法。注意,这个公式里面只包含区块头,不包含区块体,也就是说,哈希由区块头唯一决定。

前面说过,区块头包含很多内容,其中有当前区块体的哈希,还有上一个区块的哈希。这意味着,如果当前区块体的内容变了,或者上一个区块的哈希变了,一定会引起当前区块的哈希改变。

这一点对区块链有重大意义。如果有人修改了一个区块,该区块的哈希就变了。为了让后面的区块还能连到它(因为下一个区块包含上一个区块的哈希),该人必须依次修改后面所有的区块,否则被改掉的区块就脱离区块链了。由于后面要提到的原因,哈希的计算很耗时,短时间内修改多个区块几乎不可能发生,除非有人掌握了全网51%以上的计算能力。

正是通过这种联动机制,区块链保证了自身的可靠性,数据一旦写入,就无法被篡改。这就像历史一样,发生了就是发生了,从此再无法改变。

『伍』 区块链和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、在区块链经济中不得不提到的就是账本,在每一个链上都有一个区块,账本也是无处不在的,同时这些账本并不是只记录交易,而是由一些规律的数据组合而成的。

2、从根本上来看,账本描绘了经济和社会关系。人们对事实及其变化达成一致(即对账本内容达成共识,以及对账本的精确性充分信任)是市场资本主义的基石。制度加密经济学给了我们一种工具用来理解区块链革命正在发生什么,以及我们无法预测的事情。

3、区块链经济也是区块链技术带来的一种现象,目前很多企业都采用了区块链技术,所以利用区块链技术产生的价值利益就可被称为是区块链经济,大环境下的经济体系也在发生变化,这些系统中离不开的都是账本,所以区块链经济有必然存在的价值。

『捌』 区块链一般概念摘要

虽然是个前端开发,但是阻挡不了我八卦各种热门的心。下面简单汇总下一些学习到的概念性东西。

1、区块链技术随比特币诞生,因此先了解比特币概念

2、比特币是什么

(1)、基于分布式网络的数字货币

3、比特系统运行原理

(1)、所有节点都会保存完整账本

(2)、账本保持一致性

4、区块链记账原理

hash函数在区块链技术中有广泛的运用

(1)、哈希函数hash:任何信息hash后会得到一个简短的摘要信息

(2)、hash特点:简化信息、标识信息、隐匿信息、验证信息

(3)、区块链记账会把时间节点的账单信息hash,构成一个区块

(4)、比特币系统约10分钟记账一次,即每个区块生成的时间间隔大约10分钟

(5)、记录下一个账单时,会把上一个区块的hash值和当前账单的信息一起作为原始信息进行hash

(6)、每个区块都包含了之前区块的信息,这些区块组合成了区块链

5、比特币的所有权-非对称加密应用

比特币系统使用了椭圆曲线签名算法,算法的私钥由32个字节随机数组成,通过私钥可以计算出公钥,公钥经过一序列哈希算法和编码算法得到比特币地址,地址也可以理解为公钥的摘要。

(1)、转账是把比特币从一个地址转移到另一个地址

(2)、地址私钥是非对称的关系,私钥经过一系列的运算(其中包含两次hash),就可以得到地址,但是从地址无法得到私钥

(3)、转账成功后广播其他节点,其他节点验证成功后再转发到相邻的节点,广播的信息包含了原始的信息和签名信息

(4)、验证,其他节点验证签名信息是不是付款方用私钥对交易原始信息签名产生的,如果是才记录(再验证有足够余额)

6、比特币如何挖矿

(1)、完成记账的节点可以获得系统给予的一定数量比特币奖励(这个奖励过程也就是比特币的发行过程,因此大家把记账称为挖矿)

(2)、一段时间内只有一人可以记账成功,因此需要收集没有被收集的原始交易信息,检查有没有余额、正确签名

(3)、为了提高记账难度,十分钟左右只有一人可以记账,hash结果需要若干0开头,并且进行hash时引入随机数变量

(4)、随着更多矿工的加入,游戏难度越来越大,计算难度加大,电力损耗等加大,国内电力成本低,中国算力占整个网络的一半以上

(5)、网络中只有最快解密的区块,才会添加到账本中,其他的节点复制,保证账本的唯一性。如果有节点作弊,导致整个网络不通过,则会被丢弃再也不会记录到总账本中。因此所有节点都会遵守比特币系统的共同协议。

【关于区块链会延伸到那些领域的思考】:

由以上的概念可以总结出,区块链技术存在这安全性、唯一性、去中心化。

原则上是可以避免部分信息泄露,让确认方既可以确认你的身份,又无需暴露自己的真是用户信息等。

目前区块链技术集中被运用再比特币,我觉得后续更大的意义应该在需要数据私密性、安全性的领域。

【关于区块链目前发展的瓶颈和局限性思考】:

由于每个节点都参与了整个账本记录活动,难免造成资源的浪费和损耗。以及加大了每个节点的计算难度,后续的发展和普及需要每个节点的硬件提升。

热点内容
币圈涨得最多倍的是什么币 发布:2025-05-08 18:37:32 浏览:925
没有工作要拿报到证去人才中心吗 发布:2025-05-08 18:35:31 浏览:621
李嘉诚怎样看比特币 发布:2025-05-08 18:31:46 浏览:260
去中心妇产科医院的路线 发布:2025-05-08 18:16:29 浏览:36
双挖eth收益 发布:2025-05-08 18:14:02 浏览:339
有在区块链投资平台血本无归的吗 发布:2025-05-08 18:08:15 浏览:194
微比特矿怎么更改矿池 发布:2025-05-08 17:37:07 浏览:310
广电运通是数字货币概念 发布:2025-05-08 17:25:03 浏览:382
币圈公链是什么意思啊 发布:2025-05-08 17:05:39 浏览:334
doge合集 发布:2025-05-08 17:05:04 浏览:855