投資者2019年比特幣路線圖:Schnorr,Dandelion等

比特幣既是貨幣也是技術。在貨幣方面,比特幣通過精心設計,一旦通過驗證,交易就不可變,永遠存在於區塊鏈中。但這並不意味着該技術是靜態的。因爲充滿活力的開發者生態系統,比特幣的協議年復一年地穩步提高。php

比特幣的去中心化性質爲改進爲協議提供動力的基礎技術的過程帶來了獨特的挑戰。爲避免無政府狀態,比特幣的核心開發人員採用了特定的代碼修訂流程。因爲沒有中央權限能夠說明應該和不該該完成哪些更新,所以更改取決於得到開發人員社區支持的提案。一旦將提案實施到代碼中,網絡上的節點就必須經過升級其客戶端軟件來接受新的更改。前端

投資者應該瞭解重要的更新提案,由於比特幣的重大變化可能會影響BTC的價格。有爭議的提案甚至可能致使硬分叉,致使較小的集團拆分並造成區塊鏈的新版本(由於SegWit2提案啓發了比特幣現金的建立)。java

比特幣改進建議

比特幣改進一般以比特幣改進提案(BIP)的形式提交給GitHub存儲庫。BIP是一個設計文檔,它提供了新比特幣功能或現有功能修訂的想法。只有重大變化才能得到本身的BIP。該文件的做者一般會對比特幣社區進行民意調查,以確認在提交正式批准程序的BIP以前是否有很好的接受機會。node

若是社區在很大程度上支持,那麼BIP做者將把文檔提交到比特幣開發郵件列表進行審覈。BIP經過幾個階段:python

  • Draft(草案),BIP已提交。
  • Proposed(建議),BIP有一個有效的實施方案,做者有明確的計劃將其付諸實施。
  • Final/Active(最終/激活的),BIP提案已準備好上線或已應用。
  • Rejected/Withdrawn (拒絕/撤回),BIP已被開發社區拒絕,或者做者已將其撤回考慮範圍。
  • Replaced/Obsolete(替換/已過期),BIP提出的新功能版本已取代它。

如下是即將到來的BIP,它們可能會在2019年對比特幣用戶和投資者產生重大影響。咱們將詳細介紹如下各項的細節。android

標準化多重交易:部分簽名的比特幣交易(PSBT)

假設你和兩個合做夥伴正在運營投資基金,你的資金以比特幣計價。你但願確保至少有兩我的須要贊成才能進行任何投資並利用你的資金。多虧了多重簽名地址,你能夠經過加密來保證這一點。在比特幣上,你能夠建立一個2-of-3的多重簽名地址來存放你的資金,你須要兩個合做夥伴的私鑰來受權任何交易。程序員

多簽名交易的當前問題是比特幣中沒有標準格式。例如,若是你和你的合做夥伴使用不一樣的比特幣錢包,那些錢包可能不會支持彼此的簽名格式,這會阻止交易。web

Andrew Chow關於部分簽署比特幣交易(PSBT)的提議能夠解決這個問題。該提案建立了一種交易格式,能夠跨不一樣的錢包客戶端標準化部分簽名的交易。這種標準交易格式就像一塊拼圖遊戲。要建立多重簽名交易,你須要來自每一個參與者的不一樣部分,只有如今,使用PSBT,拼圖的各個部分才能實際組合在一塊兒。即便並不是全部用戶均可以訪問完整的UXTO(未使用的交易輸出)記錄,新格式也容許組進行交易處理。算法

高效的私人交易:Schnorr簽名

Schnorr簽名是將私鑰,公鑰和交易簽名合併爲單個哈希的一種方法。這提升了交易的效率和隱私,特別是對於多重交易(由於交易中是否有多個簽名者再也不明顯)。mongodb

目前,比特幣使用的ECDSA簽名介於71到75個字節之間。Schnorr簽名是64字節,這已是一個改進。但這只是冰山一角。在比特幣的未使用交易輸出(UTXO)模型以後,大多數比特幣交易實際上由幾個較小的輸入組成。目前,每一個輸入都須要本身的簽名,而且全部簽名都須要包含在交易中,佔用空間,並致使更高的交易費用。

Schnorr簽名將容許一個組合簽名表明交易所需的全部簽名,這致使塊容量估計增長17%而且更快地驗證交易。這些增益也適用於多重簽名交易,其中當前須要多個簽名來訪問交易輸入。

Pieter Wuille建議將Schnorr簽名添加到比特幣中將包括上述全部優勢,而且還包含兩個次要優點:

  • 固定的64字節簽名編碼格式。
  • 因爲提議的簽名格式的標準化性質,批量驗證的潛力。

更大的匿名:Dandelion

隱私是Satoshi Nakamoto建立比特幣的既定目標之一,但該貨幣是假名而非匿名。這意味着你能夠將你的錢包地址視爲一種假名:網絡上的任何人均可以看到與你的地址相關的全部交易,所以,若是他們能夠將你的真實身份與你的地址相關聯,你的隱私就會被取消。

如今有不少方法能夠實現這種真實世界的識別。當前在比特幣網絡上,當交易被髮送到節點時,它而後被廣播到網絡上的其餘節點。這使得能夠進行網絡分析並將交易跟蹤回原始節點。從那裏,將交易追溯到它來自的IP地址相對簡單,有效地識別用戶。

Dandelion項目但願解決這個問題並使比特幣更加私密。Dandelion不是從原始節點向網絡的其他部分廣播交易,而是從anonymity phase開始。在此階段,交易跳轉到隨機對等體,後者將其發送到另外一個隨機對等體,直到spreadingfluff階段。每次交易從一個節點跳到另外一個節點時,有90%的可能性交易保持匿名並跳轉到另外一個節點,而且交易進入spreading階段的可能性爲10%,其中它被廣播到網絡上的節點。

Dandelion使用機率隨機化交易在廣播到網絡其他部分以前所採用的路徑,這使得網絡沒法將交易跟蹤回原始節點,從而爲網絡提供了更高程度的隱私。

Brad Denby,Andrew Miller,Giulia Fanti,Surya Bakshi,Shaileshh Bojja Venkatakrishnan和Pramod Viswanath聯合提交了Dandelion提案,並在比特幣網絡的小版本上構建了原型版本進行測試。到目前爲止,該團隊報告說它沒有發現任何軟件衝突。

更高的可伸縮性:Merkelized抽象語法樹(MAST)

區塊鏈使用哈希算法來編碼和驗證交易,每次代幣從一個地方移動到另外一個地方時生成新的哈希。每一個新哈希都包含一個指向前一個哈希的代碼,這意味着來自一系列哈希的信息能夠存儲在一個哈希中,從而大大減小了處理一系列交易所需的處理時間和功率。這種將哈希連接在一塊兒的方法稱爲Merkle樹。

Merkelized抽象語法樹(MAST)經過將Merkle樹與抽象語法樹相結合,將Merkle樹更進一步,這是一種經過將代碼拆分爲單個組件並將其映射到其依賴關係來描述代碼的方法。結合Merkle樹,這些單獨的組件可用於驗證各個組件屬於整個組件。在比特幣上,MAST將經過消除在比特幣區塊鏈中包含腳本的未使用部分的須要,並容許更復雜地使用當前受空間限制限制的比特幣腳本語言,來幫助減小交易數據的大小。

比特幣的區塊鏈大小在過去兩年中翻了一番,從大約100GB到200GB,令人們更難以運行整個節點。MAST將有助於下降區塊鏈增加的速度。

比特幣開發人員提出了兩種不一樣的方法來將MAST添加到加密貨幣中。Johnson Lau的提議BIP 114建議經過使用BIP 141的腳本版原本激活MAST.Mark Friedenbach,Kalle Alm和BtcDrak的提案BIP 116和117將合併MAST而不須要腳本版本控制,須要更少的共識更改,可能使其更簡單實行。

側鏈實施:哈希時間鎖定合約

2018年在第二層開發方面取得了重大進展,例如側鏈,這是一種將token從一個區塊鏈轉移到另外一個區塊鏈並再次返回的機制。側鏈節點設計用於執行大多數實際交易處理,從而減小主要比特幣節點的負載。理論上講,這將有助於實現可擴展性,能夠在不影響主要區塊鏈的狀況下實現更多的交易。閃電網絡是第二層計劃中最著名的,但它並非惟一一個正在開發中的計劃。

哈希時間鎖定合約(HTLC)是一種在比特幣中建立條件支付的方法,使側鏈交易更加可行。它們是閃電網絡的核心組成部分。

使用像Lightning這樣的第2層解決方案,Alice可能與Bob有一個開放的支付渠道,而Bob可能與Charlie有一個開放的支付渠道。HTLC基本上容許Alice經過Bob向Charlie匯款,而沒必要信任Bob或Charlie。

如下是HTLC如何在支付渠道系統中運行的示例:

1.愛麗絲給鮑勃開了一個付款通道,鮑勃給查理開了一個付款通道。
2.愛麗絲想要從查理那裏購買1000個satoshis。
3.查理生成一個隨機數並生成其SHA256哈希值。查理把這個哈希給了愛麗絲。
4. Alice使用她的支付渠道向Bob支付了1,000 satoshis,但她添加了Charlie給她的哈希以及額外的條件:爲了讓Bob要求付款,他必須提供使用的數據。產生那個哈希。
5. Bob使用他的支付渠道向查理支付Charlie 1,000 satoshis,Bob添加了一份與Alice給Bob付款相同的條件。
6.查理擁有用於生成哈希的原始數據(稱爲預鏡像),所以查理可使用它來完成付款並徹底收到鮑勃的付款。經過這樣作,查理必然使鮑勃可使用前鏡像。
7. Bob使用前鏡像來完成Alice的付款。
資料來源:[比特幣維基百科](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts)

Sean Bowe和Daira Hopwood關於哈希時間鎖定合約的提議包括一個腳本,若是另外一方不合做,交易中的任何一方均可以收回資金。它設定了交易的時間限制:若是買方在此限額到期時沒有花費資金,賣方能夠收回代幣。

可靠地升級去中心化網絡

咱們討論過的各類改進建議正處於不一樣的發展階段,看到明年採用哪些改進建議將會使人興奮。雖然BIP自己提出了逐步改進而不是完全改變,但提議的升級有望使比特幣更加高效和私密,同時使協議與Lightning等第2層解決方案更加兼容。

======================================================================

分享一些比特幣、以太坊、EOS、Fabric等區塊鏈相關的交互式在線編程實戰教程:

  • java比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Java代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Java工程師不可多得的比特幣開發學習課程。
  • php比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在Php代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是Php工程師不可多得的比特幣開發學習課程。
  • c#比特幣開發教程,本課程面向初學者,內容即涵蓋比特幣的核心概念,例如區塊鏈存儲、去中心化共識機制、密鑰與腳本、交易與UTXO等,同時也詳細講解如何在C#代碼中集成比特幣支持功能,例如建立地址、管理錢包、構造裸交易等,是C#工程師不可多得的比特幣開發學習課程。
  • java以太坊開發教程,主要是針對java和android程序員進行區塊鏈以太坊開發的web3j詳解。
  • python以太坊,主要是針對python工程師使用web3.py進行區塊鏈以太坊開發的詳解。
  • php以太坊,主要是介紹使用php進行智能合約開發交互,進行帳號建立、交易、轉帳、代幣開發以及過濾器和交易等內容。
  • 以太坊入門教程,主要介紹智能合約與dapp應用開發,適合入門。
  • 以太坊開發進階教程,主要是介紹使用node.js、mongodb、區塊鏈、ipfs實現去中心化電商DApp實戰,適合進階。
  • ERC721以太坊通證明戰,課程以一個數字藝術品創做與分享DApp的實戰開發爲主線,深刻講解以太坊非同質化通證的概念、標準與開發方案。內容包含ERC-721標準的自主實現,講解OpenZeppelin合約代碼庫二次開發,實戰項目採用Truffle,IPFS,實現了通證以及去中心化的通證交易所。
  • C#以太坊,主要講解如何使用C#開發基於.Net的以太坊應用,包括帳戶管理、狀態與交易、智能合約開發與交互、過濾器和交易等。
  • EOS入門教程,本課程幫助你快速入門EOS區塊鏈去中心化應用的開發,內容涵蓋EOS工具鏈、帳戶與錢包、發行代幣、智能合約開發與部署、使用代碼與智能合約交互等核心知識點,最後綜合運用各知識點完成一個便籤DApp的開發。
  • 深刻淺出玩轉EOS錢包開發,本課程以手機EOS錢包的完整開發過程爲主線,深刻學習EOS區塊鏈應用開發,課程內容即涵蓋帳戶、計算資源、智能合約、動做與交易等EOS區塊鏈的核心概念,同時也講解如何使用eosjs和eosjs-ecc開發包訪問EOS區塊鏈,以及如何在React前端應用中集成對EOS區塊鏈的支持。課程內容深刻淺出,很是適合前端工程師深刻學習EOS區塊鏈應用開發。
  • Hyperledger Fabric 區塊鏈開發詳解,本課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、通道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、nodejs鏈碼與應用開發的操做實踐,是Nodejs工程師學習Fabric區塊鏈開發的最佳選擇。
  • Hyperledger Fabric java 區塊鏈開發詳解,課程面向初學者,內容即包含Hyperledger Fabric的身份證書與MSP服務、權限策略、通道配置與啓動、鏈碼通訊接口等核心概念,也包含Fabric網絡設計、java鏈碼與應用開發的操做實踐,是java工程師學習Fabric區塊鏈開發的最佳選擇。
  • tendermint區塊鏈開發詳解,本課程適合但願使用tendermint進行區塊鏈開發的工程師,課程內容即包括tendermint應用開發模型中的核心概念,例如ABCI接口、默克爾樹、多版本狀態庫等,也包括代幣發行等豐富的實操代碼,是go語言工程師快速入門區塊鏈開發的最佳選擇。

匯智網原創翻譯,轉載請標明出處。這裏是投資者2019年比特幣路線圖:Schnorr,Dandelion等

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息