① 區塊鏈開源技術有哪些
我只說我較為了解的吧,一個是基於比特幣系統做的開源項目,叫cravecoin ,另外一個就是以太坊。我們一開始選擇cravecoin來進行源碼分析想在它之上進行二次開發,但因為以太坊開放性更好,而且很好地支持智能合約,所以分析了一段時間就放棄了。
然後進入以太坊的研究,一開始也想從底層源碼進行動刀,但是整個過程比較艱辛,重新分析我們的需求後覺得利用其現有介面,也能進行一定開發,滿足一些需要,所以把源碼的注釋都翻譯完,基本搞清楚每個模塊的作用後也不再進行進一步的修改工作了,畢竟以太坊也是幾十個大牛花了很長時間才做出來的項目,
我們很難段時間內成功地把它改造成我們想要的樣子,能實現目的,還是越快越容易越好。
而且有一個很重要的問題,要是把以太坊改了,就連不上它的公網了,用不了它世界第二的算力總量,這是一個本末倒置的問題。好像答非所問,但是主要想表達的是,題主如果想做開發,還是認真分析好一個項目就夠了,
畢竟邏輯差不多。要學習更多的區塊鏈知識,關注『區視網』
② 如何搭建自己的區塊鏈
第一部分:從 0 到 1 建立自己的區塊鏈 目錄:
1.1 從模仿開始,初識區塊鏈
1.2 區塊鏈的基礎:共識機制剖析
1.3 共識機制的設計原理和設計方法
1.4 如何快速克隆一條區塊鏈
1.5 如何把比特幣變成自己的私鏈–分叉比特幣
1.6 如何把以太坊變成自己的私鏈–分叉以太坊
1.7 如何把 Ripple 變成自己的私鏈–分叉 ripple
1.8 如何把 stellar 變成自己的私鏈–分叉 stellar 1.9 如何搭建一個礦池,並挖出自己的創始區塊
1.10 如何開發自己的區塊鏈錢包(Windows 和 MAC) 1.11 如何開發自己的區塊鏈錢包(Android 和 IOS) 1.12 如何開發一個類似於 blockchain.info 的在線錢包 1.13 如何增加自己的區塊鏈網路的安全性和魯棒性 1.14 如何利用 coind 來處理充值提現業務
1.15 如何利用資金池搭建一個混幣服務
1.16 如何設計一種新的挖礦演算法
一般情況下都是這個流程,但一般人也是非常難以完成的。區塊鏈成熟的項目有以太坊、DECENT、比特幣等等。
③ 區塊鏈的運行原理和發展,你不得不知!
一、為什麼會有區塊鏈的創新?
第一代互聯網的起點是TCP/IP協議,就是執行一個網路上所有節點統一格式對等傳輸信息的開放代碼。但是這樣一個並不復雜的創新對於人類的影響是劃時代的,她把全球統一市場所需要的基本價值觀:「自由、平等、博愛」,給程序化、協議化、可執行化了。進而派生出STMP郵件協議、HTTP域名協議等,去中心化的實現了全球信息傳遞的低成本高效率。正如阿里巴巴副總裁高紅冰所說:
「互聯網就是消滅那個價值很低、成本很高的(信息)供應鏈——它開放、互聯、對等、全球化、去中心化。」
我們知道:市場的本質也是去中心化的,她自動執行也就是「等價交換」的去中心化協議,就像諾貝爾獎金獲得者羅納德科斯總結的:「市場經濟建立在兩個深厚的認知基礎上:承認無知和包容不確定性。」亞當斯密也形容市場是:「看不見的手」!因此,市場一定需要信息去中心化的低成本流動,互聯網正是適應了全球統一市場形成的大氣候下,橫空出世了。
但是,第一代互聯網去中心化的解決了信息的低成本高效率傳輸的問題,她沒有解決信息的信用問題。因此,第二代互聯網必須突破的是:怎樣去中心化的建立全球信用?讓價值傳遞也低成本高效率進行。
那麼原來的中心化信用體系有什麼問題呢?眾所周知:中心化的信用,如各國法幣,信用價值不同,清算體系也各不兼容,給全球貿易增加了很大成本。目前以美元為中心的全球信用體系,在機制上存在「特里芬悖論」(實質就是一國法幣無法同時兼顧解決本國經濟利益和全球經濟需要的沖突),因此2009年中國央行行長周小川呼籲超主權存儲貨幣的產生,同年,中本聰在網上公開了第一代區塊鏈源代碼————「比特幣」。
二、區塊鏈系統是怎樣運行的?
首先,中本聰很清楚建立一個支付系統的信用必須解決防止「重復支付」問題,也就是不能造假幣。中心化的信用系統是靠國家機器防止造假幣。「比特幣」怎麼辦呢?中本聰伍中的偉大創新是給每一筆交易「蓋時間戳」(timestamp)。每十分鍾一個區塊(block:腔弊山相當於網路賬簿),把這十分鍾的全網交易都正確的蓋上時間戳。問題是誰來蓋呢?中本聰並沒有假設互聯網上都是雷鋒,他同意亞當.斯密的觀點:市場上的人是貪婪的。他讓所謂自稱「礦工」的人去競爭這十分鍾一個區塊的記賬權,競爭的規則就是正確記賬的同時要去解SHA256難題,誰能證明自己的計算機算力最快(所謂PROOF OF WORK 機制),ta就能競爭到這十分鍾區塊的合法記賬權,並得到二十五個比特幣的獎勵卜殲。這就是所謂俗稱的「挖礦」過程,實際是建立一個全網總賬——區塊鏈的去中心化信用過程,所以礦工更本質的職能是「記賬員」!
中本聰在其比特幣白皮書中,比較詳盡的敘述了這個信用系統建立的過程:
第一步:每一筆交易為了讓全網承認有效,必須廣播給每個節點(node:也就是礦工);
第二步:每個礦工節點要正確無誤的給這十分鍾的每一筆交易蓋上時間戳並記入那個區塊(block);
第三步:每個礦工節點要通過解SHA256難題去競爭這個十分鍾區塊的合法記賬權,並爭取得到二十五個比特幣的獎勵(頭四年是每十分鍾五十個比特幣,每四年遞減一半);
第四步:如果一個礦工節點解開了這十分鍾的SHA256難題,ta將向全網公布ta這十分鍾區塊記錄的所有蓋時間戳交易,並由全網其他礦工節點核對;
第五步:全網其他礦工節點核對該區塊記賬的正確性(因為他們同時也在蓋時間戳記賬,只是沒有競爭到合法區塊記賬權,因此無獎勵),沒有錯誤後他們將在該合法區塊之後競爭下一個區塊,這樣就形成了一個合法記賬的區塊單鏈,也就是比特幣支付系統的總賬——區塊鏈。
一般來說,每一筆交易,必須經過六次區塊確認,也就是六個十分鍾記賬,才能最終在區塊鏈上被承認合法交易。以下是比特幣的記賬格式:
所以所謂「比特幣」,就是這樣一個賬單系統:它包括所有者用私鑰進行電子簽名並支付給下一個所有者,然後由全網的「礦工」蓋時間戳記賬,形成區塊鏈。
三、比特幣的區塊鏈金融有哪些創新?
類黃金化,嘗試建立全球互聯網去中心化信用,有可能讓價值在全網高速低費率的流轉(目前每筆轉轉費率是萬分之一);
貨幣總量由密碼學協議約定;
比之於黃金,數字貨幣無限可分;
貨幣價值可以建立在大量的P2P交易之上;
財務管理的完全透明(每筆交易都能在區塊鏈上查到)。
比特幣的區塊鏈全網記賬,在全球互聯網上最高建立了市值100億美元的市值。因此,清華五道口金融學院院長吳曉靈點睛指出:區塊鏈實驗建立了分布式信用,是互聯網TCP/IP的升級版,是從信息傳遞升級到價值傳遞;
四、比特幣的區塊鏈系統有哪些內在缺陷?
比特幣的區塊鏈系統自2009年在互聯網上開源運行以來,有成功的地方,但也顯示出一些難以克服的內在缺陷:
總量不能隨著市場的情況變化,必然暴漲暴跌;
挖礦的高碳,只有不到1%的礦工能夠競爭到沒十分鍾區塊的記賬權,其他參與競爭的99%以上的礦工算力浪費;
每年10%左右的通貨膨脹大大增加了比特幣金融生態的成本,甚至威脅到她的生存;
作為去中心化自組織DAC系統,記賬和發行功能部分運行成本過高。
作為全球支付系統,效率遠遠達不到全球貿易的實際要求。比特幣網路每秒目前最多確認7筆交易,對比之下, Visa的網路系統每秒最快可處理10,000筆交易,支付寶的記錄是2014光棍節每秒鍾80,000筆!
五、區塊鏈技術2.0的發展:
作為區塊鏈的2.0升級發展,首先聚焦在解決比特幣記賬的挖礦高碳上:
在我們討論怎麼克服比特幣挖礦記賬高碳時,清華經濟學研究所的劉濤雄教授指出,挖礦靠算力競爭,最後只有一家競爭到合法記賬權,其他99%的礦工節點都白挖了,浪費了資源,顯然不太合理,如果全網透明的知道下一家區塊的合法記賬權,隨機的在全網產生,就免除了競爭記賬的高碳!我們聽後都大贊劉教授主意高明,因為現在比較成功的二代幣NXT正是這種機制,他們的白皮書叫「透明鍛造」,只是記賬權花落誰家的概率是和每個礦工節點錢包的NXT代幣持有量成正比,這個叫股權證明機制(PROOF OF STOCK)。當然,這也引發了NXT把代幣分發給早期投資開發者不公平的爭論!
RIPPLE是一個區塊鏈半去中心化的方案,利用「可信任網關」(trusted gateways)進行區塊鏈記賬,其信用是建立在這些網關不會同時作惡的共識記賬(consensus ledger)協議上。
最有雄心的嘗試是以太坊(Ethereum),她把區塊鏈的技術和圖靈完備結合起來,期望開發出一套未來滿足各種區塊鏈系統建設的基礎性平台,可以支持各種信用貨幣、數字資產、智能協議甚至金融衍生品的開發.其系統設計是ETHERUM平台統一區塊鏈記賬,為所有開發者共同使用,也許她們的正式版本能在不久地將來發布。
六、區塊鏈的創新在其他領域的可能應用:
現在,區塊鏈在建立去中心化信用的嘗試,已經不限於金融界,而被社會各個領域關注,特別是在中國目前一些中心性信用如「紅會」,處於「塌陷」態勢,區塊鏈更能為社會管理提供一種全新的思路和技術選項,以下是我們了解的一些新進展和相關討論:
區塊鏈和物聯網結合,將數字資產和原子資產統一起來,抹平消費資產和現金資產的區別,擴展大眾的信用,加速價值流通;(IBM-三星)
區塊鏈上建立知識產權保護系統,對知識產權的使用全網記賬,建立全球廣告市場;
區塊鏈是否可以為一帶一路的新興經濟體發行協議型密碼學貨幣提供技術支撐;
區塊鏈+雲計算可以發展成去中心化的自媒體和社區系統;
區塊鏈可以搭建去中心化的股權眾籌體系,讓創新項目提前進入流通領域;
區塊鏈可以發展出全透明的財務管理系統;
區塊鏈支持建立全球去中心化公司組織。
總之,在這個信用已經成為緊缺資源的時代,區塊鏈的技術創新,作為一種分布式信用的模式,為全球市場的金融、社會管理、人才評價和去中心化組織建設等,都提供了一個廣闊的發展前景。
④ 只用十分鍾判定某個虛擬幣的真假——幣圈小白防坑指南
最近有太多太多的朋友問我什麼幣(或者什麼鏈)是否為真的區塊鏈項目,說實話我不想得罪人,說謊話又沒必要,所以在這里教大家幾個最簡便的判斷方法,自行判斷即可,大概三個步驟,十分鍾左右。
你不需要看主頁裡面那些花里胡哨的內容,直接拉到最底下,正規的公鏈項目有下面這個圖標。
看到右上角那個圈裡一個小貓的圖標沒有。如果沒有,基本上都是 假區塊鏈項目 。後面二三步就不用看了。
然後我們點那個小貓進去,看右上角的三個圖標。如果star和fork都是0, 基本上屬於山寨的區塊鏈項目。
如果你的頁面長這樣,那也是看裡面所有的星星和分叉圖標後面的數。
有一個網站叫做coinmarketcap,是全球最大的虛擬幣收錄中心,網路一下就行。進入在右上角去找到搜索欄。
輸入你的幣名(英文全稱或者英文簡稱),比如我們這里輸入ABC,裡面會有好幾個提示,我們選擇一個進去,看看哪個是,如果都沒有,說明這個幣沒通過資格審核。如果有,但不確定,可以看一下這個幣左上角有一個官網地址,點進去看看跟第一步說的網站是否一致。
如果沒有通過資格審核,或者如果有同樣名字的幣在裡面,但對應的官網地址不一樣,說明這個幣很可能是假區塊鏈。
公鏈也好,dapp也好,都會有不同程度的源碼開源,一般來說,公鏈會對桌面錢包開源,而dapp會對智能合約開源。否則的話是無法通過審核的。而目前最大的開源網站就是github(圖標長的像小貓的就是)。所以說在主頁連源碼都找不到的基本上都是假區塊鏈項目。 這就是第一步。
很多項目方為了迷惑小白,也會弄一個所謂的區塊鏈源碼放github上面,但區塊鏈開發者基本上都能看出來。那小白最簡單的方法就是看star和fork,前者表示該項目的關注度,後者表示該項目的克隆數,如果這兩個值加起來都不到10,那基本上就是沒什麼技術含量的克隆項目。 這就是第二步。
另外在這里特別說明一下,只有手機錢包,而其他的東西一概都沒有;或者只有中文主頁,但沒有英文主頁,也沒有開源地址的,基本上100%都是假區塊鏈。
在這里,真心的希望大家往裡投幾萬幾十萬之前,花十分鍾簡單查一下。
⑤ 區塊鏈項目的代碼都需要來源嗎為什麼
區塊鏈是一個共識機制,這意味著這種參與者必須是透明的,也就是說,這種運行的代碼必須是開源代碼,所謂開源代碼,就是代碼都是可見的。
每個人可以編譯並執行自己編譯的程序,也意味著每個人都可以修改其中的代碼並運行,現在機制下,可以做到不管如何修改代碼,只要這些修改代碼的人沒有超過51%,那這種修改是沒有意義的,反而浪費自己的算力。
所以,至少參與的人,必須是需要知道代碼的,如果一個區塊鏈項目,代碼沒有開源,那麼那麼運行他的程序的節點都是不透明的,相當於你把他的代理人裝到了自己的節點上,要代表這個所有人執行命令了。相當於系統開發商控制了整個網路。這種區塊鏈怎麼可行呢?
從理念角度去看,將區塊鏈項目比作機器的話,本身的工作機制是透明的,是一個可以信任的機器。對此是這樣理解的,第一,開源是區塊鏈項目的一個必選項,而不是可選項,不論是公有鏈還是聯盟項目都需要進行開源;第二,開源和交付源代碼,是兩個不同的概念,交付源代碼並非是公開、透明,大家共同參與的一個過程。
比如在以太坊中,曾經因為在其平台上運行的某個平台幣,存在漏洞,需要進行修改,這種修改是直接體現在代碼上的,閱讀代碼的過程中,就發現有多處出現該幣的相關代碼,就是用於處理一旦碰見了這個問題,節點應如何處理,這些處理方法都是開源代碼里寫的,每個人都可以閱讀,如果節點的負責人認可這種解決方案,他就會運行這個程序,相當於支持這種代碼的決定,事實上區塊鏈也就是通過這種機制來實現。
⑥ 區塊鏈系統開發-區塊鏈交易系統開發-的核心技術有哪些
區塊鏈技術是當今新興的一項技術,但這么說也不太妥當,因為十年前比特幣的出現這項技術也隨之誕生,但說其是當下很火熱的技術是沒問題的。區塊鏈技術經過10年來的不斷更新,終於在近兩年都有了相關的應用落地,且進入了區塊鏈3.0時代,未來的3-5年,相信會有更多的領域需要區塊鏈系統來支撐。下面區塊鏈系統開發路普達(loopodo)小編就帶大家來看一下,區塊鏈系統開發的幾大核心技術。
一、哈希演算法
哈希演算法是區塊鏈系統開發中用的最多的一種演算法,哈希函數(Hash Function),也稱為散列函數或雜湊函數,哈希函數可將任意長度的資料經由Hash演算法轉換為一組固定長度的代碼,原理是基於一種密碼學上的單向哈希函數,這種函數很容易被驗證,但是卻很難破解。通常業界使用y =h (x)的方式進行表示,該哈希函數實現對x進行運算計算出一個哈希值y。
二、非對稱加密演算法
非對稱加密演算法是一種密鑰的保密方法,非對稱加密演算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種演算法叫作非對稱加密演算法
三、共識機制
所謂「共識機制」,是通過特殊節點的投票,在很短的時間內完成對交易的驗證和確認;對一筆交易,如果利益不相乾的若干個節點能夠達成共識,我們就可以認為全網對此也能夠達成共識。
現今區塊鏈的共識機制可分為四大類:工作量證明機制(PoW)、權益證明機制(PoS)、股份授權證明機制(DPoS)和Pool驗證池。
四、智能合約
智能合約就是傳統合約的數字化網路化版本。它們是區塊鏈上運行的計算機程序,可以滿足在源代碼中寫入的條件時自行執行。智能合約一旦編寫好就可以被用戶信賴,合約條款就不會被改變,因此合約是不可更改的,並且任何人也不能修改。
開發發人員會為智能合約編寫代碼,這樣就是用於交易和兩方乃至多方之間的任何交換行為。代碼里會包含一些觸發合約自動執行的條件。一旦完成編寫,智能合約就會自動被上傳到網路上。數據上傳到所有設備上以後,用戶就可以與執行程序代碼的結果達成協議。
五、分布式存儲
分布式存儲是通過網路使用企業中的每台機器上的磁碟空間,並將這些分散的存儲資源構成一個虛擬的存儲設備,數據分散的存儲在企業的各個角落。海量的數據按照結構化程度來分,可以大致分為結構化數據,非結構化數據,半結構化數據。
路普達網路科技專注區塊鏈系統開發,以太坊開發,區塊鏈交易系統開發、虛擬幣平台開發,幣幣交易系統開發、數字貨幣錢包系統開發
⑦ 專業開發礦機挖礦系統模式|區塊鏈DAPP挖礦模式開發
礦機挖礦系統軟體開發搭建,礦機挖礦系統軟體開發案例,礦機挖礦系統源碼開發,礦機挖礦系統APP開發需求,礦機挖礦軟體系統開發案例,礦機挖礦定製系統開發,礦機挖礦系統軟體開發,區塊練中所有數據前後相連成能夠構成一個無法篡改的時間節點,這樣所有的在區塊上發生的事件都能夠貼上一套無可偽造的真實記錄,區塊練技術的去中心化能夠解決數據追蹤以及信息的防偽問題
一、區塊鏈挖/礦系統是什麼?
區塊鏈挖礦系統主要採用「 娛樂 即挖/礦」的全新玩法,為 娛樂 賦能,打破傳統游/戲商/業模式。用戶在平台通過玩游/戲即可產生「算力」,從而實現「挖/礦」,挖到的礦可用於游/戲內道/具購/買,也可到交/易所進行區/塊鏈資/產兌/換。
二、區塊鏈挖礦有哪些類型?
1、主鏈挖/礦系統:
致力於主鏈、聯盟鏈、私有鏈搭建。基於分布式部署、各種智能合約、共識機制、可擴展性強、高TPS的性能搭建商/業化主鏈系統
2、錢/包挖/礦系統:
區塊鏈錢/包挖/礦系統開發支持多鏈、多幣種、多語言、多模式。私鑰自持,唯一助記詞,安全無憂!支持錢/包內置各類DAPP,持/幣生/息、共振模式、分/銷經濟等多種模式
3、交/易系統:
支持幣/幣交/易、OTC交/易、合/約交/易、杠/桿交/易等多種交/易形式。專業、多維度的安全系統、市值管理系統、預/警系統以及財/務多個管理系統。支持PC、iOS、Android多端同時登陸。
4、區塊鏈瀏覽器:
是瀏覽區塊鏈信息的主要窗口,每一個區塊所記載的內容都可以從區塊鏈瀏覽器上進行查閱。方便數字資產用戶使用區塊鏈瀏覽器查詢記錄在區塊中的交易信息,信息全網公開透明
5、DAPP挖/礦系統:
結合行業特定需求,定製開發去中心化應用。方案設計、通證模型設計、生態角色設計以及Token流通設計等。包含區塊鏈商城、虛擬挖/礦、公益事業等多款行業類型應用
6、挖/礦系統:
實體挖/礦服務提供機器購買、轉售、回購、運輸、維修服務。對接國國內外合規礦場,礦池、電力等資源,不限礦機台數,資/金隨進隨出,挖礦收/益日結
7、虛擬挖/礦服務:
提供定製化的虛擬挖/礦系統開發,支持中心化服務和去中心化服務。
8、行業解決方案:
根據行業定製化符合企業現狀的區塊鏈解決方案。其中包括供應鏈金/融、內容版權、電商積分、跨境支/付、通用溯源以及各類行業,為企業持續發展共創價值生態你所有的想法和需求。
二、區塊鏈挖礦APP怎麼玩?
目前市場上的區塊鏈挖礦模式千變萬化,呈現了各種各樣的挖礦模式,今天我將要介紹的區塊鏈挖礦系統系統,它是一種主流的挖礦模式,商戶可以在這個基礎上去自定義玩法。
例如,在區塊鏈礦機APP平台,用戶可以通過注冊會員成為礦工,礦工可以通過各種行為挖礦賺取收益,比如購買一台專用的挖礦設備,就可以開始挖礦了,再比如:購買即挖礦、交易即挖礦、簽到即挖礦、評價即挖礦、買礦機即挖礦、邀人即挖礦等。也就是說,用戶在區塊鏈平台上任務操作都可視為挖礦行為。
用戶每一次的挖礦行為,都在為平台做貢獻值,平台理應給予幣的獎勵。而用戶挖到的礦可以在商戶自己的生態里流轉,例如,可在平台進行買入、賣出等理財交易,亦可用來購買抵扣、提現等。
⑧ Fabric源碼分析之Peer鏈碼安裝
environment:
fabric v1.4.2
在Fabric中交易的處理過程,客戶端將提案首先發送到背書節點,背書節點檢提案的合法性。如果合法的話,背書節點將通過交易所屬的鏈碼臨時執行一個交易,並執行背書節點在本地持有的狀態副本。
Chaincode應該僅僅被安裝於chaincode所有者的背書節點上,鏈碼運行在節點上的沙盒(Docker容器)中,並通過gRPC協議與相應的Peer節點進行交互,以使該chaincode邏輯對整個網路的其他成員保密。
請務必在一條channel上每一個要運行你chaincode的背書節點上安裝你的chaincode
其他沒有chaincode的成員將無權成為chaincode影響下的交易的認證節點(endorser)。也就是說,他們不能執行chaincode。不過,他們仍可以驗證交易並提交到賬本上。
ChainCode要在區塊鏈網路中運行,需要經過鏈碼安裝和鏈碼實例化兩個步驟。
鏈碼的安裝涉及到3個服務,分別是client,peer背書節點和LSCC容器
主要流程:
以下是在客戶端執行 "peer chaincode install ..." 的業務流程圖:
客戶端執行鏈碼安裝命令:
客戶端的整個流程切入點為 fabric/peer/main.go 的 main 函數
然後繼續找到 peer/chaincode/chaincode.go
繼續找到 peer/chaincode/install.go 的 installCmd 函數,可以看出 chaincodeInstall 為主要的入口函數
我們進去看看 InitCmdFactory 做了什麼,位置在 peer/chaincode/common.go
返回了 ChaincodeCmdFactory 的結構體,定義為:
找到定義 genChaincodeDeploymentSpec
先看 getChaincodeSpec ,位於 peer/chaincode/common.go
封裝返回 ChaincodeSpec 結構體
剛才生成的 ChaincodeSpec 作為 getChaincodeDeploymentSpec 函數的輸入參數,返回 ChaincodeDeploymentSpec 結構體
CreateInstallProposalFromCDS 位於 protos/utils/proutils.go
調用 createProposalFromCDS
從結構體 ChaincodeInvocationSpec 可以看到用戶鏈碼安裝需要調用到系統鏈碼 lscc
通過 CreateProposalFromCIS=>CreateChaincodeProposal=>
再看 函數
最後返回 Proposal 結構體,定義見 protos\peer\proposal.pb.go
到這里 install 調用的 CreateInstallProposalFromCDS 完畢,返回 Proposal 結構體
關系有點復雜,給出一個類圖能看得清晰點
回到 install ,看 GetSignedProposal 對剛創建的提案結構進行簽名
函數位於 protos/utils/txutils.go
返回 SignedProposal 結構體,定義位於 protos/peer/proposal.pb.go
提案簽名完後 install 調用 ProcessProposal 發送提案到peer節點進行處理,參數帶了 SignedProposal 結構體
接下來client端就等到peer的 proposalResponse
當client調用了 ProposalResponse 消息就發送到peer背書節點,也就是走peer節點背書提案流程.
要看安裝鏈碼前做了什麼,直接看 peer節點背書提案流程 就好。
我們從 core/endorser/endorser.go 的 callChaincode=>Execute 函數開始講
在 core/chaincode/chaincode_support.go 找到 Execute
主要看 Invoke :
根據之前的信息,我們調用的是 lscc 來安裝鏈碼,所以在peer啟動的時候已經初始化 lscc 鏈碼容器了,所以回直接返回 handler 對象,後面的語句就不說了,在啟動鏈碼容器的章節再詳細研究。
接著我們看 execute 函數,調用 createCCMessage 創建一個 ChaincodeMessage結構體消息 . Execute 負責把消息發送出去
在 core/chaincode/handler.go 找到 Execute
這里關鍵是 h.serialSendAsync(msg) 語句,功能是把包裝好的信息以grpc協議發送出去,直接就等返回結果了。
至此 Execute 調用的 Invoke 就在等返回結果,結果返回就調用 對鏈碼結果進行處理
peer發送的信息哪去了呢?
我們定位到 code/chaincode/shim/chaincode.go ,我們看到兩個入口函數 Start 和 StartInProc , Start 為用戶鏈碼的入口函數,而 StartInProc 是系統鏈碼的入口函數,他們同時都調用了 chatWithPeer ,因為我們調用的是lscc,就看 StartInProc
chatWithPeer就是開啟grpc的接收模式在等到節點發來信息,接收到信息後就調用 handleMessage 處理信息。
因為我們信息類型為 ChaincodeMessage_TRANSACTION ,所以我們在 core/chaincode/shim/handler.go 順著 handleMessage=>handleReady 扎到 handleTransaction
其中關鍵語句 res := handler.cc.Invoke(stub) ,這語句是調用相應鏈碼的 Invoke 函數,所以我們找到 core/scc/lscc/lscc.go 下的 Invoke 函數
進去 core/scc/lscc/lscc.go 的 Invoke 函數可以看到,這里有 "INSTALL", "DEPLOY", "UPGRADE" 等操作,我們只看 INSTALL 部分。
關鍵調用函數是 executeInstall
接著看 executeInstall
HandleChaincodeInstall 為處理statedb,而 PutChaincodeToLocalStorage 是把鏈碼文件安裝到本地文件目錄
鏈碼安裝到peer的默認路徑 /var/hyperledger/proction/chaincodes
到此鏈碼的安裝完畢
lscc鏈碼安裝完畢後,返回信息給peer節點,peer節點就給提案背書返回給client服務端,至此鏈碼安裝完畢。
github
參考:
5-ChainCode生命周期、分類及安裝、實例化命令解析
fabric源碼解讀【peer chaincode】:安裝鏈碼
Fabric1.4源碼解析:客戶端安裝鏈碼
⑨ HyperLedgerFabric源碼解讀(5)-channel
// 在hyperledger fabric中 通道channel其實就是在至少兩個成員(members)或組織(orgnization)間專門為私人或機密進行的交易而建立的私有「子網」.
// 一個通道主要包含:成員-member(組織-orgnization)、每個成員的錨節點(anchor peer)、共享賬本(sharing ledger)、應用鏈碼(application chaincode)、排序服務節點(orderer peer)
// 網路中的每筆交易(transaction)都在指定的通道channel中執行,每個通信方必須經過身份驗證並授權在該通道channel上進行交易。而加入channel的每個peer都具有成員服務提供商(members service provider MSP)提供的身份
// 1、創建channel:通過客戶端SDK調用configuration system chaincode以及應用屬性(錨點、成員[組織]等)。發起的請求為channel ledger創建一個創世區塊(genesis block),存儲有關channel的策略、成員、錨點等配置信息
// 當將新成員添加到現有的channel時,Genesis block或最近被配置的區塊block分享給新成員
// 2、leader election: channel中每個成員的leadering peer的選舉決定了哪個peer代表成員或組織與orderering service進行通信。(若是沒有指定leader 則使用演算法來指定leader)
// 共識演算法將交易排序並以一個block的形式發送給一個leader,然後再由leader分發給其他peer,並用gossip協議進行跨鏈channel通信
// 在實際情況中任意一個錨節點可以屬於多個通道,並維護了多個賬本,但不會有任何賬本數據從一個通道channel傳到另一個通道channel
// 主要是由於賬本的分離是基於通道來的,而分離有事在配置鏈碼chaincode、成員標識不玩和gossip協議來定義和實現的
// (1)、數據的傳播,包括交易的信息,賬本狀態和通道成員等都在通道內受限制的驗證成員身份的節點之間,是根據通道對節點和賬本數據進行隔離,允許網路成員可以在同一個區塊鏈網路中請求私有的和保密的交易給業務上的競爭對手和其他受限的成員。
⑩ 一文看懂互聯網區塊鏈
一文看懂互聯網區塊鏈
一文看懂互聯網區塊鏈,要了解區塊鏈,就不得不從互聯網的誕生開始研究區塊鏈的技術發展簡史,從中發掘區塊鏈產生的動因,並由此推斷區塊鏈的未來。下面讓我們一文看懂互聯網區塊鏈。
區塊鏈的鼻祖就是麻將,最早的區塊鏈是中國人發明的!區塊鏈就跟麻將一樣,只不過麻將的區塊比較少而已,麻將只有136個區塊,各地麻將規則不同可視作為比特幣的硬分叉。
麻將作為最古老的區塊鏈項目,四個礦工一組,最先挖出13位正確哈希值的獲得記賬權以及獎勵,採用願賭服輸且不能作弊出老千的共識機制!
麻將去中心化,每個人都可以是庄,完全就是點對點。
礦池=棋牌室的老闆抽佣。
不可篡改,因為說服其他三個人需要消耗太多算力和體力。
典型的價值互聯網。我兜里的價值用不了八圈,就跑到他們兜里去了。
中國人基本上人手打得一手好麻將,區塊鏈方面生產了全球70%~80%的礦機,並擁有全世界最多的算力,約佔77%的算力
麻將其實是最早的的區塊鏈項目:
1,四個礦工一組,先碰撞出13個數字正確哈希值的礦工可以獲得記賬權並得到獎勵。
2,不可篡改。因為說服其他三個人需要消耗太多算力和體力。
3,典型的價值互聯網。我兜里的價值數字貨幣www.gendan5.com/digitalcurrency/btc.html用不了八圈,就跑到他們兜里去了。
4、去中心化,每個人都可以是庄,完全就是點對點。
5、UTXO,未花費的交易支出。
還有另外一種賒賬的區塊鏈玩法,假設大家身上都沒現金
細究一下,在大家達成共識時,我們看不到任何中介或者第三方出來評判丙贏了,大家給丙的獎勵也不需要通過第三方轉交給丙,都是直接點對點交易,這一過程就是去中心化,牌友們(礦工)各自記錄了第一局的戰績,丙大胡自摸十三幺,乙杠了甲東風,記錄完成後就生成了一個完整的區塊,但要記住,這才只是第一局,在整個區塊鏈上,這才僅僅是一個節點,開頭說的8局打完,也就是8個節點(區塊),8個區塊連接在一起就形成了一個完整賬本,這就是區塊鏈。因為這個賬本每人都有一個,所以就是分布式賬本,目的就是為了防止有人篡改記錄,打到最後,誰輸誰贏一目瞭然。
4個男士(甲乙丙丁)湊在一塊打麻將來錢,大家都沒帶現金,於是請一美女(中心化)用本子記賬,記錄每一局誰贏了多少錢、誰輸了多少錢?最後結束時,大家用支付寶或微信支付結總賬,但是如果這位美女記賬時記錯了或者預先被4人中的某人買通了故意記錯,就保證不了這個游戲結果的公正公平合理性,你說是不是?那怎麼辦呢?如果你「打麻將」能用「區塊鏈」作為游戲規則改編為如下:
4個男士(甲乙丙丁)湊在一塊打麻將來錢,大家都沒帶現金,乙說讓她帶來的美女記賬,甲說這位美女我們都不認識,於是甲乙丙丁4人一致約定每個人每局牌都在自己的手機上(區塊鏈節點)同時記賬(去中心化),最後打完麻將,直接手機上以電子貨幣結賬時,大家都對一下記賬的的結果,本來應該是一樣的記賬結果。
假設本來結果是甲手機上記的賬:乙欠甲10元。但乙手機上的記錄卻是不欠,可是其餘2人(丙、丁)和甲的記賬一樣,那還是按照少數服從多數規則結算,另外大家心裡對乙的誠信印象就差評了,下次打麻將就不會帶乙一起玩了。
除非乙預先買通(丙、丁)2人讓其故意作假,但乙買通他們2人的代價是10萬元(賴賬10元的1萬倍),那常理上乙只能選擇放棄,因為做假成本太高了。
假設即使乙在打牌的過程中,偷偷願意以高價10萬元預先買通丙、丁做這筆巨虧的傻貓交易,但區塊鏈的規則是按時間戳記賬的,原來是下午1點鍾記賬乙欠甲10元的,即丙和丁下午3點鍾再改賬時,時間是不可逆的,只能記下午3點鍾,那就又不吻合游戲規則了。
實際上在2017年博主已經開發出了一套麻將幣
中國最早的區塊鏈項目:四個礦工一組,最先從 148 個隨機數字中碰撞出 14 個數字正確哈希值的礦工,可以獲得一次記賬權激勵,由於分布式記賬需要得到其他幾位礦工的共識,因此每次記賬交易時間長約十幾分鍾。
一、比特幣誕生之前,5個對區塊鏈未來有重大影響的互聯網技術
1969年,互聯網在美國誕生,此後互聯網從美國的四所研究機構擴展到整個地球。在應用上從最早的軍事和科研,擴展到人類生活的方方面面,在互聯網誕生後的近50年中,有5項技術對區塊鏈的未來發展有特別重大的意義。
1、1974誕生的TCP/IP協議:決定了區塊鏈在互聯網技術生態的位置
1974年,互聯網發展邁出了最為關鍵的一步,就是由美國科學家文頓瑟夫和羅伯特卡恩共同開發的互聯網核心通信技術--TCP/IP協議正式出台。
這個協議實現了在不同計算機,甚至不同類型的網路間傳送信息。所有連接在網路上的計算機,只要遵照這個協議,都能夠進行通訊和交互。
通俗的說,互聯網的數據能穿過幾萬公里,到達需要的計算機用戶手裡,主要是互聯網世界形成了統一的信息傳播機制。也就是互聯網設備傳播信息時遵循了一個統一的法律-TCP/IP協議。
理解TCP/IP協議對掌握互聯網和區塊鏈有非常重要的意義,在1974年TCP/IP發明之後,整個互聯網在底層的硬體設備之間,中間的網路協議和網路地址之間一直比較穩定,但在頂層應用層不斷涌現層出不窮的創新應用,這包括新聞,電子商務,社交網路,QQ,微信,也包括區塊鏈技術。
也就是說區塊鏈在互聯網的技術生態中,是互聯網頂層-應用層的一種新技術,它的出現,運行和發展沒有影響到互聯網底層的基礎設施和通訊協議,依然是按TCP/IP協議運轉的眾多軟體技術之一。
2、1984年誕生的思科路由器技術:是區塊鏈技術的模仿對象
1984年12月,思科公司在美國成立,創始人是斯坦福大學的一對夫婦,計算機中心主任萊昂納德·波薩克和商學院的計算機中心主任桑蒂·勒納,他們設計了叫做「多協議路由器」的聯網設備,放到互聯網的通訊線路中,幫助數據准確快速從互聯網的一端到達幾千公里的另一端。
整個互聯網硬體層中,有幾千萬台路由器工作繁忙工作,指揮互聯網信息的傳遞,思科路由器的一個重要功能就是每台路由都保存完成的互聯網設備地址表,一旦發生變化,會同步到其他幾千萬台路由器上(理論上),確保每台路由器都能計算最短最快的路徑。
大家看到路由器的運轉過程,會感到非常眼熟,那就是區塊鏈後來的重要特徵,理解路由器的意義在於,區塊鏈的重要特徵,在1984年的路由器上已經實現,對於路由器來說,即使有節點設備損壞或者被黑客攻擊,也不會影響整個互聯網信息的傳送。
3、隨萬維網誕生的B/S(C/S)架構:區塊鏈的對手和企圖顛覆的對象
萬維網簡稱為Web,分為Web客戶端和伺服器。所有更新的信息只在Web伺服器上修改,其他幾千,上萬,甚至幾千萬的客戶端計算機不保留信息,只有在訪問伺服器時才獲得信息的數據,這種結構也常被成為互聯網的B/S架構,也就是中心型架構。這個架構也是目前互聯網最主要的架構,包括谷歌、Facebook、騰訊、阿里巴巴、亞馬遜等互聯網巨頭都採用了這個架構。
理解B/S架構,對與後續理解區塊鏈技術將有重要的意義,B/S架構是數據只存放在中心伺服器里,其他所有計算機從伺服器中獲取信息。區塊鏈技術是幾千萬台計算機沒有中心,所有數據會同步到全部的計算機里,這就是區塊鏈技術的核心,
4、對等網路(P2P):區塊鏈的父親和技術基礎
對等網路P2P是與C/S(B/S)對應的另一種互聯網的基礎架構,它的特徵是彼此連接的多台計算機之間都處於對等的地位,無主從之分,一台計算機既可作為伺服器,設定共享資源供網路中其他計算機所使用,又可以作為工作站。
Napster是最早出現的P2P系統之一,主要用於音樂資源分享,Napster還不能算作真正的對等網路系統。2000 年3月14 日,美國地下黑客站點Slashdot郵寄列表中發表一個消息,說AOL的Nullsoft 部門已經發放一個開放源碼的Napster的克隆軟體Gnutella。
在Gnutella分布式對等網路模型中,每一個聯網計算機在功能上都是對等的,既是客戶機同時又是伺服器,所以Gnutella被稱為第一個真正的對等網路架構。
20年裡,互聯網的一些科技巨頭如微軟,IBM,也包括自由份子,黑客,甚至侵犯知識產權的犯罪分子不斷推動對等網路的發展,當然互聯網那些希望加強信息共享的理想主義者也投入了很大的熱情到對等網路中。區塊鏈就是一種對等網路架構的軟體應用。它是對等網路試圖從過去的沉默爆發的標桿性應用。
5、哈希演算法:產生比特幣和代幣(通證)的關鍵
哈希演算法將任意長度的數字用哈希函數轉變成固定長度數值的演算法,著名的哈希函數如:MD4、MD5、SHS等。它是美國國家標准暨技術學會定義的加密函數族中的一員。
這族演算法對整個世界的運作至關重要。從互聯網應用商店、郵件、殺毒軟體、到瀏覽器等、,所有這些都在使用安全哈希演算法,它能判斷互聯網用戶是否下載了想要的東西,也能判斷互聯網用戶是否是中間人攻擊或網路釣魚攻擊的受害者。
區塊鏈及其應用比特幣或其他虛擬幣產生新幣的過程,就是用哈希演算法的函數進行運算,獲得符合格式要求的數字,然後區塊鏈程序給予比特幣的獎勵。
包括比特幣和代幣的挖礦,其實就是一個用哈希演算法構建的小數學游戲。不過因為有了激烈的競爭,世界各地的人們動用了強大的伺服器進行計算,以搶先獲得獎勵。結果導致互聯網眾多計算機參與到這個小數學游戲中,甚至會耗費了某些國家超過40%的電量。
二、區塊鏈的誕生與技術核心
區塊鏈的誕生應該是人類科學史上最為異常和神秘的發明和技術,因為除了區塊鏈,到目前為止,現代科學史上還沒有一項重大發明找不到發明人是誰。
2008年10月31號,比特幣創始人中本聰(化名)在密碼學郵件組發表了一篇論文——《比特幣:一種點對點的電子現金系統》。在這篇論文中,作者聲稱發明了一套新的不受政府或機構控制的電子貨幣系統,區塊鏈技術是支持比特幣運行的基礎。
論文預印本地址在http://www.bitcoin.org/bitcoin.pdf,從學術角度看,這篇論文遠不能算是合格的論文,文章的主體是由8個流程圖和對應的解釋文字構成的, 沒有定義名詞、術語,論文格式也很不規范。
2009年1月,中本聰在SourceForge網站發布了區塊鏈的應用案例-比特幣系統的開源軟體,開源軟體發布後, 據說中本聰大約挖了100萬個比特幣.一周後,中本聰發送了10個比特幣給密碼學專家哈爾·芬尼,這也成為比特幣史上的第一筆交易。伴隨著比特幣的蓬勃發展,有關區塊鏈技術的研究也開始呈現出井噴式增長。
向大眾完整清晰的解釋區塊鏈的確是困難的事情,我們以比特幣為對象,盡量簡單但不斷深入的介紹區塊鏈的技術特徵。
1、區塊鏈是一種對等網路(P2P)的軟體應用
我們在前文提過,在21世紀初,互聯網形成了兩大類型的應用架構,中心化的B/S架構和無中心的對等網路(P2P)架構,阿里巴巴,新浪,亞馬遜,網路等等很多互聯網巨頭都是中心化的B/S架構,簡單的說,就是數據放在巨型伺服器中,我們普通用戶通過手機,個人電腦訪問阿里,新浪等網站的伺服器。
21世紀初以來,出現了很多自由分享音樂,視頻,論文資料的軟體應用,他們大部分採用的是對等網路(P2P)架構,就是沒有中心伺服器,大家的個人計算機都是伺服器,也都是客戶機,身份平等。但這類應用一直沒有流行起來,主要原因是資源消耗大,知識版權有問題等。區塊鏈就是這種領域的一種軟體應用。
2、區塊鏈是一種全網信息同步的對等網路(P2P)軟體應用
對等網路也有很多應用方式,很多時候,並不要求每台計算機都保持信息一致,大家只存儲自己需要的的信息,需要時再到別的計算機去下載。
但是區塊鏈為了支持比特幣的金融交易,就要求發生的每一筆交易都要寫入到歷史交易記錄中,並向所有安裝比特幣程序的計算機發送變動信息。每一台安裝了比特幣軟體的計算機都保持最新和全部的.比特幣歷史交易信息。
區塊鏈的這個全網同步,全網備份的特徵也就是常說的區塊鏈信息安全,不可更改來源。雖然在實際上依然不是絕對的安全,但當用戶量非常大時,的確在防範信息篡改上有一定安全優勢。
3、區塊鏈是一種利用哈希演算法產生」通證(代幣)」的全網信息同步的對等網路(P2P)軟體應用
區塊鏈的第一個應用是著名的比特幣,討論到比特幣時,經常會提到的一個名詞就是「挖礦」,那麼挖礦到底是什麼呢?
形象的比喻是,區塊鏈程序給礦工(游戲者)256個硬幣,編號分別為1,2,3……256,每進行一次Hash運算,就像拋一次硬幣,256枚硬幣同時拋出,落地後如果正巧編號前70的所有硬幣全部正面向上。礦工就可以把這個數字告訴區塊鏈程序,區塊鏈會獎勵50個比特幣給礦工。
從軟體程序的角度說,比特幣的挖礦就是用哈希SHA256函數構建的數學小游戲。區塊鏈在這個小游戲中首先規定了一種獲獎模式:給出一個256位的哈希數,但這個哈希數的後70位全部是0,然後游戲者(礦工)不斷輸入各種數字給哈希SHA256函數,看用這個函數能不能獲得位數有70個0的數字,找到一個,區塊鏈程序會獎勵50個比特幣給游戲者。實際的挖坑和獎勵要更復雜,但上面的舉例表達了挖礦和獲得比特幣的核心過程。
2009年比特幣誕生的時候,每筆賞金是50個比特幣。誕生10分鍾後,第一批50個比特幣生成了,而此時的貨幣總量就是50。隨後比特幣就以約每10分鍾50個的速度增長。當總量達到1050萬時(2100萬的50%),賞金減半為25個。當總量達到1575萬(新產出525萬,即1050的50%)時,賞金再減半為12.5個。根據比特幣程序的設計,比特幣總額是2100萬。
從上述介紹看,比特幣可以看做一個基於對等網路架構的猜數小游戲,每次正確的猜數結果獎勵的比特幣信息會傳遞給所有游戲者,並記錄到每個游戲者的歷史資料庫中。
4、區塊鏈技術因比特幣的興起產生的智能合約,通證、ICO與區塊鏈基礎平台
從上面的介紹看,比特幣的技術並不是從天上掉下來的新技術,而是把原來多種互聯網技術,如對等網路架構,路由的全網同步,網路安全的加密技術巧妙的組合在一起,算是一種組合創新的演算法游戲。
由於比特幣通過運作成為可以兌換法幣,購買實物,通過升值獲得暴利,全世界都不淡定了。抱著你能做,我也能做的態度,很多人創造了自己的仿比特幣軟體應用。同時利用政府難以監管對等網路的特點,各種山寨幣與比特幣一起爆發。這其中出現了很多欺詐和潛逃事件,逐步引起各國政府的關注。
區塊鏈基礎平台:用區塊鏈技術框架創建貨幣還是有相當的技術難度,這時區塊鏈基礎平台以太坊等基礎技術平台出現了,讓普通人也可以方便的創建類「比特幣」軟體程序,各顯神通,請人入局挖幣,炒幣,從中獲得利益。
通證或代幣:各家「比特幣」、「山寨幣」如果用哈希演算法創建的猜數小游戲,產生自己的「貨幣」時,這個「貨幣」統稱「通證」或「代幣」。
ICO:由於比特幣和以太幣已經打通與各國法幣的兌換,其他新虛擬幣發幣時,只允許用比特幣和以太幣購買發行的新幣,這樣的發幣過程就叫ICO,ICO的出現放大了比特幣,以太幣的交易量。同時很多ICO項目完全建立在虛無的項目上,導致大量欺詐案例頻發。進一步加深了社會對區塊鏈生成虛擬貨幣的負面認識。
智能合約:可以看做區塊鏈上的一種軟體功能,是輔助區塊鏈上各種虛擬幣交易的程序,具體的功能就像淘寶上支付寶的資金託管一樣,當一方用戶收到的貨物,在支付寶上進行確認後,資金自動支付個給買家貨主,智能合約在比特幣等區塊鏈應用上也是承擔了這個中介支付功能。
三、區塊鏈技術在互聯網中的歷史地位和未來前景
1、區塊鏈處於互聯網技術的什麼位置?是頂層的一種新軟體和架構。
我們在前面的TCP/IP介紹中提到,區塊鏈與瀏覽器、QQ、微信、網路游戲軟體、手機APP等一樣,是互聯網頂層-應用層的一種軟體形式。它的運行依然要靠TCP/IP的架構體系傳輸數據。只是與大部分應用層軟體不同,沒有採用C/S(B/S)的中心軟體架構。而是採用了不常見的對等網路架構,從這一點說,區塊鏈並不能顛覆互聯網基礎結構。
2、區塊鏈想要顛覆誰?想顛覆萬維網的B/S(C/S)結構。
它試圖要顛覆其實是89年年誕生的萬維網B/S,C/S結構。前面說過。由於89年年歐洲物理學家蒂姆· 伯納斯· 李發明萬維網並放棄申請專利。此後近30年中,包括谷歌,亞馬遜,facebook,阿里巴巴,網路,騰訊等公司利用萬維網B/S(C/S)結構,成長為互聯網的巨頭。
在他們的總部,建立了功能強大的中心伺服器集群,存放海量數據,上億用戶從巨頭伺服器中獲取自己需要的數據,這樣也導致後來雲計算的出現,而後互聯網巨頭把自己沒有用完的中心伺服器資源開放出來,進一步吸取企業,政府,個人的數據。中心化的互聯網巨頭對世界,國家,互聯網用戶影響力越來越大。
區塊鏈的目標是通過把數據分散到每個互聯網用戶的計算機上,試圖降低互聯網巨頭的影響力,由此可見區塊鏈真正的對手和想要顛覆的是1990年誕生的B/S(C/S)結構。但能不能顛覆掉,就要看它的技術優勢和瓶頸。
3、區塊鏈的技術缺陷:追求徹底平等自由帶來的困境
區塊鏈的技術缺陷首先來自與它的對等網路架構上,舉個例子,目前淘寶是B/S結構,海量的數據存放在淘寶伺服器集群機房裡,幾億消費者通過瀏覽器到淘寶伺服器網站獲取最新信息和歷史信息。
如果用區塊鏈技術,就是讓幾億人的個人電腦或手機上都保留一份完整的淘寶資料庫,每發生一筆交易,就同步給其他幾億用戶。這在現實中是完全無法實現的。傳輸和存儲的數據量太大。相當於同時建立幾億個淘寶網站運行。
因此區塊鏈無法應用在數據量大的項目上,甚至小一點的網站項目用區塊鏈也會吃力。到2018年,比特幣運行了近10年,積累的交易數據已經讓整個系統面臨崩潰。
於是區塊鏈採用了很多變通方式,如建立中繼節點和閃電節點,這兩個概念同樣會讓人一頭霧水,通俗的說,就是區塊鏈會向它要顛覆的對象B/S結構進行了學習,建立數據伺服器中心成為區塊鏈的中繼節點,也用類瀏覽器的終端訪問,這就是區塊鏈的閃電節點。
這種變動能夠緩解區塊鏈的技術缺陷,但確讓區塊鏈變成它反對的樣子,中心化。由此可見,單純的區塊鏈技術由於技術特徵有重大缺陷,無法像萬維網一樣應用廣泛,如果技術升級,部分採用B/S(C/S)結構,又會使得區塊鏈有了中心化的信息節點,不在保持它誕生時的夢想。
4、從互聯網大腦模型看區塊鏈的未來前景
我們知道互聯網一般是指將世界范圍計算機網路互相聯接在一起的網際網路,在這基礎上發展出覆蓋全世界的全球性互聯網路稱互聯網,即是互相連接一起的網路結構。
從1969年互聯網誕生以來,人類從不同的方向在互聯網領域進行創新,並沒有統一的規劃將互聯網建造成什麼結構,當時間的車輪到達2017年,隨著人工智慧,物聯網,大數據,雲計算,機器人,虛擬現實,工業互聯網等科學技術的蓬勃發展,當人類抬起頭來觀看自己的創造的巨系統,互聯網大腦的模型和架構已經越來越清晰。
通過近20年的發展依託萬維網的B/S,C/S結構,騰訊QQ,微信,Facebook,微博、twitter亞馬遜已經發展出類神經元網路的結構。互聯網設備特別是個人計算機,手機在通過設備上的軟體在巨頭的中心伺服器上映射出個人數據和功能空間,相互加好友交流,傳遞信息。互聯網巨頭通過中心伺服器集群的軟體升級,不斷優化數億台終端的軟體版本。在神經學的體系中,這是一種標準的中樞神經結構。
區塊鏈的誕生提供了另外一種神經元模式,不在巨頭的集中服務中統一管理神經元,而是每台終端,包括個人計算機和個人手機成為獨立的神經元節點,保留獨立的數據空間,相互信息進行同步,在神經學的體系中,這是一種沒有中心,多神經節點的分布式神經結構。
有趣的是,神經系統的發育出現過這兩種不同類型的神經結構。在低等生物中,出現過類區塊鏈的神經結構,有多個功能相同的神經節,都可以指揮身體活動和反應,但隨著生物的進化,這些神經節逐步合並,當進化成為高等生物時,中樞神經出現了,中樞神經中包含大量神經元進行交互。
四、關於區塊鏈在互聯網未來地位的判斷
1、對比特幣的認知:一個基於對等網路架構(P2P)的猜數小游戲,通過高明的金融和輿論運作,成為不受政府監管的」世界性貨幣」。
2、對區塊鏈的認知:一個利用哈希演算法產生」通證(代幣)」的全網信息同步的對等網路(P2P)軟體應用。
3、區塊鏈有特定的用途,如大規模選舉投票,大規模賭博,規避政府金融監管的金融交易等等領域,還是有不可替代的用處。
4、在更多時候,區塊鏈技術會依附於互聯網的B/S,C/S結構,實現功能的擴展,但總體依然屬於互聯網已有技術的補充。對於區塊鏈目前設想的絕大部分應用場景,都是可以用B/S,C/S結構實現,效率可以更高和技術也可以更為成熟。
5、無論是從信息傳遞效率和資源消耗,還是從神經系統進化看,區塊鏈無法成為互聯網的主流架構,更不能成為未來互聯網的顛覆者和革命者。
6、當然B/S,C/S結構發展出來的互聯網巨頭也有其問題,但這些將來可以通過商業的方式,政治的方式逐漸解決。