Re: [闲聊] 治理 分叉 开发 去中心化 的讨论

楼主: Ayukawayen (亚布里艾尔发芽>//<)   2022-06-13 22:04:06
想起以前看Vitalik讲UASF(使用者驱动软分叉)和UAHF(使用者驱动硬分叉)的文章的心得
软分叉和硬分叉的差别在:
软分叉后新节点产生的区块,未升级的旧节点也会接受。
硬分叉后新节点产生的区块,未升级的旧节点不会接受。
(包含非矿工的客户端,虽然只有矿工节点会产生区块。其他节点只接收并判断是否接受)
再考量旧节点产生的区块新节点是否接受就可以列出以下四种情形:
新节点 接受 旧节点的区块 新节点不接受旧节点的区块
旧节点 接受 新节点的区块 A B
旧节点不接受新节点的区块 C D
照此定义,AB是软分叉,CD是硬分叉。
UASF应该是B,目的是旧节点不必要升级,只需要足够矿工节点升级。
UAHF是D。
(状况A感觉有点像没有分叉,只是加了新协定,因为彼此的区块都可以接来接去)
结果就是
UAHF:
我的链比你短的时候,你不接受我的链。你的链比我短的时候,我不接受你的链。
我的链比你长的时候,你还是不接受我的链。你的链比我长的时候,我也还是不接受
你的链。
UASF:
我的链比你短的时候,你不接受我的链。你的链比我短的时候,我不接受你的链。
我的链比你长的时候,你会接受我的链。但你的链比我长的时候,我不接受你的链。
而且如果你的链现在比我长,但未来哪一天你的链比我短了一个单位(注:链的长短是
用难度判断而不是区块数),那你的链会被替换成我的链,相对地不管我的链比较短的
状态持续多久,我都不会换成你的链。
※ 引述《azuel (Observer)》之铭言:
: 经典的案例就是ETH hardfork之后,原本的"旧ETH"本应该要死了,但节点和矿工还在
: 运作,因此旧规则的ETH被改名成为ETC。
: 新旧谁好是不一定的事情,ETC是老字号但是打不赢ETH,BSV是新品牌但是打不赢BCH。
: 当然ETC之后,ETH还是经历过了几次的hardfork,都没有再发生一样的事情,多少也
: 显示了早期ETC事件留下来的经验,对于后续hardfork有比较完善的处置。
The DAO fork的背景是:确实没有共识而且未来也不会有共识,这个分歧比较是哲学性
而不是技术性的分歧。少数派即使知道自己是少数也不打算接受多数派的立场。
所以这次分叉的选项应该是对共识分歧的处理方式,而不是技术升级的处理方式。
和其他升级分叉的状况有所不同。
最后是硬分叉让没有共识的两个群体分开形成两条链。
(不过The DAO事件大概也不容易用软分叉解决)
Vitalik的意思大概是这样:
用软分叉处理共识分歧,等于强制少数派接受多数派的选择。
硬分叉后少数派还有一条比较小的链可以跑自己的规则,软分叉的话连小的链都没有了
,一定要留着照多数派的规矩跑(因为新节点产生的区块旧节点会接受,无法阻止新节点
区块上链)。
事实上这也没办法解决共识分歧,像BCH后来自己就硬分叉出新的链不跟多数派玩了。
作者: john371911 (醬廖)   2022-06-14 00:50:00
推。好复杂。

Links booklink

Contact Us: admin [ a t ] ucptt.com