1。什么是分叉选择规则,为什么它很重要?
分叉选择规则被客户端评价为功能,它以已查看区块等信息的集合为输入,并将"典型链"的内容输出给客户端。当这些数据集不在同一个节点时,分叉选择规则就会改变其结果。需要分叉选择规则,这是因为可能有多条有效的链可供选择(比如,若两个竞争区块母本相同,则同时分发)。
重组是一件一个特殊事件,在此次活动中,曾经是经典链的一部分的区块,已经不是经典链的一部分了,由于竞争激烈的区块战胜。在这种情况下,如果一个新区块能够成功地通过一个竞争链,那么这意味着它具有完全的可实现性。最终性意味着分叉的选择规则对于特定的块十分有利,以致于这个区块无法在数学中重叠(或者起码经济上行不通)。
欢迎加入欧易OKX,注册并登录App即可领取数字货币盲盒 最高可开出60,000元数字货币。 安卓下载APP教程: 下载安装5款App提示风险处理方法(大家按照自己手机功能尝试操作): 1.华为鸿蒙版:设置→搜索“纯净模式”→关闭 。 2.OPPO:设置→手机管家(自带)→支付保护→关闭所有软件的保护→成功下载安装APP之后再来打开保护 。 3.电信网络:打开飞行模式,用wifi下载安装APP 。 4.其他方法:关闭网络包括蓝牙、使用夸克浏览器或手机自带的浏览器下载安装、设置那里把病毒改成360等。 5.(华为手机等):设置→应用和通知→权限管理→安全和隐私→应用锁→信任此应用→再登录,就不再出现“风险”提示 。 6.下载好了APP,把数据流量都关掉再安装,出现无风险再打开流量继续安装即可! IOS下载APP教程: 欧易苹果APP下载:苹果手机下载APP需要海外苹果ID,可以在某宝上搜香港苹果ID,几块钱买一个然后登陆到商城去下载APP,下载完换回自己的苹果ID即可。 在一些分岔选择规则中(例如Tendermint),重组无法进行;分叉选择规则仅仅是通过增加任何已被BFT(Byzantine Fault Tolerance:拜占庭容错)共识和最后决定的块,对已有链进行扩充。如果一个新区块被发现,则该区块将成为下一个分叉选择规则。在其他分岔选择规则中,重组发生得十分频繁。
2。以太坊的现状如何?
以太坊等工作量证明(PoW)区块链上,我们通常会看到"最长链规则"(或者更准确地说,"最高总难度链规则")。在一个基于节点间关系的模型下,如果一个节点拥有多条相同类型或不同数量的区块,它就有可能被认为是最复杂的节点。这就意味着客户端在找到两个区块链的时候,它将选择总难度最大的(也就是这个链条上所有块难度总和)。
以实例为例,假定区块难度可能为100或者110,设想以下情景。
1。我们从难度为100的区块1开始同步。
2。区块2a与3a难度分别达到100,我们把它们插在自己的链上,形成总难300叉。
3。难度为110的区块3b到达,宣告2a是父亲的一方,形成总难310分。在该情况下,我们可以通过一个简单的方法来确定分支数和最大长度。叉子选择规则将注意到"最重"的链现在是第二叉,并且会切换至其。如果在这个节点处发生错误的话就会把所有的块都删除掉。这就是1个块重组,由于仅有的一块3a的变化。在此过程中,如果发生了两个以上的变化,则必须重新进行分叉选择。要知道这些块还不是全部抛弃的,由于新区块可能抵达,造成分岔的选择开关返回到第1个分岔。
4.2b和3c区块到达,每块难度为110分,产生新的分叉,总难320!如果在下一次迭代之前就能找到最好的解的话,那么这个分支将会比以前更容易得到。即分叉选择困难320分。如果要继续增加新分支的话,那么在这里就需要重新计算出所有节点的路径长度以及每一步所花费的时间。根据分叉选择规则,目前会用2b代替2a,用3c代替3b,这些是前一经典链的块。1至2块重组。
就知道这样做的结果了。若新块4a达到,宣告3a是他的父链,分叉选择规则会切换回到第一次分叉并如此循环。
3
受延迟影响,简短的改组总是进行着。因此,第一个矿工可以看到第二个矿工看到第一个矿工发现第二个矿工的时间间隔,从而知道哪个矿工更有希望得到订单。矿工A与矿工B也许会同时发现有效块,但是因为区块是通过p2p网络来进行传播,网络中部分块将先查看A块,另一部分会首先查看B区块。若两块难度一致,则有打平的可能,顾客们或随意挑选,要不就是选一个比较早见的块。因此,每个人总是有机会发现并访问更多的区块。一般是由第3名矿工C构建A块或者B块,平局终于打破了,而另外一块却忘得一干二净。有时候,运气不好也会导致2-5个区块的重新组合。超过这段时间的重组,几乎都是因为极端的网络故障,客户端不正确、或者恶意攻击导致。
短暂重组并不致命,但是它还是给网络带来了如下这些严重的后果。
节点成本:重组进行后,由于必须切换到新的分叉,也许是回滚交易,也许是对区块链状态的修改,于是就出现了这样那样的存储问题。
用户体验降低:再次分叉的可能性意味着用户需要等待更长的时间才能安全地将涉及到他们的交易视为"确认"。如果用户在等待期间发生了交易,他们会觉得不公平。这其中一个很重要的子案就是交易所和其他公司要等很长的时间,然后才能收到存款。
交易背景不确定:在用户发出交易的时候,他们对于这笔交易将会在何种情况下进行的确认性不高(比如近期N区块是否会恢复?值得注意的是它提高了DeFi交易对于意外失败、低于预期的交易结果或者有害MEV抽取的概率。
提高51%算力攻击概率:在由最长链规则所推动的体系中,若链中矿工由B1至B2重排序,则B1困难已不利于保证链安全。如果矿工们重新排列的话,它将导致更多的不可靠矿工加入。攻击者再也不用打败一切老实矿工了,他们只需打败未重新组合的诚实矿工中的一部分。这种方法使得攻击者能够更容易地将其所知道的信息传送给其他矿工。若经常改组,从而极大地简化了攻击者的任务。
|