通俗易懂的告訴你:區域鏈技術的原理!

“區塊鏈,就相當於這個賬本,區塊就相當於這個賬本的一頁,區塊中所承載的信息,就是這一頁上記載的交易內容。區塊鏈是一塊一塊的,每一塊寫滿了交易記錄,連在一起成了一條鏈就是區塊鏈。”

以比特幣為例,大約每十分鐘就行一次「算力競賽」來競爭這個記賬的權利。就好比說,你的算力牛逼,算得多,就像肌肉更結實,更會打,大家都服你,讓你來記這個帳,即向區塊鏈這個總賬本寫入一個區塊(注意不是區塊裡的內容)的權利。不過需要說明的一點是,計算能力只能決定贏得競爭的概率。就好比說,一共有若干張彩票,算力多的可以買更多張提高中獎概率,然而買得多的人,也不一定最後就中獎了

通俗易懂的告訴你:區域鏈技術的原理!

區塊鏈即為一個個用這樣的計算力保障的數據塊鏈條。從第一塊開始,每一個區塊依照一定規則收集數據,然後將這些數據附上一個值,使得形成的數據塊經過類似的單向函數計算後的結果落到一定範圍內。通過估算全網的算力以及控制結果範圍的大小,來保障符合要求數據塊在足夠長的時間內才能被找到。這個計算結果會被下一個區塊包含,而這樣形成的鏈式數據結構則稱為區塊鏈。

每一個小賬本被稱為區塊,每一個不同的區塊鏈協議(產生不同的加密貨幣)都會規定每一個區塊的大小(最初比特幣為1M)賬本組成區塊,區塊構成鏈表,區塊的頭包含前一塊的哈希值,這就是區塊鏈。如此一來,任何人就不能隨意修改其中的內容,或者交換順序。如果你這麼做,意味著你需要重新計算所有的特殊數字。

規定,允許世界上的每一個人建造區塊。每一個新建區塊的人(找到了這個特殊數字 - SHA256值有30個零)都能獲得獎勵,對於新建區塊的這部分人(礦工)來說:

  1. 沒有發送者信息,不需要簽名

  2. 每一個新區塊都會給整個幣種增加新的虛擬(加密)貨幣

  3. 新建區塊的過程又被稱為“挖礦”:需要大量工作量並且可以向整個經濟體注入新的貨幣

  4. 挖礦的工作是:接受交易信息,建造區塊,把區塊廣播出去,然後得到新的錢作為獎勵

對每個礦工來說,每個區塊就像一個小彩票,所有人都在拼命快速猜數字,直到有一個幸運兒找到了一個特殊數字,使得整個區塊的哈希值開頭有許多個零,就能得到獎勵。我記得有一個知乎答主給了一個形象的比喻,區塊鏈就像一個擁有貌美如花女兒(區塊)的國王,有很多的青年翹首以盼,而國王的方法是出了一道很難得題目讓所有的青年計算(學習改變人生),誰算的快(在計算哈希值過程也可能是運氣好)就能抱得美人歸

對於想用這個系統來收付款的用戶來說,他們不需要收聽所有的交易,而只要收聽礦工們廣播出來的區塊,然後更新到自己保存的區塊鏈中就可以了

“區塊”也可以想象為一個盒子,區塊裡放著一些數字貨幣以及一張小紙條,小紙條上記錄了這十分鐘內產生的那唯一一筆交易信息, 比如說——“小A轉賬給了小B100元”;當然,這段信息肯定是被加密處理過的,為的就是保證只有小A和小B(通過他們手上的鑰匙)才有能力解讀裡面真正的內容。

通俗易懂的告訴你:區域鏈技術的原理!

這個神奇的區塊被創造出來之後,很快被埋在了地底下,至於埋在哪裡?沒有一個人不知道,需要所有計算機節點一起參與進來掘地三尺後才有可能找到(找到一個有效的工作量證明)。顯然,這是一件工作量巨大、成果隨機的事件。但是呢,對於計算機節點來說,一旦從地底下挖出這個區塊,他將獲得區塊內價值不菲的數字貨幣,以及“小A轉賬給了小B100元”過程中小A所支付的小費。同時,對於這個節點來說,也只有他才有權利真正記錄小紙條裡的內容,這是一份榮耀,而其他節點相當於只能使用它的複製品,一個已經沒有數字貨幣加持的副本。當然這個神奇的區塊還有一些其他很特別的地方,

可以將計算機節點從地底下挖出區塊的過程叫做「挖礦」,剛才說了,這是一件工作量巨大、運氣成分較多、但收益豐厚的事兒。來自中國上海浦東新區張衡路上的一個節點突然跳出來很興奮的說:“ 我挖到區塊了!裡面的小紙條都是有效的!獎勵歸我!” 。雖然此刻張衡路節點已經拿到了數字貨幣,但對於其他計算機節點來說,因為這裡面還涉及到其他一些利益瓜葛,他們不會選擇默認相信張衡路節點所說的話;基於陌生節點彼此不信任的原則,他們拿過張衡路節點所謂挖到的區塊(副本),開始校驗區塊內的小紙條信息是否真實有效等等。在區塊鏈世界裡,節點們正是通過校驗小紙條信息的準確性,或間接或直接判斷成功挖出區塊的節點是否撒謊。(如何定義小紙條信息真實有效,後面會講解,這裡暫不做贅述)。在校驗過程中,各個節點們會直接通過下面兩個行為表達自己對張衡路節點的認同(準確無誤)和態度:停止已經進行了一半甚至80%的挖礦進程;將張衡路節點成功挖出的區塊(副本)追加到自己區塊鏈的末尾。你可以稍微有點困惑:停止可能已經執行了80%的挖礦行為,那之前80%的工作不是就白做了嘛?!然後,區塊鏈的末尾又是個什麼鬼東西?對於第一個困惑。

我想說,你說的一點沒錯,但是沒辦法,現實就是這麼殘酷,即便工作做了80%,那也得放棄,這80%的工作勞苦幾乎可以視為無用功,絕對的傷財勞眾。第二個困惑,區塊鏈和區塊鏈的末尾是什麼鬼?這裡因為事先並沒有講清楚,但是你可以簡單想象一下:區塊是週期性不斷的產生和不斷的被挖出來,一個計算機節點可能事先已經執行了N次“從別人手上拿過區塊 -> 校驗小紙條有效性”的流程,肯定在自己的節點上早已經存放了N個區塊,這些區塊會按照時間順序整齊的一字排列成為一個鏈狀。沒錯,這個鏈條,就是你一直以來認為的那個區塊鏈。如果你還是不能夠理解,沒關係,文章後面還會有很多次機會深入研究。

通俗易懂的告訴你:區域鏈技術的原理!

進入到區塊內更微觀的世界裡一探究竟,看看小紙條到底是怎麼一回事,它的產生以及它終其一生的使命:發起交易的時候,發起人會收到一張小紙條,他需要將交易記錄比如說“盜盜轉賬給張三40元”寫在紙上。說來也神奇,當寫完的那一剎那,在小紙條的背面會自動將這段交易記錄格式化成至少包含了“輸入值”和“輸出值”這兩個重要字段;“輸入值”用於記錄數字貨幣的有效來源,“輸出值”記錄著數字貨幣發往的對象。剛剛創建的小紙條立馬被標記成為“未確認”的小紙條。從地下成功挖出區塊並最終連接到區塊鏈裡的小紙條一開始會被標記為“有效”。

若這條有效的小紙條作為其他交易的輸入值被使用,那麼,這個有效的小紙條很快會被標記為“無效”。因為各種原因,區塊從鏈上斷開、丟棄,曾經這個區塊內被標記為“有效”的小紙條會被重新標記為“未確認”。區塊鏈裡面沒有賬戶餘額的概念,你真正擁有的數字資產實際上是一段交易信息;通過簡單的加減法運算獲知你數字錢包裡的餘額。上面的1、2、3僅僅作為結論一開始強行灌輸給你的知識點,其中有幾個描述可能會有點繞,讓你覺得雲裡霧裡,只有瞭解整體區塊鏈你才能更全面認知其中奧妙。

區塊容量,比特幣從被創建時,或者說源代碼中規定了,區塊容量是1M。最初設計成1M的原因一方面,防止DOS攻擊。另一方面,當年中本聰在創建區塊鏈的時候的容量是32M,但是他通過一個說明為”Clear up“這樣毫不起眼的Commit把區塊容量改成了1M,為防止區塊鏈體積增長過快,為區塊容量這個問題添加了些神秘色彩。1M的容量意味著比特幣最大的處理交易數量在約2400(486882區塊1034.39的大小很接近了)。

通俗易懂的告訴你:區域鏈技術的原理!

區塊鏈說白了,就是一個分佈式的記賬的一個小本本,用來記賬的一個工具,並且基於密碼學加密學的技術鋪墊,一旦數據交易記錄在區塊鏈這個本本上了,數據是不可篡改和抵賴的。互聯網是價值的傳遞,那區塊鏈呢就是信任的傳遞。在區塊鏈技術作為信用背書的前提下,區塊鏈中的各節點從各自單一的中心變為多方參與的統一多中心,不需要第三方機構的參與便可實現交易傳遞,效率提高。



分享到:


相關文章: