隨著互聯網技術的發(fā)展以及用戶規(guī)模的擴大,互聯網賬戶的數量也越來越龐大。雖然,這些賬戶中所包含的信息都是用戶自己的數據,但是,無論就法律層面還是技術層面而言,用戶都是既不擁有這些賬戶,也不能進行利益管控,而這些互聯網賬戶中用戶數據的泄露和濫用問題就越發(fā)突出。
所以,解決這一問題的關鍵技術就是區(qū)塊鏈,區(qū)塊鏈對于大多數朋友來說都是一項新的互聯網技術。那么,接下來就介紹一些區(qū)塊鏈的基本知識,希望對大家有所幫助。
區(qū)塊鏈中的交易:
“交易”這個概念是抽象的,區(qū)塊鏈中交易是指一次區(qū)塊鏈信息的傳遞。
所以“交易“就包括:
觸發(fā)類型的信息告知,典型應用就是轉賬。
不觸發(fā)類型的信息告知 ,典型應用就是區(qū)塊鏈存證。
索要的告知:觸發(fā)類型的的信息告知一種,但需要反饋,需要把信息傳遞回給我,典型應用預言機獲取鏈外信息。
其中后兩點,也被稱為交易。有點像逛街,無論買沒買東西,只要進商場了都叫逛街。第一種就是買了東西,第二種瞎逛沒買東西,第三種我去商場預定了一個東西。
為什么用告知?是因為區(qū)塊里面的信息無法推斷結果。例如,轉賬情況,我付了錢,但是無法知道最終這筆錢是否到賣家的賬上。
區(qū)塊:
區(qū)塊就是承載這些交易的一個載體。類似公交車,當前信息在排隊等待上車,區(qū)塊就是一輛公交車。我們知道公交車能搭載的人數是有限的,區(qū)塊鏈能裝的交易也是有限的。但不同鏈之間的區(qū)塊大小限制是不同。
區(qū)塊里面除了交易信息,還有用于核驗和鏈接的區(qū)塊頭。區(qū)塊頭信息就包括:
merkle 樹根:一個樹狀的信息組合模式,通過這個樹狀最終可以這個區(qū)塊所有包含的交易,變成一個獨立不二的哈希。通過這個獨一無二的哈希和樹狀模式可以快速證實一筆交易告知是否存在。從公交車案例,這是代表了所有的乘客都上了車的付款憑證。
時間戳:記錄區(qū)塊的時間。公交車案例,可以理解發(fā)車的時間
前一個區(qū)塊:區(qū)塊鏈中的鏈在這基本體現,每個區(qū)塊需要明確的表顯上一個區(qū)塊是誰。從公交車的角度就是上一輛車的車牌號是什么。每個區(qū)塊鏈的特性不同,但每一個區(qū)塊鏈就包括交易信息和區(qū)塊鏈頭信息。
打包權:
我們很熟悉的POW,POS 都是為打包權設計的。就是怎么做到隨機性挑選一個信息的提交者(節(jié)點) ,隨機是因為防止作惡提交者。除了隨機性,作惡的提交者在部分設計之下是有懲罰的。因為每條鏈的設計不同,甚至有些聯盟鏈采用輪值模式。從公交車案例角度,這類似挑選一個司機。
共識體系:
很多人把共識體系跟打包全混淆。共識體系的最大的目的是完成不可篡改性。共識體系是關于,提交后如何把區(qū)塊的信息分享和備份到其他的節(jié)點中。
這里面普遍用的是BFT模式,分多輪去驗證信息。因為BFT也很多不同的版本,并且比較復雜。
簡單的體現,是你轉賬的時候,如何知道是否成功,是需要最少6個confirmation 的節(jié)點確認。確認意思是有多少節(jié)點同步了這個區(qū)塊里面的信息。只有全部確認了,交易告知才會被執(zhí)行。
從公交車角度,這類似多少單位同意了,才能發(fā)車,有可能是調度中心,交管中心等等。
TPS:
TPS就是處理交易告知的效率。
區(qū)塊:這里面的關注點是,裝多少,如果每個區(qū)塊都裝多一些交易,是不是效率就高了? 理論上是的,但共識體系中對信息的同步將占用更多的時間。所以這是一個平衡。
打包權:越復雜的挑選方式,一定會耗時更久,意味著處理能力一定會降低。
共識體系:影響TPS的有兩點,一是需要多少節(jié)點來同步我的信息才算合格,越多的節(jié)點同步肯定越耗時,處理能力更低;二是區(qū)塊里面是否需要裝滿交易,從公交車角度,就是是否滿載才發(fā)車,那肯定不滿載發(fā)生效率越高,但同步成本就越高了。
所以高的TPS一定是有代價的,普遍高的TPS,不夠去中心化。
Merklee樹和SPV驗證:
上面了解了區(qū)塊鏈中的merklee 樹根,會不會有人好奇為什么交易名錄了不能替代merklee樹了。比如說我有個區(qū)塊頭,然后我加個交易名單是否可行了。
理論上是可行的,但問題在于那基本所有的應用都需要去同步這個交易名錄。Merkle樹允許SPV驗證方式,運行應用只需要同步區(qū)塊鏈頭即可驗證一筆交易告知是否存在。
如果是16筆交易,我只需要同步5次即可(Root,Habcdefgh,Hmnop,Hij,Hk),那對比16比交易驗證,同步量減少了70%多。越多的交易,同步量減少得越多,這就是merkle 樹的目的。
上述就是今天所講的區(qū)塊鏈基本知識,希望對大家有所幫助。