區塊鏈的四大核心技術
其實十年來區塊鏈在原有基礎上已經有了很大的變化和進展,截止現階段經過豐富之后的區塊鏈的四大核心技術——分布式賬本,共識機制,密碼學以及智能合約,它們在區塊鏈中分別起到了數據的存儲,數據的處理,數據的安全,以及數據的應用作用。總的來說,四大核心技術要區塊鏈中各有各的作用,它們共同構建了區塊鏈的基礎。
一,分布式賬本――儲存作用
首先,分布式賬本構建了區塊鏈的框架,它本質是一個分布式數據庫,當一筆數據產生后,經大家處理,就會儲存在這個數據庫里面,所以分布式賬本在區塊鏈中起到了數據的存儲的作用;區塊鏈由眾多節點共同組成一個端到端的網絡,不存在中心化的設備和管理機構,節點間數據交換通過數字簽名技術進行驗證,無需人為式的互相信任,只要按照既定的規則進行。節點間也無法欺騙其他節點。因為整個網絡都是去中心化的,每個人都是參與者,每個人都有話語權。
二,共識機制――統籌節點,數據處理
其次,因為分布式賬本去中心化的特點,決定了區塊鏈網絡是一個分布式的結構,每個人都可以自由的加入其中,共同參與數據的記錄,但與此同時,就衍生出來令人頭疼的“拜占庭將軍”問題,即網絡中參與的人數越多,全網就越難以達成統一,于是就需要另一套機制來協調全節點賬目保持一致,共識機制就制定了一套規則,明確每個人處理數據的途徑,并通過爭奪記賬權的方式來完成節點間的意見統一,最后誰取得記賬權,全網就用誰處理的數據。所以共識機制在區塊鏈中起到了統籌節點的行為,明確數據處理的作用。
任何人都可以參與到區塊鏈網絡,每一臺設備都能作為一個節點,每個節點都允許獲得一個完整的數據庫,節點間都有一套共識機制,通過競爭,計算,共同維護整個區塊鏈,任一節點失效,其余節點仍能正常工作。相當于認可你的游戲規則,比特幣有比特幣的共識機制,全球認可就可以參與比特幣挖礦,因為你認可了它的共識機制,也可理解為認可它的游戲規則。比特幣的規則就是進行龐大的運算,誰先算出來就給誰獎勵POW。
備注:共識機制跟PoW、PoS、DPoS這些相比,優缺點是什么?
PoW即工作量證明,這是一種非常巧妙的方法,它的優點是:
- 算法簡單,容易實現;
- 節點間無需交換額外的信息即可達成共識;
- 破壞系統需要投入極大的成本;
它的缺點也非常明顯:
- 浪費能源;
- 區塊的確認時間難以縮短;
- 新的區塊鏈必須找到一種不同的散列算法,否則就會面臨比特幣的算力攻擊;
- 容易產生分叉,需要等待多個確認;
- 永遠沒有最終性,需要檢查點機制來彌補最終性;
PoS即權益證明,它將PoW中的算力改為系統權益,擁有權益越大則成為下一個記賬人的概率越大。這種機制的優點是不像Pow那么費電,但是也有不少缺點:
- 沒有專業化,擁有權益的參與者未必希望參與記賬;
- 容易產生分叉,需要等待多個確認;
- 永遠沒有最終性,需要檢查點機制來彌補最終性;
DPoS在PoS的基礎上,將記賬人的角色專業化,先通過權益來選出記賬人,然后記賬人之間再輪流記賬。這種方式依然沒有解決最終性問題。
DBFT(delegated BFT)是一種通用的共識機制模塊,提出了一種改進的拜占庭容錯算法,使其能夠適用于區塊鏈系統。
DBFT是基于區塊鏈技術的一種協議。用戶可以將實體世界的資產和權益進行數字化,通過點對點網絡進行登記發行、轉讓交易、清算交割等金融業務的去中心化網絡協議。小蟻上可以發行中國《合同法》、《公司法》認可的公司股權,不僅是數字貨幣圈,還包括主流互聯網金融。小蟻可以被用于股權眾籌、P2P網貸、數字資產管理、智能合約等。
這種共識機制是在Castro 和 Liskov提出的“實用拜占庭容錯算法”(Practical Byzantine Fault Tolerance)的基礎上,經過改進后使其能夠適用于 區塊鏈系統。拜占庭容錯技術被廣泛應用在分布式系統中,比如分布式文件系統、分布式協作系統、云計算等。dBFT主要做了以下改進:
- 將C/S架構的請求響應模式,改進為適合P2P網絡的對等節點模式;
- 將靜態的共識參與節點改進為可動態進入、退出的動態共識參與節點;
- 為共識參與節點的產生設計了一套基于持有權益比例的投票機制,通過投票決定共識參與節點(記賬節點);
- 在區塊鏈中引入數字證書,解決了投票中對記賬節點真實身份的認證問題;
為什么最終采用一種這樣的方案?
答:區塊鏈作為一種分布式賬本系統,其內部的經濟模型決定了,每一位參與者都可以無需信任其他的參與者,即所謂的去信任。拜占庭將軍問題正是描述了參與者之間如何在去信任的情況下達成共識,而拜占庭容錯技術正是解決此類問題的方法。此外,區塊鏈的網絡環境非常復雜,會面臨網絡延遲、傳輸錯誤、軟件錯誤、安全漏洞、黑客入侵等問題,還有各式各樣的惡意節點,而拜占庭容錯技術正是可以容忍這些錯誤的方案。
dBFT機制,是由權益來選出記賬人,然后記賬人之間通過拜占庭容錯算法來達成共識,這種方式的優點是:
- 專業化的記賬人;
- 可以容忍任何類型的錯誤;
- 記賬由多人協同完成,每一個區塊都有最終性,不會分叉;
- 算法的可靠性有嚴格的數學證明;
缺點:
- 當有1/3或以上記賬人停止工作后,系統將無法提供服務;
- 當有1/3或以上記賬人聯合作惡,且其它所有的記賬人被恰好分割為兩個網絡孤島時,惡意記賬人可以使系統出現分叉,但是會留下密碼學證據;
以上總結來說,dBFT機制最核心的一點,就是最大限度地確保系統的最終性,使區塊鏈能夠適用于真正的金融應用場景。比如我們哥倫布的共識機制DPOS+DBFT的共識機制。如果我們整個節點其中一個人或者一個設備關閉了,那么其他節點仍在正常工作,不會影響整個網絡體系。但是如果騰訊的服務器關閉了,那所有人的微信打不開的,因為你沒有調取數據的地方了,這就是中心化網絡服務器與區塊鏈網絡服務器的一個區別。
三,密碼學――數據的安全,驗證的數據的歸屬,不可篡改可追溯
此外數據進入分布式數據庫中,也不是單純的打包進來就沒事了,底層的數據構架則是由區塊鏈密碼學來決定的,打包好的數據塊,會通過密碼學中哈希函數處理成一個鏈式的結構,后一個區塊包含前一個區塊的哈希值,因為哈希算法具有單向性,抗篡改等特點,所以只在區塊鏈網絡中,數據一旦上鏈就不可篡改,且可追溯,另外你的賬戶也會通過非對稱加密的方式進行加密,進而保證了數據的安全,驗證了數據的歸屬。
單個或多個數據庫的修改無法影響其他數據庫了。除了超過整個網絡51%的數據同時修改,這幾乎不可能發生。區塊鏈中的每一筆交易都通過密碼學方式與相鄰兩個區塊串聯,因此可以追溯到任何一筆交易的前世今生。這里就是區塊鏈的數據結構,區塊頭和區塊體。密碼學 哈希值,時間戳,通過時間戳來決定它的順序,不會打亂。
這個原理運作到我們的商業體系里邊,包括商品體系,我們所說的溯源,可以查詢到商品在哪里生產的,生產原材料是什么,從后往前一步一步查找到,因為我們在每做一步動作的同時把信息數據寫到區塊鏈的體系里,通過這個體系我就可以查找到是不是使用的這個原材料,是不是用這個工藝生產出來的。通過這樣一個數據的結構存儲達到我們共同相信它,這商品的確是這樣生產出來的,相信這是真的。
另外數據無法修改,如果想要修改要達到51%的人才可以,從股權上理解,擁有公司51%的股權在這個公司就有話語權。這只是一個可能性而已。為什么用區塊鏈技術比互聯網技術更歷害、更安全呢,因為他分布開了,如果你想要去修改里面的數據,作為黑客要找到所有記這個賬的計算機,每臺計算機都要修改,也許能很快找到其中一臺把它改掉,但很難把所有的改掉。
區塊鏈里所有的交易信息都是公開的,因此每一筆交易都對所有節點可見,由于節點與節點間是去中心化的,所以節點間無需公開身份,每個節點都是匿名的。比如每臺算能機啟動后,每臺算能機誰啟動誰沒啟動,我們相互間是不知道的,你可以在你家里開啟,這里有個多勞多得的問題。
四,智能合約――執行 應用
最后,可以在分布式賬本的基礎上,搭建應用層面的智能合約。當我們想要解決一些信任問題,可以通過智能合約,將用戶間的約定用代碼的形式,將條件羅列清楚,并通過程序來執行,而區塊鏈中的數據,則可以通過智能合約進行調用,所以智通合約在區塊鏈中起到了數據的執行與應用的功能;
智能合約可幫助您以透明、無沖突的方式交換金錢、財產、股份或任何有價值的物品,同時避免中間商的服務,甚至說智能合約將在未來取代律師這個職務。通過智能合約方式,資產或貨幣被轉移到程序中,程序運行此代碼,并在某個時間點自動驗證一個條件,它會自動確定資產是應該去一個人還是回到另一個人,或者應該立即退還給發送它的人或其組合。(自動強制執行,賴不了賬)與此同時,分散賬本也是存儲和復制文件,使其具有一定的安全性和不變性。
智能合約的特色
- 自治——取消中間人和第三方,你是達成協議的人; 沒有必要依賴經紀人,律師或其他中間人來確認。順便提一句,這也消除了第三方操縱的危險,因為執行是由網絡自動管理的,而不是由一個或多個可能有偏見的個人可能犯錯。
- 信任——您的文件在共享賬本上加密。有人無法說他們失去了它。
- 備份——想象一下,如果你的銀行失去了你的儲蓄賬戶。在區塊鏈上,你的每一個朋友都有你的背影。您的文檔被重復多次。
- 安全——密碼學,網站加密,保證您的文件安全。沒有黑客攻擊。事實上,這需要一個非常聰明的黑客來破解代碼并滲透。
- 速度——您通常不得不花費大量的時間和文書工作來手動處理文檔。智能合約使用軟件代碼來自動執行任務,從而縮短了一系列業務流程的時間。
- 儲蓄節省成本——智能合約可以節省您的資金,因為他們淘汰了中間人。舉例來說,你必須付公證人見證你的交易。
- 準確性——自動化合同不僅更快,更便宜,而且還避免了手工填寫表格所產生的錯誤。
描述智能合約的最佳方式是將該技術與自動售貨機進行比較。通常,你會去找律師或公證人,付錢給他們,等你拿到文件。通過智能合約,您只需將一個比特幣放入自動售貨機(例如分類賬),并將您的托管,駕駛執照或任何東西放入您的賬戶。更重要的是,智能合約不僅以與傳統合同相同的方式定義協議的規則和處罰,還自動執行這些義務。
智能合約與區塊鏈
區塊鏈最好的一點是,因為它是一個分散的系統,存在于所有允許的當事方之間,所以不需要支付中間人(中間人),它可以節省您的時間和沖突。區塊鏈存在問題,但與傳統系統相比,它們的評級,無可否認,速度更快,更便宜,更安全,這也是銀行和政府轉向它們的原因。而利用區塊鏈技術的特性而應用于智能合約,將可以更便捷的提高工作生活中的各種合約。