官术网_书友最值得收藏!

第四節 發展進化

比特幣從2009年誕生到今天已經經歷了9年的發展歷程,于是許多人提出了比特幣2.0的概念,這一節就讓我們來了解一下三個針對比特幣2.0的比較典型的發展預測。

一、側鏈

由于比特幣的區塊鏈協議是建立在工作量證明的共識機制上的,因此它的目標相對簡單:它是一個支持單一原生數字資產傳輸的區塊鏈,不能與其他任何資產相兌換。這可以簡化很多具體環節,不過這樣的簡化正面臨著現實世界關于創新需求的挑戰。目前的創新主要圍繞在以下幾個方面。

(1)在可擴展性和去中心化之間的取舍。例如,更大的區塊可以支持更高的交易速率,而代價是加大了驗證方的工作量——中心化的風險。

同樣,在安全性和成本之間也存在取舍。比特幣歷史記錄中用同等級別的不可逆性來存儲每一筆交易。這種方式的維護代價很高,對低價值和低風險的交易來說也未必合適(例如,當所有參與方已經商定了一個由共同的第三方法律機構來處理欺詐的行為時)。

由于不同交易的價值和風險狀況有很大的不同,這樣的取舍應當針對每筆交易來應用,然而比特幣系統的構建僅支持以同一個標準來應對所有問題。

(2)在區塊鏈的功能上存在更多的取舍。例如,是讓比特幣的腳本變得更強大,來支持簡明和有用的合約,還是減少功能以便于審計。

(3)一些非貨幣的資產也可以在區塊鏈上交易,例如欠條、其他合約和智能財產。

(4)“雞蛋放在同一個籃子里”:比特幣系統由許多密碼學組件構成,其中的任何一個組件出現問題,都會導致整體價值的損失。如果有可能,不要用同一套算法來保護每個比特幣。

(5)新技術可能會帶來比特幣系統在創建初期未曾料到的新功能。例如,用密碼累積池、環簽名或Chaumian盲簽名來增強隱私保護和抗審查性。即使有這樣做的迫切需求,但沒有安全升級比特幣系統的途徑,這意味著任何更改都需要所有參與者協同執行才能生效。比特幣的開發者們達成了一個共識:對比特幣系統的變更必須緩慢、謹慎,并且僅當整個社區都明確同意時才能進行。

實際上,由于比特幣的區塊鏈功能必須被廣泛認可后才能采納,這限制了參與者的個人自由和對其錢幣的自主性。小的團體無法實現諸如專用腳本擴展這樣的功能,因為他們缺少廣泛的共識。

早期針對比特幣系統中這些問題的解決方案是可替代的區塊鏈的開發,又稱競爭鏈(Altchains),除針對上述關注點進行適當修改外,還共用了比特幣系統的代碼庫。然而,靠創建一個獨立的但本質類似的系統來實現技術變更仍然存在問題。

問題之一:基礎架構碎片化。由于每個競爭鏈都使用自己的技術堆疊,經常會有重復性或被遺漏的工作。因此,由于競爭鏈可能并未掃除比特幣系統中安全領域的知識障礙,安全問題常常跨競爭鏈被復制,而難以被一次性修復。因此要解決安全問題必須消耗大量資源并且進行謹慎評審,從而徹底建立一個新的分布式加密系統。如果沒有這樣做,安全隱患常常無法被察覺,直至漏洞被利用。而當前的情形是,我們看到了一個“無序”的發展環境,大部分顯現出來的項目可能在技術上是最不健全的。打個比方,想象一下在互聯網上,每個網站都使用自己的TCP架構,實現將自定義的檢驗和數據包拼接算法后“廣播”給最終用戶。這不會是一個可持續的環境,也不是競爭鏈能生存的環境。

問題之二:這樣的競爭鏈和比特幣系統一樣,通常有自己的帶有浮動價格的原生加密貨幣,或稱競爭幣。為了使用競爭鏈,用戶需要通過市場來獲取這種貨幣,這將會讓他們直接去面對新貨幣帶來的高風險。此外,因為有獨立解決初始分配和估值問題的需求,與此同時還要在不良的網絡效應與擁擠的市場中競爭,這既阻礙了技術創新,又助長了市場的博弈。這危及的不僅是這些系統的直接參與者,還危及整個加密貨幣行業。如果這一領域被公眾認為風險過高,加密貨幣被認可的進程可能會受阻,或者有可能完全被遺棄(自愿或通過立法)。這表明我們希望有一個環境能讓可互操作的競爭鏈易于創建和使用,但不要產生不必要的市場和開發碎片。側鏈可以使這些看似矛盾的目標有可能同時實現。核心考察點是“Bitcoin”這一區塊鏈在概念上是獨立于“Bitcoin”這一資產的:如果我們能在技術上支持區塊鏈間資產的移動,就可以通過簡單地復用現有“Bitcoin”區塊鏈概念的方式,開發出可能會被用戶采納的新系統。

這種可互操作的區塊鏈被稱為“楔入式側鏈”。以下為“楔入式側鏈”所需具備的屬性。

(1)在側鏈間移動的資產應當能夠被當前持有者移回,但除此之外的任何人則不行(包括前持有者)。

(2)資產的移動應當無交易對手風險。也就是說,不誠實的一方無法阻止轉移的發生。

(3)資產轉移應當是元操作(原子操作),即要么完全完成,要么根本不發生。不應存在會導致資產損失或允許欺詐產生的失敗模式。

(4)側鏈應當設有防火墻:一個會使某條鏈發生資產鑄造或偷盜的bug,不應導致任何其他鏈出現資產的鑄造或偷盜。

(5)區塊鏈重組時應當處理干凈,即使在資產轉移的期間也要如此;任何破壞應當只發生在它所處的側鏈上。在理想情況下,側鏈應當完全獨立,來自其他鏈上的全部所需數據由用戶提供。側鏈的驗證者應當只有在側鏈本身的顯式共識規則有要求時,才需要跟蹤其他鏈。

(6)不應要求用戶去跟蹤他們未主動使用的側鏈。

早期“轉移”貨幣的解決方案是用一個可公開識別的方式來銷毀比特幣,讓新的區塊鏈能檢測到,以允許鑄造新幣。這解決了部分上面提到的問題,但由于這種方法只允許單向轉移,因此還不足以滿足雙向轉移的目的。

側鏈概念中所提出的方案是由資產轉移的交易本身提供所有者證明來轉移資產的,避免讓節點有跟蹤發送方鏈的需求。從上層實現角度,當資產從一個區塊鏈向另一個鏈移動時,我們在第一個區塊鏈上創建交易、鎖定資產,然后在第二個區塊鏈上創建一筆交易,該交易的輸入中包含一個已正確完成鎖定的密碼學證明。這些輸入用某種資產類型來標記,比如創生出資產的區塊鏈的創世哈希(Genesis Hash)。

第一個區塊鏈我們稱為父鏈,第二個則稱為側鏈。在某些模型中,兩條鏈可對稱地來處理,因此這一術語應當看成是相對的。從概念上講,我們打算將資產從(初始)父鏈轉移到一條側鏈,可能會再轉移到別的側鏈,最終還能轉回至父鏈,并保全初始資產。一般我們把父鏈看成是比特幣系統,側鏈是其他區塊鏈中的某一個。當然,側鏈的幣(Coin)也可以在側鏈間傳遞,并非只能與比特幣系統進行往來。不過,由于任何一個最初從比特幣系統移動的幣都可以移回去,所以不管變成什么樣,它仍是個比特幣。由于側鏈是從父鏈中轉移現有資產而不是另鑄新資產,側鏈不會引起未經授權的鑄幣,維護資產的安全和稀缺性依靠父鏈來實現。

更進一步說,參與者不必再擔心他們的持有物會被一個實驗性競爭鏈鎖往,因為側鏈幣能夠用等額的父鏈幣來贖回。這提供了一個退出機制,減少因軟件無人維護而造成的損失。

另外,由于側鏈還是一個獨立于比特幣系統的區塊鏈,它們可以自由地嘗試新的交易設計、信任模型、經濟模型、資產發行語義和加密特性。

這一基礎架構的額外好處是對比特幣系統本身進行改變的需求變得不再那么迫切:與其策劃一個需要各方均達成一致并一起實施的分叉,不如用側鏈來創建一個新的“改變了的比特幣系統”。從中期看,如果廣泛認可新系統有進步,最終會明顯看到,相對于比特幣父鏈,更多的人會使用這個新系統。由于父鏈的規則沒有任何修改,任何人都可以根據自己的時間去切換,不會有任何因共識失敗所帶來的風險。從長期看,如果父鏈被認為或當父鏈需要改變時,側鏈的成功經驗將為父鏈的更改提供所需的信心。

通過楔入式側鏈實現比特幣和其他賬簿資產在多個區塊鏈間的轉移,這使用戶能用他們已有的資產來使用新的和創新的加密貨幣系統。通過復用比特幣系統的貨幣,這些新系統相互之間的交互操作以及與比特幣之間的交互操作,可以更容易地進行,避免出現與新貨幣相關的流動性短缺和市場波動。由于側鏈是獨立的系統,其技術和其他方面的創新不會被其他因素妨礙。盡管比特幣系統和楔入式側鏈間有雙向轉移的能力,但它們是隔離的:即使出現側鏈中的加密被破解(或被惡意設計)的情況,所有的損害都只限于側鏈本身。

關于側鏈的更多技術細節可以參照Adam Back, Mat Corallo以及Luke Dashir等著寫的Enabling Blockchain Innovations with Pegged Sidechains一文。

二、擴容

比特幣區塊的容量大小決定了單個區塊內同時可能被處理的交易數量。但由于比特幣區塊鏈的設計是冗余的分布式的存儲,因此區塊的大小設計就需要考慮計算資源的承受能力,包括了網絡帶寬、存儲空間和處理器的速度。如果區塊容積過大就有可能會使資源癱瘓;另外,如果區塊被限得太小,交易處理過慢,則會浪費網絡資源。起初,每個區塊可以存儲高達36 MB的數據,但之后為了平衡計算資源并且減少垃圾訪問與DoS攻擊的威脅,區塊容積在2010年被降至1 MB。

然而,TradeBlock提供的數據顯示,2015年5月平均單個區塊存儲的交易數據就已超過400 KB了。若數據持續上漲,交易的處理時間將被進一步延長,若用戶希望自己的交易被更快處理,則需要付出更高的交易費用。當存儲交易數據超過1 MB上限時,整個塊的交易都可能面臨被拒絕的風險,因此就提出了區塊擴容的提案。

最初,區塊擴容的意見是由加文·安德烈森提出的,他建議將區塊擴容至20 MB,但目前仍存在較大爭議。占有全球過半算力的中國礦場提出,由于中國的數據帶寬還無法達到歐美的水平,因此過大的區塊會導致區塊孤立率大幅上升。于是比特大陸、火幣、比特幣中國等中國礦場公司聯合聲明,建議下次將區塊擴容調整至8 MB而不是20 MB。

區塊的擴容受到了全世界大多數比特幣從業者的支持,但也存在著質疑。其中就包括了擴容后導致的交易費用下降,會使得礦工們喪失處理交易的積極性,最終仍然無法解決小區塊中交易時間過長的問題。

除此之外,由于擴容之后的區塊鏈將會提高節點對計算資源的占用,更高的帶寬和CPU占用率將使更多的用戶轉向輕量化節點的SPV(簡化支付驗證),最終保持完全節點的僅剩下礦池公司。由于礦池開發的資源集中性,也最終促使比特幣區塊鏈網絡向中心化發展。

2016年2月21日,來自比特幣業界及開發社區的代表終于就擴容的問題首次達成以下共識。

(1)同意隔離見證會繼續以軟分叉的方式積極地進行開發。

(2)繼續和整個比特幣開發社區一同公開開發一個基于隔離見證改善之上的安全硬分叉。出席比特幣圓桌會議的Bitcoin Core貢獻者同意:在隔離見證發布后3個月之內,會去實現一個這樣的硬分叉,作為建議提交給Bitcoin Core。

(3)這個硬分叉應該會包括一些正在技術社區討論中的功能,包括:增加非見證數據至2 MB左右,而總體積不超過4 MB。該硬分叉只會在得到整個比特幣社區廣泛支持的情況下才會實行。

(4)Bitcoin Core在發布了一個包含上述硬分叉代碼的版本之后,礦工們才會在生產環境中運行隔離見證。

(5)在可見的將來,礦工們只會運行和Bitcoin Core共識協議兼容的系統,這個系統未來最終會包括隔離見證和上述硬分叉。

比特幣社區一直致力于開發出能夠更有效地運用區塊空間的擴展技術,例如Schnorr多重簽名等。

基于以上內容,圓桌會議也給出了預計進程的時間節點:

2016年4月,隔離見證發布;

2016年7月,硬分叉的代碼開發完成,可供使用;

2017年7月,如果能夠得到社區的廣泛支持,硬分叉生效。

此次共識的達成體現出了礦工與比特幣核心開發者的合作態度,事實上也體現出礦工在比特幣發展中的話語權逐步增加的過程。確實,比起單方面的主張,經過比特幣社區各方博弈所形成的共識才符合比特幣所傳承的精神。

然而,從長遠來看,比特幣區塊的擴容似乎仍然無法永久性解決問題,因此也有人提出新的區塊鏈架構,諸如認為前文提到的側鏈技術才是真正解決比特幣發展的關鍵。下一部分內容我們將更深入地探討比特幣的核心——區塊鏈技術。

三、閃電網絡

1.初始動機

要向某人發送比特幣,你就要創建一筆交易,對它進行加密簽名(證明你是創建者),并通過比特幣網絡廣播這筆交易。網絡上的節點被稱為“礦工”,它確認你的交易,把它打包成塊,并在剩余的比特幣網絡上進行廣播,從而確認和完成你的交易。礦工在此過程中可獲得比特幣作為獎勵。部分獎勵是來自你發起交易時需要支付的小額手續費。小額手續費和區塊獎勵是保證網絡安全運行的經濟動力。

隨著比特幣被逐漸接受,區塊鏈記錄的交易數也隨之增長。目前,一個區塊最多可容納1 MB的交易,在理想情況下比特幣可以支持每秒約10筆的交易。但實際是每秒5~7筆,而目前網絡的平均負載大概是每秒3筆交易(其實上限就是實際上的平均值,因為區塊創建是有概率的,它更多的是遵循泊松分布,而不是剛性的10分鐘的間隔,根據所選比特幣的時間間隔可以預測能夠支持的更高交易數)。

如果增加區塊大小,每秒的交易數上限就會提高(這要么修改比特幣核心版本,要么采用XT版本),但區塊擴容是有限度的。Visa在2013年時每秒峰值達47000筆交易,遠超過比特幣。Visa之所以能做到這一點,因為它是中心化的系統。去中心化或許是賦予比特幣優勢和變革潛力的屬性之一,但也令它難以處理大規模的交易。

除了規模化交易有阻礙外,還有小額支付的問題。由于交易成本的存在,在以往進行小額支付是不可能的。這就是信用卡存在最低消費金額的原因。你不能使用Visa發送一分錢給別人,單獨一分錢的花費是不被支持的。而小額支付具有很大的潛力,很多人都認為比特幣可以發揮這方面的潛能。但問題是,根據目前的價格,比特幣的交易手續費是2~3美分,遠遠低于現有金融系統的費用,但仍然沒低到可以實現小額支付(比特幣交易手續費是基于交易筆數的,而不是轉賬金額,這從根本上不同于現有的金融系統)。

比特幣要面臨的最后一個問題是零確認(或即時支付)的問題。比特幣交易在數秒內傳至整個全球網絡,但它們只有在打包進塊后才能獲得確認。由于區塊創建和礦工確認的隨機性,這個過程有時需要花一小時左右(但通常平均約10分鐘)。

解決零確認問題并非必需,比如使用信用卡完成了一筆交易,在數月后仍可被撤銷,而且交易運營商有辦法迅速地檢測出極為罕見的雙花嘗試。但即使這不是必要的,若能解決則仍有價值。小額支付也并不是必須被解決的問題,因為還沒有其他系統能安全地把小額支付變成現實,所以這里沒有相互競爭的必要。但是實現小額支付將能開辟許多新的市場并創造價值,所以解決這個問題又是有好處的。然而規模化交易問題是必須要解決的,如果比特幣無法做到這點,那么它就是失敗且毫無用處的。

2.比特幣和支付渠道的概述

支付渠道是解決比特幣的可擴展性、小額支付和零確認問題的一種可行途徑。讓參與者之間直接進行交易,不通過區塊鏈來發送交易和使用它來加密以確保信息安全,只在需要結算機制時才使用區塊鏈。現在已經有極少數關于建立支付渠道的想法,最廣為人知的就是閃電網絡。

關于比特幣閃電網絡的設想是受目前電子金融系統運作原理的啟發,目的是借鑒一切先進理念,并將其有意義的部分應用到比特幣中。如圖1.67所示。

圖1.67

一筆比特幣交易涵蓋幾個部分,我們做簡要介紹。

· 指向先前某人向你發送的一筆比特幣交易(你擁有對應私鑰的地址)。

· 你發送到的比特幣地址(實際上是鎖定腳本)。

· 加密簽名證明你“擁有”已被花費的比特幣和你創建了交易。

直接向接受者發送這筆簽名交易,而不是對它進行廣播,這就和(傳統)支付本身一樣便捷。唯一的問題是,只要交易不是發生在區塊鏈上,你就可以選擇把這些比特幣發送給別人。

比特幣交易是極其靈活的。兩個人可以決定各自把一些比特幣整合成一筆進行單獨交易,只有他們同時進行加密簽名,這筆交易才能對外發送。這就是所謂的多重簽名或Pay-to-Script-Hash,也是建立支付渠道的依據,如圖1.68所示。

圖1.68

如Alice和Bob希望在他們之間建立支付渠道,他們中的一人或兩人要把比特幣整合到一筆特殊的多重簽名交易,并在網絡中進行廣播。然后,他們創建和簽署一筆新交易,但原始的資金會最后回到他們手上,而且直至之后的某天才能使用(如30天后)。當他們彼此需要發送資金時,各自的資金余額會隨之更新,同時會縮短交易可花費的時間(29天,28天……),最后,最新的交易變化會被廣播到網絡。

因為這些信息只會在Alice和Bob之間傳送,這有助于減少發生在區塊鏈上的交易數,從而讓區塊鏈能大規模處理交易。這也可視為即時支付,同時解決零確認問題,因為沒有任何手續費,他們可進行任意面額的小額支付。唯一要考慮的是交易被廣播到網絡的時間,這取決于Alice和Bob什么時候關閉渠道,或者如果他們當中的一個要停止交易,如圖1.69所示(此時其他人會等待最新的可被花費的交易被廣播到網絡,然后再向他們發送合適的比特幣數額)。

圖1.69

但這只是發生在兩者之間。真正讓支付渠道有用武之地的是比特幣能將它們鏈接在一起。如果Alice和Bob有渠道,Bob和Carol也有渠道,然后Alice可通過Bob支付給Carol。Bob或許收取小額手續費,但這比區塊鏈的手續費要少得多。這里我們不再詳述,但在不必信任Bob的情況下可以實現這一切,只需添加一些規則就可確保完成交易,如圖1.70所示。這些新規則在比特幣里尚不存在,但比特幣有一天可能會用到。

圖1.70

如果有些參與者是渠道的“中轉站”,他們和其他人建立了渠道(如銀行等),那么我們會看到一個完整的支付網絡,它允許某人通過此網絡支付資金給任何人,而不必每次都要廣播交易或者要在交易者間建立新渠道,如圖1.71所示。

圖1.71

3.區塊鏈解決方案:可審查、防欺詐

系統把比特幣區塊鏈轉變為定義金融關系規則的機制,然后作為程序化的審查和最終解決方案,最終減少對人為機構的依賴。區塊鏈開始成為程序化的社會契約,在非常低的成本下維持雙方之間的信任和金融互動。

支付渠道并不適合所有交易。對于大型的、一次性的交易,例如買房子或買汽車,使用正常的比特幣交易就可以了。但對于來回頻繁轉移資金的實體,如銀行等金融機構,支付渠道就可展現其魅力。當你通過多渠道允許支付時,可讓消費者與銀行建立支付渠道,而不再需要銀行賬戶,給商家的支付也是通過多渠道和直接的信息傳送的,這樣的系統一旦建成,就會像我們今天的金融體系。現有的金融系統依賴于信任,它必須受到嚴格監管,以保障消費者的合法權益(今天我們的系統非常糟糕,想象一下如果沒有監管,那將會怎樣)。但依靠比特幣的支付渠道,監管職責可以轉移到區塊鏈上,這將會是一個更加完善和透明的審查和防欺詐系統。

主站蜘蛛池模板: 蛟河市| 巴林右旗| 崇仁县| 平潭县| 乳山市| 靖西县| 西昌市| 新乡市| 瓦房店市| 三穗县| 永定县| 长顺县| 公安县| 车险| 连江县| 九龙坡区| 宣恩县| 招远市| 新乐市| 玉环县| 同仁县| 靖安县| 定日县| 琼中| 宣城市| 沂南县| 荔浦县| 神木县| 安泽县| 鹤壁市| 咸宁市| 江北区| 务川| 同德县| 绥芬河市| 皮山县| 板桥市| 公主岭市| 万载县| 襄垣县| 永登县|