Holochain為區(qū)塊鏈伸縮性問題提供了解決方案
在中本聰2008年的白皮書中,比特幣是真正具有開創(chuàng)性的,在過去十年中獲得了巨大的成功。通過一種稱為工作證明的方法,以分散的方式與多方建立共識或達(dá)成協(xié)議。
許多礦商處理一組稱為塊的交易,以及找到正確的nonce(隨機數(shù)字串)的礦工,在得到一些比特幣之前,需要向其中一個新的區(qū)塊添加一個新的區(qū)塊。區(qū)塊形成了一個被稱為區(qū)塊鏈的區(qū)塊鏈,區(qū)塊鏈?zhǔn)且幌盗械膮^(qū)塊(它們本身就是一系列交易本身),它們共同代表了比特幣最初的區(qū)塊。
所有節(jié)點(計算機、服務(wù)器等可能或不參與挖掘的節(jié)點)都有相同區(qū)塊鏈的副本,這確保了區(qū)塊鏈的完整性得到維護(hù),并且在可能丟失比特幣交易記錄的情況下,沒有單一的失敗點。如果不控制大部分網(wǎng)絡(luò)的哈希或計算能力,改變區(qū)塊鏈?zhǔn)遣豢赡艿?,這一壯舉被認(rèn)為是難以置信的,因為計算成本實及其高昂的。
比特幣允許創(chuàng)建第一個克服雙重支出問題的數(shù)字貨幣,沒有人可以在沒有其他節(jié)點的情況下發(fā)送這樣的虛假交易,因為每個人都擁有相同的區(qū)塊鏈。
然而,近年來,工作方法證明已被證明無法有效處理大量交易,如果比特幣能夠獲得更廣泛的應(yīng)用,這將是令人擔(dān)憂的。
針對這一問題提出了不同的方法。
像Ethereum和EOS這樣的項目已經(jīng)提出了他們各自的解決方案來解決“可擴展性”問題(改進(jìn)區(qū)塊鏈協(xié)議,這樣他們就可以在沒有問題的情況下處理大量的事務(wù)),但是實際上沒有一個項目在商業(yè)規(guī)模上被證明。
Holochain:在沒有區(qū)塊鏈的情況下解決區(qū)塊鏈問題Holochain是這場爭論的另一個競爭者。雖然它的目標(biāo)是為可伸縮性問題提供一個解決方案,但它采用了一種完全不同的方法,因為從技術(shù)上講,它甚至沒有使用區(qū)塊鏈。
正如Holochain白皮書第1頁所述,比特幣解決這個問題的方法是以數(shù)據(jù)為中心的,它專注于創(chuàng)建一個由所有參與者主持的單一的、共享的數(shù)據(jù)現(xiàn)實(在這個例子中是比特幣區(qū)塊鏈)。
雖然這種方法已經(jīng)被證明是偉大的,但是通過計算強度的證據(jù)來共識工作方法很復(fù)雜(需要時間),目前不適合大量的交易。
Holochain是一種以代理為中心的方法,只要參與的代理或用戶建立并遵守一些基本規(guī)則,就可以在參與者之間共享獨立的數(shù)據(jù)現(xiàn)實。Git是這種方法中最著名的項目,當(dāng)代碼中有一定程度的差異時,就創(chuàng)建分叉,允許兩個項目在相同的基礎(chǔ)層上存在。就像不同的物種來自同一個起源一樣,不同的應(yīng)用程序也可以從同一層中出現(xiàn)。
然而,這可能會讓人想知道,在不完全相同的現(xiàn)實之間達(dá)成一致是可能的。由于Holochain沒有一個全球共享的國家,因此既沒有共識,也沒有單一的分類賬。這是一個非常重要的一點,人們可以很容易地錯過:Holochain不是你的日常區(qū)塊鏈。
Holochain和分布式哈希表(DHT)使Holochain不同于傳統(tǒng)區(qū)塊鏈的是分布式哈希表(DHT),這是一種分散式存儲系統(tǒng)。例如,在DHT中,在下載文件時,不從單個源下載數(shù)據(jù)。相反,您可以從不同的主機下載該文件的不同部分。
以同樣的方式,Holochain節(jié)點不必共享一個全局狀態(tài),(例如,“傳統(tǒng)”區(qū)塊鏈系統(tǒng)中看到的從頭到尾的所有事務(wù)的總賬),只要某些節(jié)點就能夠“拼湊”一個整體的各個部分(DHT)。
增加開發(fā)人員的靈活性(和責(zé)任)比特幣不允許隨時修改驗證規(guī)則,因此,網(wǎng)絡(luò)參與者沒有任何靈活性(除非實現(xiàn)了軟分叉或軟件更改,或者硬分叉,甚至可以創(chuàng)建一個不同的比特幣,如比特幣現(xiàn)金、比特幣黃金等等)。
另一方面,由于其被稱為DNA的特性,這是分散應(yīng)用程序(Dapp)系統(tǒng)參與者預(yù)先建立的“基本規(guī)則”, Holochain允許Dapp開發(fā)人員有更大的靈活性來選擇和實現(xiàn)他們自己的規(guī)則,只要他們不違背DNA。需要注意的是DNA是每個Dapp固有的。換句話說,每一個Dapp都有自己的DNA或“一致”規(guī)則。
不過需要注意的是,DNA賦予了開發(fā)者更多的責(zé)任,他們必須在構(gòu)建Dapp生態(tài)系統(tǒng)之前設(shè)置高質(zhì)量的DNA,以確保Dapp能夠順利運行。給予開發(fā)商更多的靈活性(這也意味著更多的責(zé)任)可能被證明是危險的,就像以太坊的例子中看到的那樣。
以太坊使用一種相當(dāng)開放的編程語言Solidity。雖然開發(fā)人員可以更自由地設(shè)計基于以太坊的Dapps和智能合約,但這也導(dǎo)致了許多問題,比如DAO hack、Parity和其他一些麻煩,因為開發(fā)人員無法適當(dāng)?shù)亻_發(fā)他們的解決方案。
DNA和免疫系統(tǒng)促進(jìn)了Holochain的安全DNA也是一種安全措施。例如,假設(shè)一個名為“Ourbnb”(分散的Airbnb的Holochain Dapp)的Holochain Dapp,其中DNA指出,一個Ourbnb主機不能同時將公寓租給雙方。如果用戶試圖啟動一個違反該DNA的事務(wù),并將公寓出租給一個以上的當(dāng)事方,則該事務(wù)將自動被Mybnb網(wǎng)絡(luò)中的其他節(jié)點拒絕。
Holochain的另一個安全特性是免疫系統(tǒng)。節(jié)點查看它們的DHT和各種Dapps及其各自的DNA。當(dāng)某些參與者決定要破壞DNA規(guī)則時,節(jié)點之間就會相互傳遞這些信息,而壞的參與者則會被排除在Holochain網(wǎng)絡(luò)之外。
代幣性經(jīng)濟學(xué)Holochain有一個名為Holo Token(HOT)的代幣,該代幣通過運行Holochain軟件和托管Dapps獲得獎勵。
因此,盡管諸如Airbnb之類的“傳統(tǒng)”軟件提供商不僅負(fù)責(zé)構(gòu)建應(yīng)用程序,而且還提供Hololink上的托管和安全功能,Dapp開發(fā)人員在節(jié)點在托管Dapp的同時構(gòu)建Dapp,并通過實施DNA規(guī)則和使用免疫系統(tǒng)交叉檢查不良參與者來維護(hù)安全性。