PTT推薦

Re: [閒聊] 治理 分叉 開發 去中心化 的討論

看板DigiCurrency標題Re: [閒聊] 治理 分叉 開發 去中心化 的討論作者
Ayukawayen
(鮎川彥)
時間推噓 1 推:1 噓:0 →:0

想起以前看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後來自己就硬分叉出新的鏈不跟多數派玩了。


--
ethereum:0x09B25bd7d9B8dE2914C8314a2E0059A6a8ADEadE
polygon :0x09B25bd7d9B8dE2914C8314a2E0059A6a8ADEadE
smartbch:0x5a8B6db897003C8aFA62066d3bE876Fd8BBe9082

bitcoincash:qqjzmy6mjp8sp97c7thhflv9s2j96xk0q5pr26dftl
simpleledger:qqjzmy6mjp8sp97c7thhflv9s2j96xk0q5dcppcf4p

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.243.24.157 (臺灣)
PTT 網址
※ 編輯: Ayukawayen (111.243.24.157 臺灣), 06/13/2022 22:33:40

john37191106/14 00:50推。好複雜。