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