默认情况下,
区块链网络中的参与者都认可“难度”最大的链,或者说是其中包含最多区块的链,也就是“规范的账本”。让每个人都对该“规范的账本”达成共识,这就是区块链中数字所有权背后真正的推动因素。如果明天一个新的账本被接受为真正规范的账本,而上面没有记录你的交易或
加密货币,那你就遭受损失了,也不能再参与到该系统中了,因为该系统不再承认你的“所有权”,尽管你有一个本地副本。
上述情况适用于所有基于最长链规则的区块链协议 (比如当前的
比特币和
以太坊)。但这些协议的安全保证并不是绝对的。在这些协议中,不能保证你的交易永远不会被逆转,也不能保证比特币协议中不会出现一条新的、更长的链。也就是说,工作量证明区块链的安全性概念是概率性的。运行的时间越长,生成的区块越多,那你的交易被逆转的可能性就越小。某条工作量证明链 (如比特币) 运行的时间越长,存在于该链上的以前的交易被逆转的可能性就越低。这一概念就成为结算的确定性 (settlement finality)。
交易逆转或者链分裂属于区块链分叉这一更大的现象范畴:在区块链分叉中,网络的一部分参与者对哪个才是“规范的账本”有着不同的信念。分叉可能对数字所有权产生巨大的影响,因为它是一个高度社会化的过程,可能由于各种原因而发生。在以太坊网络中,为了升级网络和添加新特性,网络会进行预定的分叉。有时会发生有争议的分叉,即一些不同意对网络协议进行更改的人会决定说服网络中的部分参与者来分叉出一条新链 (比如比特币现金就是从比特币核心链中分离出来的一个非常有争议的分叉链)。
但是分叉并非一种非同寻常的情况。事实上,由于网络状况的原因,比特币几乎每隔一段时间就会发生分叉。由于不是每个人都可以同时看到传播的区块,两个矿工都可能会创建出完全有效的区块,但是最终只有一个区块将会获得比特币协议的奖励。
区块链网络并不完美,因为世界上任何人都可以运行一个节点:由于各种互联网连接和延迟问题,区块通常需要更长的时间才能在更大的区块链网络中进行传播,这就在各矿工对区块达成共识的时间间隔内为出现潜在的分叉提供了更多的时间。
以太坊网络最近的区块传播所需时间
那些有效但不被包含在网络中大多数人接受的账本之中的区块就称为孤块 (orphan block),在以太坊网络中也称为叔块 (uncle block)。在以太坊网络中,那些创建了叔块的矿工也会获得一点奖励,这些被创建出来的叔块在全部挖掘出来的区块中占的比例叫叔块率。
以太坊网络中的叔块率趋势图,其中以太坊叔块率在2017年底迎来了高峰。
叔块率还可以很好地反映当时的以太坊中的网络延迟和效率低下问题。也就是说,如果区块使用过多的 gas (即使用过多的计算),那这些区块的大小将更大,传播至全网络将需要花更长的时间,进而增加了出现更多叔块的概率。在高使用率的时候,区块链网络会变得拥挤,大量的叔块会以比平时更高的比例出现。
分叉和链重组的可能性就是 Coinbase 等交易所需要让你等待一段时间之后才能让你使用你接收到的币或者将你的币转移出交易所的原因,通常需要等待大约30个区块作为安全的确认时间框架,因为交易所会尽可能地确保降低用户丢失其资产所有权的可能性。
替代选择 & 相应的折衷之处
因此,在比特币和以太坊中,参与者只能增加他们的交易不会随着时间的推移而被逆转的可能性,但永远不可能100%确定不会被逆转。这个概念已经融入到区块链协议本身之中,因为这依赖于区块链网络决定哪个“真正”规范的账本就是那个包含最多区块和最多工作量的账本。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。