pos机H3什么意思(「底层:数学逻辑」区块链三段论(一))

快鱼网 33 0

底层:数学逻辑

简单的来说,底层区块链技术的核心是数学逻辑。

区块链是加密货币背后的技术,本身不是新技术,是一套密钥机制。大家可以把他理解成是一个公用账本,但是它 具有完全公开、不可篡改、防止多重支付等优点,并且不依赖于任何的可信第三方。

说人话[就是一套无法被篡改的数学密码方程式】

使用了具有 "哈希链" 形式的数据结构保存基础数据

"区块链"这个词是英文 Block Chain 的翻译, 如果从字面上理解, "数据块组成的链条" 就是以阐释它的基本内涵了。比特币区块链其实就是哈希链的一个变种(注意, 下文描述的这种添加随机数以及对随机数有特殊要求的规则是比特币为了实现工作量证明 Proof of Work 的共识机制而添加的, 并不是区块链的一个必要特征)。 怎么变? 添加一个随机数(Nonce)

假如现在有顺序产生的数据块 A, B , C 。 我们来这样计算hash头。 注意 “||” 表示拼接

h0= Hash(A|| Nonce0)

h1 = Hash(B || h0 || Nonce1)

h2 = Hash(C || h1 || Nonce2)

这里我们还添加一个额外的要求, 就是 h0, h1, h2 必须都得是以指定数目的0 bit开头的,例如要求每个哈希值都必须以5个0开头,则h0,h1,h2都应该是这样的形式(*****************)

添加了这个要求以后, h0, h1, h2就都不是那么容易计算的了, 因为你不能根据输出的形式来反推输入是什么, 而A, B, C又是给定的, 那只能不断更改Nonce来穷举计算, 然后找到一个可以满足要求的Nonce值 ,使得h0, h1, h2符合要求

到这里大家就知道所谓的矿工是在干什么了, 就是接受广播出来的数据块,然后计算当前最新的哈希链的头部, 当成功计算出了一个符合要求的Hash后, 就告诉所有人,自己找到了, 让别人再去计算下一个哈希头部。

其实到这里, 区块链的本质就已经差不多了, 假如网络中大家都默认遵守协议, 只在最长的哈希链后计算新的头部,那么一切都很好, 但是如果有人想搞不一样,那他就得拥有更强的计算能力, 在诚实者都遵守规则的情况下, 自己能够计算出一个链条分叉甚至说直接计算出一个新的链条,让大家都承认。

至于这个难度的证明,中本聪就是建立了一个泊松分布的概率模型, 假设了诚实结点计算出新的哈希头的概率p和不诚实结点计算出新的Hash头的概率q后,算出了一个N值。

这个N值的含义是给出了当一个新的哈希头部 h1 计算出来后,其后追加N个头部(h2,h3,h4....)后,网络才应该承认这个新的头部 h1. 因为此时, 攻击者要想成功发动攻击, 至少需要计算出一个长度大于N的分支, 这个概率在攻击者没有掌握全网算力50%的时候是很难达到的

说人话吧:所以到这里, 区块链就已经清楚了,就是一个密码学工具的一种巧妙应用,确认一个事物的唯一性编号。

有多个结点参与系统运行(分布式)。

说人话[可以把每次计算看做是一次马拉松跑步,每一个运动员都会抵达终点,只是顺序不同,每一个运动员就是那个分布式计算单元]

由于点对点网络下存在较高的网络延迟,各个节点所观察到的事务先后顺序不可能完全一致。因此区块链系统需要设计一种机制对在差不多时间内发生的事务的先后顺序进行共识。这种对一个时间窗口内的事务的先后顺序达成共识的算法被称为“共识机制”。

通过一定的协议或算法对于基础数据的一致性达成共识(共识协议/算法)。

链条情况说明,几种链的类型理解

私有链:封闭生态的存储网络,所有节点都是可信任的,如某大型集团内部多数公司。

行业链:半封闭生态的交易网络,存在对等的不信任节点,如房地产行业A、B、C、D公司。

公有链:开放生态的交易网络,这层主要是为行业链和私有链提供全球交易网络。

共识情况说明 目前主要有几大类共识机制:Pow、Pos、DPos、Pool、PBFT

说人话[可以把每次共识看做是一次马拉松跑步的一种名次记录规则,每一位到达的终点的选手依次看到自己前面一个运动员和后面一位运动员的号码记录下来,不同共识就是运动员记录前面2个和后面2个,不同人数的规则而已]

1、Pow工作量证明,就是大家熟悉的挖矿,通过与或运算,计算出一个满足规则的随机数,即获得本次记账权,发出本轮需要记录的数据,全网其它节点验证后一起存储;

优点:完全去中心化,节点自由进出;

缺点:目前bitcoin已经吸引全球大部分的算力,其它再用Pow共识机制的区块链应用很难获得相同的算力来保障自身的安全;挖矿造成大量的资源浪费;共识达成的周期较长,不适合商业应用

2、Pos权益证明,Pow的一种升级共识机制;根据每个节点所占代币的比例和时间;等比例的降低挖矿难度,从而加快找随机数的速度。

优点:在一定程度上缩短了共识达成的时间

缺点:还是需要挖矿,本质上没有解决商业应用的痛点

3、DPos股份授权证明机制,类似于董事会投票,持币者投出一定数量的节点,代理他们进行验证和记账。

优点:大幅缩小参与验证和记账节点的数量,可以达到秒级的共识验证

缺点:整个共识机制还是依赖于代币,很多商业应用是不需要代币存在的

4、Pool验证池,基于传统的分布式一致性技术,加上数据验证机制;是目前行业链大范围在使用的共识机制

优点:不需要代币也可以工作,在成熟的分布式一致性算法(Pasox、Raft)基础上,实现秒级共识验证;

缺点:去中心化程度不如bictoin;更适合多方参与的多中心商业模式

5、PBFT:Practical Byzantine Fault Tolerance,实用拜占庭容错算法。见前文拜占庭容错算法介绍。

PBFT是一种状态机副本复制算法,即服务作为状态机进行建模,状态机在分布式系统的不同节点进行副本复制。每个状态机的副本都保存了服务的状态,同时也实现了服务的操作。将所有的副本组成的集合使用大写字母R表示,使用0到|R|-1的整数表示每一个副本。为了描述方便,假设|R|=3f+1,这里f是有可能失效的副本的最大个数。尽管可以存在多于3f+1个副本,但是额外的副本除了降低性能之外不能提高可靠性。

在使用共识机制,保证数据一致性时的巨大优势(共识机制则是Ripple首先提出的,数据正确性优先的网络交易同步机制,在共识网络中,无论软件代码怎么变动,无法取得共识就无法进入网络,更不要提分叉了)。

——————————————————

虽然共识机制绝对能确保任何时候都不会产生硬分叉。但是,这种机制的缺点也比较明显,那就是要取得与其他节点的共识,明显要比当前Bitcoin网络漫长的多。极端情况下,在Ripple共识机制网络中掉线的后果也是很恐怖的。

有可能你家停电一天,第二天整个系统就再也无法与其它Rippled节点取得共识了(共识机制事实上需要超过80%的节点承认了你的数据,你的提交才会被其它节点接受,否则就会被排它的拒绝连接),甚至只能清空自己全部500多GB数据重新同步才能连上其它Ripple节点。

所以目前来说,现有的Rippled端并不适合民用(商用的话影响就比较小,比如RL自己的Rippled节点托管在亚马逊云数据中心,长时间无响应是可以高额索赔的,而且那种地方除了大型灾害几乎不会断),这也是RL一直想改进的方面之一。

喜欢我的小伙伴可以私信我.

文∣猩猿意马

编辑∣猩猿意马

?本文版权归“猩财经”所有

部分图片来自网络

标签: 共识

抱歉,评论功能暂时关闭!