比特幣很快就會迎來閃電技術新轉折

比特幣的閃電網絡可能剛剛開始在區塊鏈上發送交易,但它的開發商已經在尋求重新架構這項技術。

這是因為,雖然被吹捧為大幅提升比特幣容量的一種方式,但網絡本身確實需要用戶存儲大量數據,這使得下載和運行起來很困難。因此,一些閃電開發人員——閃電實驗室的聯合創始人'Laolu' Osuntokun和Blockstream的Christian Decker 和Rusty Russell發佈了一項新的提案,他們設想了一種“簡化”的方式來製造所謂的“eltoo” off-chain交易。

比特幣很快就會迎來閃電技術新轉折

但新的提議不僅是要壓縮用戶需要存儲的數據量,而且還要保證用戶的加密貨幣安全。

例如,所有這些數據都帶來了另一個問題:如果用戶不小心播放了舊數據,他們可能會賠錢。因此,這些數據被稱為“有毒信息”。

另一方面,Eltoo只存儲最近的off-chain交易數據,解決了眾所周知的“信息不對稱”問題——即如果你正在運行的閃電應用程序的設備發生了什麼事情,比如你的智能手機,你可能會失去對整個數據歷史的訪問權。

“有了eltoo,我們可以減少資金被沖走的風險,我們刪除了這些有害信息。” Decker說,該提案的名字是一個玩笑——“L2”的語音拼寫,意為“第二層”,也就是許多人稱之為技術的“閃電”,推動off-chain交易。

這是Decker自己親自經歷過的問題,因此非常感興趣。

“這實際上發生在我身上,”他說,並補充說:

“我的筆記本電腦上有一箇舊的閃電節點,我恢復了它,我不知道我沒有最新的狀態,這個人關閉了連接,因為他們知道這是一箇舊的狀態,因為他可以偷走它。 他也是這麼做的。”

關於撤銷

長期以來,開發人員一直在試圖為用戶提供一種使用比特幣進行大量交易的方法,而不需要使用不必要的數據來破壞區塊鏈。

這就是大多數的縮放辯論的內容。

但第一次嘗試是在比特幣歷史開始的時候,當時人們嘗試使用所謂的“序列號”來跟蹤off-chain交易是最近的情況。

這個想法很簡單。如果Alice有10美元,並向Bob發送1美元的交易,顯然她的餘額會減少到9美元。然後得到一個序號“1”。如果稍後,她發送Bob $4,她的餘額現在是$5,這個最近的交易序列號為“2”。

但根據Decker的說法,這一機制“沒有奏效”,因為礦工沒有任何理由去執行這些規則,並將舊的交易換成最近的交易。

礦工可以只播放Alice的餘額降至9美元這一筆交易(儘管她做了另一筆交易將餘額降至5美元)。雖然目前還不清楚為什麼一名礦工想要或決定不撤銷另一筆交易,但他們可以決定這麼做,因為沒有可執行性。

用這種方式,在關鍵時刻撤銷舊交易,否則Bob可能無法獲得第二筆交易,而Alice可以欠款潛逃。

這種“缺乏執行力”的問題直到2015年才得以解決。

到目前為止,閃電網絡是最著名的解決方案。今天,撤銷舊的狀態是用“L2-penalty”模型完成的,即一個閃電錢包或節點存儲所有這些中間狀態,然後,如果某人試圖播放一個更早的、現在無效的狀態,就會被檢測到,並且欺騙性的用戶會受到賠錢的懲罰。

Eltoo和L2

但是,三年過去了,研究人員實際上又回到了用序列號來撤銷舊交易的想法。

與比特幣的舊代碼不同的是,eltoo還添加了一種程序,使每個狀態更新都有規定。每個狀態更新——例如Alice向Bob發送貨幣——是由兩個事務組成的,每個事務都存儲並完全取代先前的更新事務。

“只有最後一筆結算交易可以在區塊鏈上得到確認。”

該系統的一個重要優點是它增加了閃電網絡的可擴展性。對於eltoo,每個閃電節點不需要存儲所有的中間狀態,相反,它只存儲最近的版本和關於事務本身的一些信息,例如它的相應的結算事務,以及從該解決方案中花費的HTLCs。

比特幣很快就會迎來閃電技術新轉折

也許是這個建議中最有益的部分,但它不是建立在“贏家通吃”的模式之上。

相反,eltoo和較舊的L2懲罰方案可以並排使用。

“Eltoo有完全不同的權衡。我不是說它在所有的體驗都很好。”Decker在CoinDesk上指著比特幣開發者郵件列表上的一些爭論說,這些技術增加了交易的等待時間。

不過,總體來說,他還是對Eltoo和L2帶來的網絡簡單性相當興奮,並補充道:

“我們不知道哪一個更好,但我也希望eltoo是更好的選擇。因為我認為eltoo更容易解釋,並更容易在以後得到擴展。”

代碼障礙

開發者不僅在討論這個建議的優點, 還在考慮要站在技術的角度上思考sighash_noinput"函數需要將這個期待已久的代碼選項添加到比特幣代碼庫中, 以便能夠是加密貨幣支持 eltoo (至少以有效的形式)。

要理解為什麼, 重要的是要知道基本的 sighash 函數是做什麼的。它是一個用作排序的標誌, 指定將事務數據轉移到其他人時需要簽名的部分。用戶可以從一系列選項中進行選擇。例如, 默認標誌 sighash_all 指示事務的所有部分都需要簽名, 這意味著在整個過程中都不能更改這些部分。

所提議的 "sighash_noinput" 函數可能會標記進入事務的 "輸入” 數據不需要簽名。反過來, 輸入數據可以隨著時間的推移而變化, 從創建事務到寫入區塊鏈的時候。

這正是 eltoo 需要的, 因為這個概念展示的是從開始和最終事務之間的所有狀態都將被刪除, 這意味著輸入將不同於開始和結束。

當被問及他是否認為 sighash_noinput 的建議將被合併到比特幣代碼庫中時, 他笑著說, "自從 SegWit以來, 我就不再做這些預測了。

他指出, 隔離見證(SegWit) 從比特幣最活躍的開發商中得到了廣泛的支持, 但最終在社區內激起了長達一年的戰鬥。儘管它是在兩年多前提出的,但代碼更改直到去年8月才添加到了比特幣上。

不過, 即使是在早期, sighash_noinput 函數對比特幣代碼庫來說也是一個相對容易變化的。此外, 據推測, 這一變化將對開發商產生許多積極影響,,他繼續說道:由於這些潛在的好處,一些Twitter用戶已經開始將代碼更改添加到他們的配置文件中,以表達他們對eltoo的支持。

仍然充滿希望, Decker總結說:“每天都有新的用例加入到sighash_noinput前沿。”

翻譯:曉熙


分享到:


相關文章: