當前位置 : 快訊

比特幣共識層兩年未變 今年或將有這些升級

2020-01-08 10:06 作者: 轉載出處: 推薦人:admin

        兩年多以來,比特幣的共識層一直保持不變。自2017年8月“隔離見證”(SegWit)啟動以來,比特幣一直沒有進行硬分叉或軟分叉協議升級,這是迄今為止比特幣維持無共識分叉最長的一段時間。



       不過,這種狀態可能很快就會結束:幾個向后兼容的軟分叉目前正在開發中。樂觀地說,如果他們能從比特幣生態系統中獲得足夠的支持,其中一些可能會在2020年激活。


       本文羅列了那些可能是比特幣在新的一年……或者在新的十年里進行的協議升級。


      Schnorr/Taproot/Tapscript


       許多密碼學者認為Schnorr簽名是該領域中最好的密碼簽名類型。它們提供了很強的準確性,不受延展性的影響,驗證速度相對較快,而且可能最有趣的是,可以進行數學運算。對比特幣來說,其中一個優勢是:幾個簽名可以聚合成一個簽名,例如,這可以在經濟上刺激增強隱私的CoinJoin交易。


       在比特幣協議中加入Schnorr簽名的計劃已經進行了一段時間了。但在過去的一年里,致力于Schnorr簽名方案的開發人員,比如Blockstream的開發人員Pieter Wuille、Jonas Nick和Xapo的Anthony Towns,透露了更加雄心勃勃的計劃。Schnorr簽名將成為軟分叉協議升級Taproot的一部分,這是由Bitcoin Core貢獻者Gregory Maxwell提出的協議升級,它本身的靈感來自于一個更老的方案,稱為MAST(Merkelized Abstract Syntax Tree)。


       比特幣可以被鎖定,僅限在幾種不同的條件下使用,比如要求時間鎖(timelocks),即需要幾個參與者提供的秘密號碼才能解鎖這些比特幣。通過MAST,各個不同的條件都被哈希并包含在默克爾樹(Merkle Tree)中:一個緊湊的加密數據結構。這些幣會被鎖在默克爾樹的最后一個哈希里,也就是默克爾根(Merkle Root)。要花費這些幣,你只需要告知你最終使用的情況。這些幣可能被解鎖的其他方式將永遠被隱藏起來。


      Taproot則是基于一個有趣的部署:無論多么復雜,幾乎任何MAST結構都可以(或應該)包括一個條件,允許所有參與者就結果達成一致,并一起簽署一個結算交易。這種“協作結算”將覆蓋所有其他條件。


       Taproot利用這種部署并利用Schnorr簽名使協作結算看起來像一個常規交易。簡單來說,協作結算將使用一個聚合簽名來完成,它看起來就像一個普通簽名。在這個過程中,MAST結構完全不對外界公開!這有利于隱私和效率。


       Taproot可能還會附帶一個升級版的比特幣編程語言Tapscript,后續在比特幣編程語言中添加新功能(“操作碼”)也會變得更加容易。


       雖然開發人員仍在討論部署細節,但Taproot似乎沒有太大的爭議。


       “大共識清理”


       The Great Consensus Cleanup(大共識清理)是由Square Crypto開發者Matt Corallo提出的軟分叉。與大多數協議升級(包括本文所列的其他升級)不同的是,“大共識清理”并不打算用新功能或新的可能性來豐富比特幣。相反,正如其名字暗示的那樣,這個軟分叉將移除比特幣協議中的一些邊緣情況漏洞。


       這些漏洞具有很強的技術性,而且“雜草叢生”。例如包括需要大量處理能力才能驗證的邊緣交易類型、用于升級部分協議的冗余技巧,以及比特幣難度調整算法中的一個弱點。人們知道這些漏洞已經有一段時間了,但是人們普遍認為利用這些漏洞代價太大而無利可圖,或者當這些漏洞發生時相對容易對付。不過,修復這些漏洞會讓比特幣變得更健壯一些,同時也會讓比特幣開發變得更容易一些。


       反對“大共識清理”的主要理由可能是,從理論上講,某些升級可能會讓某些現有的幣(UTXOs)無法使用。盡管這種UTXOs根本不可能存在,但我們不可能確切地知道它們是否存在。一些人認為,讓這些幣無法花費是一種風險,從原則上講,這種風險永遠不應該冒。


       “Noinput類別”


       比特幣交易包含密碼簽名,用于證明公鑰的所有者確實希望在特定的交易中使用相應的比特幣。但并不是整筆交易都被簽署,對交易的哪一部分簽名是由一種叫做“sighash標志”的東西來指示的。


       Blockstream的開發者Christian Decker和Xapo的Towns提出了一類新的sighash標志,包含了SIGHASH_NOINPUT、SIGHASH_ANYPREVOUT和SIGHASH_ANYPREVOUTANYSCRIPT,它們提供了類似的解決方案,因此我們將所有這些都稱為“Noinput類別”。


       如果Noinput類別中的sighash標志包含在一筆交易中,就代表著輸出(交易的“接收”部分)和其他一些交易數據將被簽名,但不包括輸入(交易的“發送”部分)。如果不對輸入進行簽名,即使在對交易進行簽名之后,也可以換成不同但兼容的輸入。


       通常情況下,不會有其他兼容的輸入。簽名仍然對應于一個公鑰,而這個公鑰只對應于一個特定的幣(或者一部分)。換成隨機輸入會破壞這樣的連接并導致交易無效。


       但也有一些輸入是可以交換的例外。值得注意的是,一種名為Eltoo的新型閃電網絡支付通道協議的比特幣交易,可能需要將它們的輸入交換為另一個兼容的輸入。這將大大簡化執行支付通道的方式。最值得注意的是,漏洞和其他誠實的錯誤不會導致一個通道所有的資金損失,而且用戶可以使用更少的備份數據。


       Noinput類別的主要缺點是,如果使用不當,特別是SIGHASH_NOINPUT可能是不安全的。SIGHASH_ANYPREVOUT和SIGHASH_ANYPREVOUTANYSCRIPT解決了這個問題(并使其與Taproot兼容),但代價是增加了復雜性。有些人還建議OP_CHECKTEMPLATEVERIFY(見下文)或OP_cat(可以通過Tapscript重新啟用已被禁用的操作碼)也可以達到類似的目標。


       OP_CHECKTEMPLATEVERIFY


       OP_CHECKTEMPLATEVERIFY(CTV),曾被稱為OP_SECURETHEBAG,是由Bitcoin Core貢獻者Jeremy Rubin提出的一種新的操作碼。它的主要優勢是,可以幫助緩解比特幣在高峰時段的網絡擁堵和費用,有效提高網絡吞吐量。


       更具體地說,CTV將在某種程度上把一筆比特幣交易分成兩筆。交易的“發送”部分將包括輸入,基本上就是幣的來源地址。交易的“接收”部分包括輸出,基本上就是幣被發送到的地址。


       這兩部分將通過“發送”交易中包含的“提交輸出”(committed output)的特殊輸出相互綁定。提交輸出將包含一個加密哈希:一個看似隨機但相對較短的數字短字符,作為唯一的序列號,將其鏈接到“接收”交易。在“發送”交易中“發送”的幣只能由“接收”交易“接收”。


       關鍵在于,“發送”和“接收”這兩部分交易都被廣播到網絡中,兩者有重要的區別?!鞍l送”交易包括一筆相對較大的費用,以確??焖俅_認?!敖邮铡苯灰装ㄏ鄬^低的費用,這意味著可能需要一段時間才能確認。


       等待低費用交易的確認對交易的接收方來說應該不是什么大事。一旦“發送”交易被確認,就將確保所有的錢都到了“接收”交易。這些資金被固定在區塊鏈中,除了發放給接受者外不能有其他用途。


       如果接收方確實需要加快“接收”交易的速度,例如,因為他們必須重新花費這些幣,他們可以直接從未經確認的“接收”交易中支出資金。如果新交易的費用足夠高,那么“接收”交易和新交易都會很快得到確認。更有趣的是,CTV可以將“接收”交易分割成更小的交易,稱為樹支付(Tree Payment),以此來提高效率。


       反對CTV的主要理由可能是,可能有更好或更簡單的方法來完成相同的目標。一些人還認為Noinput類別或OP_cat就可以做到。


       驅動鏈BIP


       側鏈是“錨定”在比特幣區塊鏈上的區塊鏈,允許比特幣有效地在比特幣區塊鏈和側鏈之間來回移動。一旦幣到了側鏈上,它們就會遵守側鏈的協議規則。舉個例子,我們可以設置包含隱私功能的“Zcash側鏈”,包含智能合約的“以太坊側鏈”,或者低費用區塊鏈的“大區塊側鏈”。


       目前已經存在一些側鏈,最知名的是Blockstream的Liquid和RSK Labs的RSK。這些都是“聯盟側鏈”:比特幣的區塊鏈和側鏈之間的連接是由該領域知名公司組成的“聯盟”管理的。他們控制了比特幣區塊鏈上的一個多簽名地址,并通過集體簽名來“移動”比特幣。


        驅動鏈(Drivechains)將由比特幣礦工來保護:也就是比特幣區塊鏈的礦工。將資金從側鏈“轉移”回主鏈,需要在一段較長的時間內獲得大量的算力。此外,驅動鏈需要聯合挖礦,這意味著比特幣區塊鏈上的算力也保護了這條側鏈。


       為了實現這一點,Tierion開發人員Paul Sztorc和CryptAxe提出了兩個軟分叉。第一個被稱為Hashrate Escrows,它將在比特幣的區塊鏈合約中鎖定資金(將其“移動”到側鏈),只有在算力投票夠多的時候才能解鎖資金(將資金“移動”到比特幣區塊鏈)。第二個軟分叉叫做Blind merge Mining,它將使側鏈獲得與比特幣區塊鏈相同的算力。


       驅動鏈的爭議在于它可能會給比特幣礦工更多的權力。一些人還建議使用Noinput類別來實現Blind merge Mining。



一站關注,多維度進入移動游戲圈
上方網: sfw-2012
上道: shangdaowx
小伙伴招聘:xhbzhaopin
愛鏈客: izhike2012
標簽:    
相關閱讀
你可能感興趣的資料
亿游国际平台彩票平台