PTT評價

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

看板DigiCurrency標題Re: [閒聊] 治理 分叉 開發 去中心化 的討論作者
azuel
(Observer)
時間推噓 9 推:9 噓:0 →:39

稍微談一下softfork和hardfork的差異,以及兩者分別的優劣

先打預防針這篇純粹談論客觀中性的知識
如果我還是會因此被抨擊,那... okay I'm fine


softfork和harkfork是有一個簡單客觀明確的差別,即:

a) softfork只能讓目前的規範同等嚴格、或是變得更嚴格,比如說blocksize 1mb的
限制只能維持、或是變得更小、或是在不觸及這個條件的範圍內去實作其他技術。

打個比喻來說,一條主要幹道的基本長寬不去變更,而是透過變更道路規劃、號誌
與轉彎專用道等"軟"方式來改善交通,好處是幹道上依附的店家不用打掉重練。

而Harkfork可以改動硬限制,可以讓目前的規範放寬,可以打掉整條幹道去重新做
都市規劃。

我相信這個比喻並沒有貶低hardfork,如果有需要的時候,BTC也可能迎來hardfork。

b) softfork因為對於硬限制不改動,因此對於舊版本會有比較完整的向下相容,
hardfork的假設則是使用者都會更新到最新版本,否則不能相容新的硬規定。

但是對於舊版本的支援,就會造成共存版本的碎片化,也就是BTC有各種不同地址格式 的問題,舊版本一樣不支援新的softfork的好處,舊版本一樣會因為太舊而有安全性 的疑慮。

而hardfork如果有意識地維護到前後版本的銜接性,也不見得會有不相容的問題。

也就是如果街道不打掉的話,街邊老店比較容易存續,街道整個打掉的話,如果規劃 得好,老店可能受到的影響不太大。

缺點就是如果規劃沒有很好,老店的影響就比較大。

而hardfork如果不是基於共識,如果不是整個街道的人同意原地打掉重建同一條街的 話,實質上就變成了新街道與舊街道共存。

新的街道等於是在舊街道旁邊設立一個跟舊街道大部分相同、但是某些規則是自己想 要的方式,來跟舊街道競爭,然後要街道邊的店家選邊站。

用另一個比喻來說的話,就像太陽餅一大堆分家都說自己正宗一樣的感覺。

實際的案例是BSV從BCH分裂出來,回頭跟BCH競爭一樣,BSV宣稱自己是正宗。

至於到底哪一間是老店,有的人可能看店號誰久遠,有的人可能看製作的老師傅在誰 家,至於有的人可能就是爽吃哪家吃哪家、哪家符合口味就吃。



為什麼會有這種現象?

因為blockchain的另一個本質在於"驗證"

在礦工、Dev、社群裡面,偏向技術方的人會認為礦工與Dev是最重要的

但其實Dev實作出來的更新、礦工產出來的區塊,都必須要經過節點的驗證
每一個節點都包含了全部的驗證規則,如果礦工產出的區塊不符合規則的話

就會被節點給拒絕。

節點必須要保持一致的規則,驗證出來的區塊才會被別的節點給接受。

不論這個節點是一個團隊做出來、還是好幾個團隊基於同一個規則,原則都是一樣。


如果真的有規則近似但是比較鬆的節點出現,並且有礦工用比較鬆的規則出塊呢?

這個節點就會比較長,因為舊有節點否決掉了新規則的出塊,新節點就算納入了舊規則
的區塊,也會造成新節點長得不一樣。

於是就會誕生兩個鏈,但是舊的節點會因此死掉嗎?這就不一定

因為原本的節點也會有原本的支持者,也會有原本的礦工出塊,也會持續運作。

經典的案例就是ETH hardfork之後,原本的"舊ETH"本應該要死了,但節點和礦工還在
運作,因此舊規則的ETH被改名成為ETC。

新舊誰好是不一定的事情,ETC是老字號但是打不贏ETH,BSV是新品牌但是打不贏BCH。


當然ETC之後,ETH還是經歷過了幾次的hardfork,都沒有再發生一樣的事情,多少也
顯示了早期ETC事件留下來的經驗,對於後續hardfork有比較完善的處置。


BTC採取了softfork的方式,而BCH採取了hardfork為主。

雙方的理念在2017年分歧,BTC認為要在遵守Satoshi離開前下的1mb限制之下往白皮書的理想去,BCH認為1mb的限制是對於共識hardfork的一種考驗,要透過合力拆開這個限制
才是達成了白皮書的理想。


我盡力中立了,但我想...

being neutral is too left for the far right, too right for the far left.

( ′_ゝ`)

--

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

ybite06/13 12:24下一個問題是 誰代表BTC?

jerejesse06/13 13:07寫得很好呀 對於兩種分岔的分別更清楚了

jerejesse06/13 15:18想另外確認,採用軟硬兩種分叉和是否有bitcoin-core的

jerejesse06/13 15:18commit權限會有關系嗎?如果有權限的話BCH當初有沒有可

jerejesse06/13 15:19能用softfork?

這一點需要反過來說 large block陣營想要達到的目的,必須要透過hardfork來達成 因為large block陣營要做的事情是拆掉1mb block size limit 就上面我所述的客觀情況來說,一旦block size超過了1mb,所有的node都會拒絕驗證 所以只有兩種結果,一個是所有人都同意變更版本變更規範、拋棄舊的規則 一個是新的規則產生新的鏈,無視舊的鏈是否運行 並且假定因為新的比較好,隨著時間舊鏈會被拋棄,自然淘汰 所以兩種都是hard fork,兩種都嘗試過 如果並沒有發生權限事件,並且large blocker成功推行了前者的話 那就會變成"有共識的hard fork",因為所有人都一起把整條街打掉 會發生權限的事件也表示共識沒有達成,所以守住舊規則的支持者維持了原本的規範 希望推行新規範的支持者,則是把規則修改之後走了後者,成立了新的chain 當然我這裡並不打算對於BCH的支持者所說"我們才是正統Bitcoin"的主張有異議 但是在那一個時間點之前的規則、和那個時間點之後的規則是一個客觀的衡量 一個是原本的規則,一個是新規則,兩個都並存 所以BCH是新的chain BCHers一樣可以主張"我們才是正統",這一點我不主張反對

※ 編輯: azuel (61.231.70.185 臺灣), 06/13/2022 15:54:44

kckckckc06/13 15:50commit權跟軟硬分叉怎麼會有牽扯xDD

任何問題都是好問題,釐清細節永遠都是好事

※ 編輯: azuel (61.231.70.185 臺灣), 06/13/2022 15:57:01

jerejesse06/13 15:57是沒有牽扯沒錯XD 只是因為在相近的時間點發生想釐清一

jerejesse06/13 15:57

DarkerDuck06/13 17:28除了BTC以外的幣幾乎都是用硬分叉升級的

DarkerDuck06/13 17:29softfork其實是blockstream在無共識狀態下方便硬幹罷

DarkerDuck06/13 17:29因為softfork根本不用壓倒性共識就可以硬推

DarkerDuck06/13 17:30"任何型態"的升級,甚至是要擴容也是可以的喔

不行,1mb block size limit不能透過softfork改變 (edited : 不能變大) 但是對的,segwit透過不改變block size limit去達到擴容 以及擴容可能在不改動block size的情況下達成

DarkerDuck06/13 17:30像是segwit它把簽章搬到1MB的區塊外部了

DarkerDuck06/13 17:32https://i.imgur.com/4rRAG1v.png

DarkerDuck06/13 17:32可以得到等效4MB的區塊空間

DarkerDuck06/13 17:32然後說主鏈擴容到2MB就會爆炸

DarkerDuck06/13 17:35https://i.imgur.com/QkAzJmf.png

DarkerDuck06/13 17:35Blockstream就是整天瞎掰又不准別人說真相

(DarkerDuck 刪除 DarkerDuck 的推文: )

DarkerDuck06/13 17:45https://i.imgur.com/vj1QYRh.png

DarkerDuck06/13 17:46連我也都是早就被Blockstream ban了

ybite06/13 17:46Soft 跟 Hard fork 的差別在要不要求所有人升級客戶端

ybite06/13 17:46但升級這件事其實不是什麼大不了的事

ybite06/13 17:47各種跡象看起來 擋人財路才是主因

DarkerDuck06/13 17:47不需要升級所有客戶端,大部分的人錢包都是SPV錢包

DarkerDuck06/13 17:48只存有私鑰而不需要主導驗證區塊鏈的進行

DarkerDuck06/13 17:48只有那種有要負責驗證區塊鏈的節點才需要升級

ybite06/13 17:48所以更沒藉口了XD

DarkerDuck06/13 17:49像是之前BSV hardfork出來BCH就很亂搞

DarkerDuck06/13 17:49交易格式根本一模一樣,SPV錢包根本不曉得自己哪條鏈

DarkerDuck06/13 17:50不像是BCH當初叉出來的還明確加了transaction flag

DarkerDuck06/13 17:51再說一次除了BTC以外的幣幾乎都是用硬分叉升級的

DarkerDuck06/13 17:53因為沒有壓倒性的共識,那還升級個鳥???

有壓倒性的共識,不代表就必須要實行hard fork taproot證明了softfork也需要有壓倒性的共識 JeremyRubin想順勢強推bip 119沒辦法過,也證明了softfork沒有壓倒性的共識不能過

DarkerDuck06/13 17:54不需要所有節點都更新軟體就更改驗證規則

DarkerDuck06/13 17:54那就是一種"dirty"作法

DarkerDuck06/13 17:55無論是技術上還是政治上都是,專門噁心人的

DarkerDuck06/13 17:56還有當初通過礦工的是segwit2x

DarkerDuck06/13 17:58https://i.imgur.com/GRNy70h.jpeg

DarkerDuck06/13 17:58有2X喔,當初也有一派天真的Core支持者說會來的

DarkerDuck06/13 18:005年過去了,看來大家都忘記了,我幫大家回憶喔

DarkerDuck06/13 18:00基本上我認為BTC永遠不可能擴容的了

DarkerDuck06/13 18:01本來有理想社群基本上已經完全毀滅,沒人會去質疑的

诶您不考慮用回文的嗎

※ 編輯: azuel (61.231.70.185 臺灣), 06/13/2022 18:01:52

DarkerDuck06/13 18:03我想到啥就寫啥,晚上才會寫比較完整的

jerejesse06/13 18:14像截圖的這種歷史性(?)投票結果有地方收錄嗎? 還是都

jerejesse06/13 18:15是當初個人截圖留存而已。

DarkerDuck06/13 18:15我都用google圖片搜尋

"有理想的社群"在BTC當然是存在的 曾經是Bitcoin XT支持者的Shinobi現在在Lightning protocol跟Blockstream對抗 推行BOLT 12協議,希望能解決LN現有的問題包括: 1. 必須要先放流動性、才能在流動性限制之內接收 2. 必須要發送方和接收方都hot online,或是LN wallet本身需要hot的問題 3. 中間節點流動性枯竭造成傳輸失敗的問題 bitcoin core node 23.0.0的direct contributor有113人 大部分都已經跟blockstream無關 Pieter Wuille都已經離開了blockstream了 dev archive活躍度持續上升

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/

在protocol之外有更多的人基於BTC堅硬的規則在推行溶入現實世界的賽局 包括能源問題、財政問題、金融問題,圍繞著BTC思考這些問題的社群也在擴大 理想也不見得就只是&只能是protocol 其實就是不同理想的人們分家了,BCHers認為自己的理想在BTC被BTCers毀滅了 這一點我不會幫blockstream或是subreddit說話 但是要說BTC的社群是"理想完全被毀滅",我覺得似乎不是事實 只是"理想"的定義已經不同 BCHers在BCH實現了理想,這是很好的事情,就正面去推行理想 然後讓其他人選擇要參與哪一種理想、要成為哪一個賽局均衡點的一份子了 既不是BTCer,也不是BCHer,而是這兩者以外的人要怎麼做選擇

DarkerDuck06/13 18:22https://tinyurl.com/y3sau8xt

jerejesse06/13 18:28原來是這組關鍵字 謝謝

※ 編輯: azuel (61.231.70.185 臺灣), 06/13/2022 19:04:01

tropotato06/14 08:43