第 2 層不是魔法咒語插图

如今,這個領域許多人回應任何有關比特幣協議變更的討論時普遍高喊的是“不要搞亂一層!” 你可以在 Layer 2 上建造它!” 這看起來是一件非常合乎邏輯的事情,對吧? 當您可以在 L1 之上進行建置時,為什麼要冒 L1 的安全穩定性的風險呢? 問題是這根本上無法理解第 1 層和第 2 層之間的關係。

L2 協定是 L1 協定的擴展。 L2 設計的所有功能最終都必須簡化為 L1 的功能。 「就在 L2 上做吧!」的籠統聲明。 在給定基礎層的當前狀態的情況下,混淆了 L2 上可以做什麼或不能做什麼的許多隱含現實。 例如,想像嘗試在不存在多重簽名腳本的情況下建立閃電網路。 你不能。 不可能在多個人之間共享控制權,且支付管道的整個概念也不可能實現。

支付管道的演變

支付通道之所以能夠存在,首先是因為比特幣的 L1 支援多人透過多重簽名腳本共享 UTXO 的控制權。 L2 上的可能性本質上受到 L1 上的可能性的限制; 是的,當然可以在 L2 上做一些在 L1 上不可能做的事情,但鏈下可以做的事情的最終限制因素是鏈上可以做的事情。 支付管道中更快的支付確認之所以可能,是因為鏈上託管可以在多人之間共享。

但即便如此,對於安全的支付管道來說,這還不夠。 最初的支付通道有一項使用 nLocktime 時間鎖的預簽名交易,該交易在經過多次區塊後將資金返還給資助者,並且僅支持一個方的支付通道。 交易的可延展性使得這些原有的支付管道使用起來不安全。 如果資金交易在確認前被他人惡意竄改,則退款交易將失效,資金提供者將無法收回資金。 渠道中的另一方可以有效地扣押他們的資金。

CHECKLOCKTIMEVERIFY(絕對時間鎖定操作碼)是解決方案。 CLTV 讓您讓代幣在未來某個區塊高度或某個時間之前無法使用。 這製作可以多種方式使用的腳本的能力相結合,使得多重簽名 UTXO 能夠擁有一個腳本路徑,資助者可以在時間鎖定後自行花費所有資金。 這保證了資助者能夠在最壞的情況下收回資金,即使資助交易受到惡意攻擊。 不過,該管道仍只能促進單向支付。

為了促進雙向支付,需要一個適當的交易延展性解決方案。 這是隔離見證的巨大動力。 時間鎖是單向通道所必需的,因為資金 僅有的 向一個方向增加。 發送者面臨的唯一風險是,對方永遠不會領取他們已經在鏈上發送的資金,從而使發送者的其餘資金被困。 時間鎖退款既讓接收者有動力在時間鎖之前在鏈上領取資金,否則他們將失去所有已發送的資金,並且發送者可以在最壞情況下追索,以防發生某些事情導致接收者永久離線。 腳本不支援對某些未來腳本強制執行一定金額,因此如果付款要雙向流動,則預簽名交易是唯一可行的初始退款機制。 這重新開啟了資金被扣押的風險。

隨著Segwit的升級,這個問題得到了解決。 引入了懲罰密鑰,取代了激勵誠實行為的時間鎖退款。 由於雙向通道中的資金可以在各個方向來回流動,因此不可避免地會出現雙方在通道先前狀態下的資金多於當前狀態的情況。 透過使用懲罰金鑰在每個通道狀態的預簽名交易中建立一個分支,用戶可以在簽署新狀態後交換這些交易,並知道如果對方嘗試使用舊交易,他們可以索取通道中 100% 的資金。 時間鎖用於確保使用者各自餘額的正常支出路徑在一段時間內無效,以便通路方有機會在必要時使用懲罰金鑰。 但這有一個問題,使用 CLTV 意味著在未來的某個時刻該頻道 關閉,否則時間鎖將過期,您將不再有安全期來懲罰不誠實的一方。

雙向支付通道也需要CHECKSEQUENCEVERIFY或相對時間鎖來解決這個問題。 與 CLTV 指定未來的特定時間或區塊高度不同,CSV 指定從腳本中使用 CSV 的 UTXO 在區塊鏈中確認的時間或區塊開始的相對時間長度或區塊數量。 這使得安全期可以用於懲罰密鑰的使用,而無需在預先確定的時間關閉鏈上通道。

但即便如此,我們也無法取得閃電網路。 目前仍然沒有辦法真正跨多個支付管道進行支付。 他們可以雙向進行支付,但只能在參與管道的兩個人之間進行。 您猜對了,為了跨多個管道進行支付,您需要 L1 的其他功能。 哈希時間鎖定合約是實現這一點的方式,它們需要 CLTV 和哈希鎖。 哈希鎖需要向哈希提供原像才能花費硬幣。 這就像簽名,只不過您實際上只是透露“私鑰”而不是用它簽名。 這允許閃電支付中的接收方提供哈希鎖,並且發送方和接收方之間的每個中間通道都會創建一個腳本,允許立即使用哈希原像進行支出,或者在時間鎖後向後退資金。 如果接收者洩露了哈希鎖,那麼每個人都可以領取用於轉發付款的資金,如果沒有,則可以向後領取並撤銷這筆資金,而無需最終確定。

因此,今天存在的閃電網路完全取決於 比特幣基礎層上的功能是可能的。 多重簽名腳本、絕對時間鎖、相對時間鎖、隔離見證和哈希鎖。 如果 L1 上沒有這些功能中的任何一個,我們今天所知的閃電網路就不可能是我們可以建立的 L2。 它作為 L2 的存在完全取決於 L1 執行某些操作的能力。 因此,如果有人想要在一個比特幣不支援散列鎖、腳本中的時間鎖且沒有延展性修復的世界中,只需「在第 2 層上建立雙向多跳支付通道系統! 我們不應該搞亂第一層”,這將是一個完全不連貫的說法。

捕獲

也就是說,嚴格來說,如果沒有 L1 上的這三個功能,仍然可以在那個世界中建立雙向多跳支付通道系統。 在一個 大量的 成本是指讓其他人相信他們不會偷你的錢,當他們有能力這樣做時。 聯合側鏈。 每個人都可以建立像 Liquid 或 Rootstock 這樣的聯邦鏈,並將這些功能添加到側鏈中,在那裡而不是在主鏈上建立閃電網路。 問題是,這不是同一件事。 在技​​術層面上,該網路的功能完全相同,但使用該網路的人實際上不會對其代幣擁有相同程度的控制權。

當他們關閉閃電通道時,它將落在由聯盟支持的側鏈上,即它只是其他人的多重簽名錢包之上的會計條目,您無法在 L1 上控制這些代幣。 你只需要相信經營聯邦的分散式團體不會欺騙所有人。 甚至驅動鏈(諷刺的是,它本身需要完成新的 L1 功能)最終也只是另一種形式的聯合,在退出過程中添加了一些額外的限制。 聯盟只是礦工,而不是持有私鑰的人。

無論他們是否理解,這都是隱含的現實,是「在 L2 上建構它!」的反應的基礎。 每當有人討論 L1 的改進時。 L2 上已經可以建構的範圍是相當有限的,並且受到其自身擴展限制的限制,然後還有尚不可能的範圍。 如果不插入最終控制使用者資金的可信任實體或實體群組,則屬於後一類的所有內容都是不可能建構的。

重點是什麼?

「第二層」並不是一個魔法咒語。 你不能只是揮舞魔杖並念誦咒語,任何事情都變得神奇可能。 L2 可以完成的任務有嚴格且不可避免的限制,而這些限制正是 L1 可以完成的任務。 當觀察像比特幣這樣的系統時,這只是工程現實的一個固有事實。 你無法以任何方式逃避它,除非你建造的 L2 的靈活性超出了 L1 的能力,並且越來越多地降低信任假設。

因此,當圍繞這些問題進行討論時,例如可以對 L1 進行哪些改進,有兩件事至關重要。 首先,對 L1 的這些改進幾乎完全集中在建造更靈活和可擴展的 L2 上。 其次,L2 無法神奇地實現一切。 基於 L1 的局限性,L2 有其自身的局限性,並且在不承認解決這些限制的唯一方法是引入可信實體的情況下討論 L1 的更改並不是誠實的對話。

如果我們要討論未來如何處理比特幣,那麼現在是時候開始承認現實了,否則除了否認現實和煤氣燈操縱之外什麼也不會發生。 但這是沒有成效的。

#第 #層不是魔法咒語