我原本以為有趣的部分會是比特幣區塊雜湊本身。結果卻是巴比倫所期望的大小。
起初聽起來像是一般的實作細節。區塊雜湊有既定的格式,因此定義它預期的大小幾乎顯得多餘。當我花更多時間,將驗證邏輯和檢查點處理以及比特幣整合一起閱讀後,我開始用另一種角度看待它。
像巴比倫這樣的協定,仰賴來自另一條鏈的資訊在傳遞過程中不改變其意義。每一個檢查點、每一份證明,以及每一位驗證者的決策,都建立在一個前提之上:正在處理的資料必須確實符合比特幣實際產生的內容。如果像區塊雜湊的預期大小這麼基本的事情都被隨意對待,則其上每一層都會繼承更多不確定性。
拿它和巴比倫如何驗證創世資料、並從頭重建狀態做比較之後,這就變得更有意思了。網路會投入令人驚訝的努力來拒絕那些看似幾乎正確的資訊,因為「幾乎正確」就足以讓狀態在參與者之間分裂。小小的驗證規則,實際上就是協調規則。
我也一直在想營運成本。越早在可能的步驟中拒絕格式不正確的資料,就越便宜;不讓它通過驗證儲存與共識流程之後才發現錯誤。這個價值不僅是安全性。它也是在每一位驗證者之間可預測的資源使用。
我去尋找密碼學的線索,最後卻想到的是紀律。有時候,可靠性從拒絕處理那些只差一個位元組就會出錯的資料開始。
@BabylonLabs_io
#baby $BABY