從概念到實踐:區塊鏈確定性的全面指南

進階Oct 15, 2024
本文討論區塊鏈中的最終性概念,分析不同區塊鏈系統如何實現最終性,以及相關的基本原理和挑戰。
從概念到實踐:區塊鏈確定性的全面指南

現實生活中的類比

就像我的“WTF是……”文章一樣,我喜歡用現實生活中的比喻來讓人們大致了解,如果他們不在乎基本細節,就可以離開。

對於這個話題,我們將使用隨時間乾燥的混凝土:

這就是區塊鏈上“終局性”在這個語境中的高層次含義。就像混凝土一樣,隨著時間從澆注(初始確認)到凝固(多次確認),初始區塊不再被認為是“真實”的難度逐漸增加,直到完全凝固(最終確認)。一旦達到那一點,幾乎是不可能的。

總結一下,只需記住步驟的順序:

已提交 -> 已確認 -> 已完成

如果這樣對你來說足夠讓你認為這個案件結案了,我邀請你點贊這篇文章,然後繼續你的一天。如果你想要對以太坊中的確定性的如何、為什麼進行深入研究,請繼續,我的朋友。

FINALITY NERD-OUT

好吧 - 讓我們試著在這個概念周圍建立一些結構並理解它。幸運的是,它給了我們一些東西可以從中建立,因為所有的組成部分都是隨著時間的流逝而產生的副產品,所以我們將利用這一點。

首先,讓我們用定義來完善我們的知識庫。

詞彙表

槽 (區塊時間):您可能會理解這個的替代名稱:區塊時間。槽或區塊時間是系統用來產生新的交易區塊並附加到當前的主鏈的時間。

示例插槽/區塊時間:

乙太坊 - 12 秒

基礎-2秒

  • Solana - 0.4秒
  • 確認:當您的交易正式被添加到已添加到當前鏈的區塊中時,這就是發生的情況。它現在被“確認”為帳本的一部分,隨著區塊被添加到您的區塊之後,它累積了額外的確認。
  • Epoch: 一串32個Slot。這是在區塊鏈中創建的次要結構,用於委派角色和責任。Slot用於構建區塊,而Epoch用於數據傳播、獎勵分配、驗證者選擇等等。
  • 檢查點區塊:這是在給定的時期內創建的第一個區塊,用作鏈歷史的鞏固參考點。

Finality:交易被認為已永久添加到特定鏈的帳本的點。然而,就技術屬性而言,不同鏈之間並不一致,因此在所有情況下都不應該假設相同。在以太坊生態系統中,只有在滿足以下條件時才使用此術語:

以太坊-當過了2個時期(~13分鐘)

樂觀的L2 - 當欺詐窗口過去了(約7天)

  • ZK L2 - 由於有效性證明提供的保證,存在兩個有爭議的最終確定時刻:本地(當在L2上生成證明時[約幾分鐘])和全局最終確定(當證明發布到以太坊並在那裡完成[約13分鐘])
  • 區塊重組(“Reorg”):這是指曾經被確認為帳本一部分的區塊,因為某種原因而不再被認為有效,並且新的區塊鏈已經形成。這通常伴隨著懲罰。

這裡有一個試圖以一幅圖像的方式呈現所有這些術語,以使它們更容易理解的嘗試:

如何確定性?

所以,既然我们已经有了确定最终性所使用的各个部分,那么它们是如何拼接在一起的呢?规则是什么?

對於以太坊

  1. 驗證人投票-每個時期(32個區塊窗口),驗證人將對當前和上一個時期的檢查點區塊進行投票,直到特定的檢查點區塊達到2/3的抵押票數。$ETH
  2. 合理的檢查點-一旦檢查點區塊達到2/3門檻,就被視為“合理化”
  3. Supermajority Link-當兩個後續檢查點塊a)被證明並b)連接在一起時,現在連接的已證明時期之前包含的塊變得最終。它們不再受到簡單重組的影響。

可视化

對於L2s

嗯,L2是建立在以太坊上的,所以它们基本上是相同的,对吧?

是的,親愛的讀者。回想一下我的發帖結構先前關於基於Rollups的帖子. L2 是自己的區塊鏈,但它們在最終結算方面依賴以太坊。這意味著答案和鏈本身一樣復雜。

這些層次分解為兩種最終性:

  1. 本地確定性-這是在 L2 本身內部的確定性,只有那些利用有效性證明(也稱為 ZK Rollups)的 L2 才能實現。這是因為有效性證明是基於數學的,證明本身的生成意味著它是正確的。由於這一點,一旦 ZK L2 生成其證明,L2 狀態可以被認為已經確定,而不需要等待證明被發布到以太坊並結算。請注意,這仍然存在風險和信任假設,但根據您的風險承受能力,可以以一定的信心進行。
  2. 全球最終性 - 在 L2 確認其本地狀態、生成證明(欺詐或有效性)、將該證明發佈到以太坊並且以太坊最終化了發布證明的區塊後,才能達到的狀態。即便如此,對於 L2 的樂觀子集,直到挑戰期過去之前,回滾的機會仍然存在。這是為了減少產生證明所需的計算而做出的一種折衷。

因此,如果L2是某種特定類型,它可以具有本地最終性,否則必須等到以太坊完成其發布的有效性證明(ZK)或詐欺證明的挑戰窗口過去(樂觀rollups)。

對於比特幣/工作證明

這實際上相當簡單-在比特幣特定的PoW實現中沒有最終性。對於它,誰產生最重的鏈頭(即產生足夠的區塊成為“最長”的鏈)就成為了正確的帳本。這意味著,儘管由於許多原因不切實際,但某人可以產生足夠的哈希來重寫比特幣歷史的最後一天,一周或一年。

儘管如此,這對於需要大量資源和時間來說是不切實際的,但是它區分了系統,實際上導致了一些獨特的 MEV 類型,例如“長程攻擊”和“區塊留存”,礦工可以生成(並隱藏)一個區塊,然後附加一個後續區塊,或者連續挖掘多個區塊,以創建和捕獲獨特的利潤機會。

可视化:

為什麼要有終極性?

所以,我們知道我們如何在加密貨幣中最大的權益證明鏈中達成最終性,但這似乎是很多工作 - 我們為什麼要這樣做呢?

嗯,它帶來了一些好處:

  1. 經濟安全 - 有一個系統(和我們)可以回顧並充滿信心地說它不會改變的觀點,讓生態系統參與者有信心對“真實的東西”採取行動。想想大額轉移和貸款。一旦你確定系統在沒有極端的、協定外的干預的情況下是無法改變的,它就會讓你有信心根據這個事實採取行動。這就是為什麼橋接通常在二級鏈上釋放資金之前等待 X 數量的確認或完全確定的原因。這讓我想到...
  2. 更快速的結算-因為有一個點讓事情正式成為永久,這意味著生態系統內運作的各方最終必須等待的最長結算時間,而在 PoW 系統中,這個點永遠不會到來,純粹是個人舒適度的考量。
  3. 減少攻擊向量-我們提到了在PoW鏈中啟用的少數MEV機會,但最終這只是在解決“無所不犯”的問題,即任何對系統惡意行為的人也有所失。如果您是驗證者,並嘗試更改已經最終確定的事情,則您將不得不違反協議規則,因此將面臨被削減份額的風險。

結論

為什麼我要談論最終性?我真的沒有主意 - 我只是最近聽到一些人提到它,意識到它是區塊鏈的一個經常被使用但不是深入理解的機制。

希望你喜歡它,記住:它只是你的區塊在系統中變得堅固,到某個時候它們會變得非常堅固。

免責聲明:

  1. 本文轉載自 [麵包], 原標題為[WTF is Finality?],所有版權歸原作者所有[@0xBreadguy]. 如果對此轉載有任何異議,請聯繫Gate Learn團隊將會立即處理。
  2. 責任聲明:本文中所表達的觀點和意見僅代表作者本人,並不構成任何投資建議。
  3. 文章的翻譯工作由Gate Learn團隊負責。除非另有說明,禁止複製、分發或抄襲翻譯後的文章。

從概念到實踐:區塊鏈確定性的全面指南

進階Oct 15, 2024
本文討論區塊鏈中的最終性概念,分析不同區塊鏈系統如何實現最終性,以及相關的基本原理和挑戰。
從概念到實踐:區塊鏈確定性的全面指南

現實生活中的類比

就像我的“WTF是……”文章一樣,我喜歡用現實生活中的比喻來讓人們大致了解,如果他們不在乎基本細節,就可以離開。

對於這個話題,我們將使用隨時間乾燥的混凝土:

這就是區塊鏈上“終局性”在這個語境中的高層次含義。就像混凝土一樣,隨著時間從澆注(初始確認)到凝固(多次確認),初始區塊不再被認為是“真實”的難度逐漸增加,直到完全凝固(最終確認)。一旦達到那一點,幾乎是不可能的。

總結一下,只需記住步驟的順序:

已提交 -> 已確認 -> 已完成

如果這樣對你來說足夠讓你認為這個案件結案了,我邀請你點贊這篇文章,然後繼續你的一天。如果你想要對以太坊中的確定性的如何、為什麼進行深入研究,請繼續,我的朋友。

FINALITY NERD-OUT

好吧 - 讓我們試著在這個概念周圍建立一些結構並理解它。幸運的是,它給了我們一些東西可以從中建立,因為所有的組成部分都是隨著時間的流逝而產生的副產品,所以我們將利用這一點。

首先,讓我們用定義來完善我們的知識庫。

詞彙表

槽 (區塊時間):您可能會理解這個的替代名稱:區塊時間。槽或區塊時間是系統用來產生新的交易區塊並附加到當前的主鏈的時間。

示例插槽/區塊時間:

乙太坊 - 12 秒

基礎-2秒

  • Solana - 0.4秒
  • 確認:當您的交易正式被添加到已添加到當前鏈的區塊中時,這就是發生的情況。它現在被“確認”為帳本的一部分,隨著區塊被添加到您的區塊之後,它累積了額外的確認。
  • Epoch: 一串32個Slot。這是在區塊鏈中創建的次要結構,用於委派角色和責任。Slot用於構建區塊,而Epoch用於數據傳播、獎勵分配、驗證者選擇等等。
  • 檢查點區塊:這是在給定的時期內創建的第一個區塊,用作鏈歷史的鞏固參考點。

Finality:交易被認為已永久添加到特定鏈的帳本的點。然而,就技術屬性而言,不同鏈之間並不一致,因此在所有情況下都不應該假設相同。在以太坊生態系統中,只有在滿足以下條件時才使用此術語:

以太坊-當過了2個時期(~13分鐘)

樂觀的L2 - 當欺詐窗口過去了(約7天)

  • ZK L2 - 由於有效性證明提供的保證,存在兩個有爭議的最終確定時刻:本地(當在L2上生成證明時[約幾分鐘])和全局最終確定(當證明發布到以太坊並在那裡完成[約13分鐘])
  • 區塊重組(“Reorg”):這是指曾經被確認為帳本一部分的區塊,因為某種原因而不再被認為有效,並且新的區塊鏈已經形成。這通常伴隨著懲罰。

這裡有一個試圖以一幅圖像的方式呈現所有這些術語,以使它們更容易理解的嘗試:

如何確定性?

所以,既然我们已经有了确定最终性所使用的各个部分,那么它们是如何拼接在一起的呢?规则是什么?

對於以太坊

  1. 驗證人投票-每個時期(32個區塊窗口),驗證人將對當前和上一個時期的檢查點區塊進行投票,直到特定的檢查點區塊達到2/3的抵押票數。$ETH
  2. 合理的檢查點-一旦檢查點區塊達到2/3門檻,就被視為“合理化”
  3. Supermajority Link-當兩個後續檢查點塊a)被證明並b)連接在一起時,現在連接的已證明時期之前包含的塊變得最終。它們不再受到簡單重組的影響。

可视化

對於L2s

嗯,L2是建立在以太坊上的,所以它们基本上是相同的,对吧?

是的,親愛的讀者。回想一下我的發帖結構先前關於基於Rollups的帖子. L2 是自己的區塊鏈,但它們在最終結算方面依賴以太坊。這意味著答案和鏈本身一樣復雜。

這些層次分解為兩種最終性:

  1. 本地確定性-這是在 L2 本身內部的確定性,只有那些利用有效性證明(也稱為 ZK Rollups)的 L2 才能實現。這是因為有效性證明是基於數學的,證明本身的生成意味著它是正確的。由於這一點,一旦 ZK L2 生成其證明,L2 狀態可以被認為已經確定,而不需要等待證明被發布到以太坊並結算。請注意,這仍然存在風險和信任假設,但根據您的風險承受能力,可以以一定的信心進行。
  2. 全球最終性 - 在 L2 確認其本地狀態、生成證明(欺詐或有效性)、將該證明發佈到以太坊並且以太坊最終化了發布證明的區塊後,才能達到的狀態。即便如此,對於 L2 的樂觀子集,直到挑戰期過去之前,回滾的機會仍然存在。這是為了減少產生證明所需的計算而做出的一種折衷。

因此,如果L2是某種特定類型,它可以具有本地最終性,否則必須等到以太坊完成其發布的有效性證明(ZK)或詐欺證明的挑戰窗口過去(樂觀rollups)。

對於比特幣/工作證明

這實際上相當簡單-在比特幣特定的PoW實現中沒有最終性。對於它,誰產生最重的鏈頭(即產生足夠的區塊成為“最長”的鏈)就成為了正確的帳本。這意味著,儘管由於許多原因不切實際,但某人可以產生足夠的哈希來重寫比特幣歷史的最後一天,一周或一年。

儘管如此,這對於需要大量資源和時間來說是不切實際的,但是它區分了系統,實際上導致了一些獨特的 MEV 類型,例如“長程攻擊”和“區塊留存”,礦工可以生成(並隱藏)一個區塊,然後附加一個後續區塊,或者連續挖掘多個區塊,以創建和捕獲獨特的利潤機會。

可视化:

為什麼要有終極性?

所以,我們知道我們如何在加密貨幣中最大的權益證明鏈中達成最終性,但這似乎是很多工作 - 我們為什麼要這樣做呢?

嗯,它帶來了一些好處:

  1. 經濟安全 - 有一個系統(和我們)可以回顧並充滿信心地說它不會改變的觀點,讓生態系統參與者有信心對“真實的東西”採取行動。想想大額轉移和貸款。一旦你確定系統在沒有極端的、協定外的干預的情況下是無法改變的,它就會讓你有信心根據這個事實採取行動。這就是為什麼橋接通常在二級鏈上釋放資金之前等待 X 數量的確認或完全確定的原因。這讓我想到...
  2. 更快速的結算-因為有一個點讓事情正式成為永久,這意味著生態系統內運作的各方最終必須等待的最長結算時間,而在 PoW 系統中,這個點永遠不會到來,純粹是個人舒適度的考量。
  3. 減少攻擊向量-我們提到了在PoW鏈中啟用的少數MEV機會,但最終這只是在解決“無所不犯”的問題,即任何對系統惡意行為的人也有所失。如果您是驗證者,並嘗試更改已經最終確定的事情,則您將不得不違反協議規則,因此將面臨被削減份額的風險。

結論

為什麼我要談論最終性?我真的沒有主意 - 我只是最近聽到一些人提到它,意識到它是區塊鏈的一個經常被使用但不是深入理解的機制。

希望你喜歡它,記住:它只是你的區塊在系統中變得堅固,到某個時候它們會變得非常堅固。

免責聲明:

  1. 本文轉載自 [麵包], 原標題為[WTF is Finality?],所有版權歸原作者所有[@0xBreadguy]. 如果對此轉載有任何異議,請聯繫Gate Learn團隊將會立即處理。
  2. 責任聲明:本文中所表達的觀點和意見僅代表作者本人,並不構成任何投資建議。
  3. 文章的翻譯工作由Gate Learn團隊負責。除非另有說明,禁止複製、分發或抄襲翻譯後的文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!