學術咨詢服務,正當時......期刊天空網是可靠的職稱工作業績成果學術咨詢服務平臺!!!

比特幣區塊鏈擴容技術研究

發布時間:2020-03-26所屬分類:計算機職稱論文瀏覽:1

摘 要: 摘要比特幣是中本聰(Nakamoto)于2008年提出的數字貨幣,它具有去中心化、跨國界和發行總量固定等特性,現在已經成為使用最廣泛的數字貨幣之一.然而,比特幣設計初期的一些人為限制,導致現有網絡處理交易的速率十分有限,最近交易處理能力已經接近上限,交易

  摘要比特幣是中本聰(Nakamoto)于2008年提出的數字貨幣,它具有去中心化、跨國界和發行總量固定等特性,現在已經成為使用最廣泛的數字貨幣之一.然而,比特幣設計初期的一些人為限制,導致現有網絡處理交易的速率十分有限,最近交易處理能力已經接近上限,交易確認時間顯著增加.這不僅嚴重影響比特幣的使用體驗,進而限制使用范圍,而且對比特幣的設計提出更高的要求.針對比特幣所面臨的交易處理性能挑戰,以提升區塊鏈容量為目標對比特幣展開深入研究.首先,分析比特幣當前網絡狀態,根據比特幣交易數據,統計交易延遲情況;其次,針對鏈上擴容方案,分析可行性,研究擴容效果%再次,針對鏈下擴容方案,分析作用原理,研究擴容效果;最后,分析鏈上/鏈下擴容方案優缺點,提出適應社區的可行的比特幣擴容路線方案.最新比特幣擴容的進展進一步證明了我們結論的正確性.

比特幣區塊鏈擴容技術研究

  關鍵詞比特幣;區塊鏈;擴容;見證隔離;閃電網絡

  比特幣是一種去中心化的數字貨幣,最早由中本聰(Nakamoto)于2008年10月提出[1],其目的是避免傳統金融體系中存在中心機構可能帶來的風險.和傳統電子貨幣相比比比特幣具有系統健壯性強、使用便捷和安全性高等優勢.自從被推出以來,比特幣正受到越來越多的關注[2].隨著比特幣的廣泛使用,比特幣設計之初的一些缺陷逐漸顯露出來,其中非常嚴重的缺陷就是區塊鏈容量不足.

  從2012年開始,平均區塊大小不斷增加.在2016年年中左右,區塊容量已經接近1MB上限[].這意味著一些交易將不能及時地被收集到區塊中,的&頻次繼續增加而區塊容量保持不變,那么一些交易可能永遠也不能人塊.因此,這一問題將會嚴重影響比特幣的使用體驗.

  文獻[)]針對研究交易延遲問題,分析2016年5月交易人塊情況,結果表明:43%的交易在發布超過1h后仍未進人區塊鏈.文獻[5]列舉出比特幣等密碼貨幣的研究遠景和面臨的各種挑戰,其中之一就是可擴展性問題.由于改變比特幣規則需要引人分叉,同時造成各方面的影響,因此比特幣擴容是一個非常復雜的問題.

  文獻[6]指出,將交易雜湊值代替交易數據可以提升網絡處理交易的能力.同時,該文獻主張以修改區塊鏈本身結構的方式達到擴容的目的.文獻[7]研究區塊在網絡中的傳播情況,指出過大區塊需要更長的時間傳播至整個網絡,傳播延遲將不再遠小于區塊間隔,這會影響網絡的共識機制,造成高孤塊率等問題.同時作者指出當前網絡未被充分利用,可以改進比特幣協議以提高網絡利用效率.文獻[8]引人定量框架分析基于工作量證明的區塊鏈安全和性能,并分析了區塊參數改變對于比特幣系統安全性的影響.作者得出結論:在區塊大小是1MB的前提下,將區塊間隔降低至1min不會顯著影響比特幣的安全性&

  為解決比特幣區塊鏈容量不足帶來的問題,比特幣社區已經提出多個解決方案,下面依次介紹代表性方案.

  2015年6月,Andresen在比特幣改進建議(bitcoinimprovementprotocol)BIP101中提出區塊容量限制在未來一段時間內以可預測方式增大[]%同月,Garzik在BIP102中提出區塊容量上限一次性從1MB增長到2MB[10];同期,相關人員提出很多類似的直接提高區塊鏈上限的改進建議[1112].由于交易數目與區塊大小成正比,因此通過增大單個區塊的大小,可以使得更多的交易被容納.

  2015年12月,Lombrozo,Lau和Wuille在BIP141中提出的見證隔離(segregatedwitness)技術也對區塊鏈擴容有幫助[13].當前的比特幣交易中,交易數據與簽名數據保存于同一數據結構中.見證隔離則將簽名數據從交易中分離出來,組成新的結構另行保存.由于舊節點不能解析這些新的數據,因此他們認為區塊大小要小于新節點,這意味著區塊實際大小可以超過1MB.

  2015年,Poon和Dryja提出閃電網絡方案,將頻繁的小額支付利用事先建立的通道離鏈完成[14].這種方案可以避免大量小額交易占用區塊鏈容量%文獻[15]提出了建立雙向微支付通道的協議,允許用戶建立離線通道,實現無延遲的實時支付,同時保證了端到端的安全性;文獻[16]對上述方案作了改進,提出了新的支付通道Sprites.利用狀態通道,Sprites將閃電網絡在最壞情況下的抵押開銷復雜度大為降低,由〇(M)變為0(+W,其中分別代表通道個數和鏈上交易確認時間;文獻[17]引人Teechan,它是一種全雙工的支付通道框架,可直接部署在現有區塊鏈上,比閃電網絡具有更高的交易容量和更低的交易延遲.但是,它需要利用具備可信執行環境的安全硬件,例如IntelSGX,因此會額外增加開銷;Teechan的升級版Teechain實現了沿路徑支付,允許未直接建立連接的用戶交換資金[18].

  可見,針對區塊鏈容量不足的情況,社區和學術界都已經提出多個擴容方案.但是依然存在區塊鏈統計數據直、擴案可性、見證隔離對區塊容量的貢獻不明確和社區意見不統一題

  本文主要貢獻有3個方面!

  1)針對區塊容量達到上限的問題,分析當前比特幣網絡中交易確認狀態.通過抓取2017年1#3月的比特幣交易數據,統計分析交易確認理論時間和實際時間的差別.已經進人區塊的交易中,有16%等待時間超過1h,甚至有1[等待時間超過1d.另夕卜,待確認交易(unconfirmedtransaction)池不斷擴大,一度超過110MB.

  2)針對鏈上擴容方案爭論,分析方案的優點和缺點.鏈上擴容提倡增大區塊容量上限,此方案對改善交易延遲效果顯著,將區塊容量上限設定為2MB,即可解決當下交易延遲問題.但考慮到當前網絡情況,為避免過高的孤塊產生率,最大區塊不應超過4MB.鏈上擴容優勢在于見效快,但是無限擴容易造成中心化.

  3)針對鏈下擴容方案的不確定性,分析鏈下擴容效果.鏈下擴容方案也附帶有鏈上擴容效果,基于當前交易比例的統計顯示,見證隔離最多可以將區塊容量提升83%.基于見證隔離的閃電網絡技術,完全部署可以極大提高交易處理能力,縮短確認時間.鏈下擴容可以達到近乎無限的交易處理能力,但網絡建立需要時間.

  1背景知識

  本節簡要介紹比特幣的相關背景知識,包括比特幣的交易、區塊鏈形式和工作量證明機制等,詳細的介紹可以參考文獻[19-20].

  1)比特幣交易.比特幣是一種基于交易的數字貨幣,一■切彳了為均通過父易完成.每一■項父易均有至少一個輸人和至少一個輸出.每一個交易指向另一個交易的輸出,用于表明資金的來源,僅當交易被正確簽名之后,驗證方可通過.交易可以包含多個輸人和多個輸出,從而起到拆分與合并資金的功能.

  2)比特幣腳本.交易輸出中存在scriptPubKey腳本,在標準P2PKH交易中,scriptPubKey包含收款人的公鑰雜湊值.交易輸人中存在scriptSig腳本,包含公鑰和簽名等信息.驗證交易時,依次運行scriptSg腳本與前一交易中的scriptPubKey腳本,如果成功運行并在桟頂設置true,即相當于成功驗證交易發起人的公鑰與簽名,那么證明交易發起人具備對應輸出的使用權限,驗證通過&1].在BIP16中,P2SH類型的交易被引人.該類型允許輸出中不指明收款人公鑰雜湊,并用一段腳本的雜湊替代.這種交易將復雜性從輸出腳本轉移到了輸人腳本,使得付款更加方便,利于多重簽名等交易普及&2].

  3)比特幣賬本.基于交易的數字貨幣存在的最大問題是雙花(double-spending),即支付者生成2筆交易,共用同一項輸出.解決辦法之一是維護一個任何人都可以訪問的賬本,記錄所有歷史交易,使收款方可以查看一項輸出是否已被使用過.比特幣使用梅克爾樹與區塊鏈構建全局賬本.當交易雙方需要交易快速完成時,收款方會選擇在交易未進人區塊鏈時即接受,這會帶來額外的雙花風險&3].只要攻擊者算力資源不超過全網算力的50%,此風險隨時間增長呈指數級下降[1].

  4)梅克爾樹.梅克爾樹是一種二叉樹,其葉子節點用于存放數據,其他節點為2個子節點串聯的雜湊值.比特幣將交易雜湊值存放于梅克爾樹葉子節點中,任何一筆交易的變動都將影響到梅克爾樹根的值.因此,只要保留梅克爾樹根的值,即可驗證每一筆交易是否被篡改[19].

  5)區塊鏈.每個區塊中包含一個梅克爾樹根,作為當前區塊所有交易的指代.除此之外,區塊中還包含上一個區塊頭的雜湊值,作為此前區塊的指代.區塊依次相連形成區塊鏈,使用這種鏈狀結構,只要保存最后一■個區塊頭的雜湊值,就能保證整條區塊所有篡改[19]&比特幣頭下字段:version字段,表示當前區塊版本號,被解釋為比特向量,用于表明支持的特性;previousblockheaderHash字段,表示前一區塊頭的雜湊值,是所有歷史數據的指代;merklerootHash字段,表示梅克爾樹根,是區塊中所有交易的指代;time字段,表示區塊產生的時間,是Unix時間戳;nBits字段與nonce字段是工作量證明相關的字段&4].

  6)工作量證明.作為一種去中心化的數字貨幣,比特幣區塊鏈的維護工作無法由中心化機構完成.實際中區塊鏈由運行于互聯網上的節點進行維護.在新區塊生成問題上,所有節點需要達成共識.比特幣采用的解決方案是工作量證明機制.所有節點利用算力解決一個難題,得到正確結果的節點有資格發布新的區塊.因此,難題應該是難于求解和易于驗證的.比特幣采用的難題為:改變區塊頭中的nonce字段(如果nonce字段遍歷完畢,那么礦工也可以改變coinbase交易中的coinbasescript字段,從而改變梅克爾根的值),計算區塊頭雜湊值,僅當雜湊值低于某個目標值時,區塊合法,目標值越低,難度越高.這樣,計算出合法區塊的節點即可證明自己已經花費足夠多的算力.目標值保存在區塊頭的nBi+字段中,每經過2016個(約2周#根據平隔重定目標值,調整難題難度,以保證隔的穩定.

  相關期刊推薦:《計算機研究與發展》刊登內容主要為計算機科學技術領域高水平的學術論文、最新科研成果和重大應用成果。本刊優先刊登國家基金項目(如國家自然科學基金項目、“八六三”、“九七三”等)、省部級基金項目等論文。本刊只接收中文稿,不受理英文稿。有投稿需求的作者,可以直接與期刊在線編輯聯系。

2023最新分區查詢入口

SCISSCIAHCI

7799精品视频