你應該知道的區(qū)塊鏈運作7個核心技術
區(qū)塊鏈運作的7個核心技術,你知道幾個?
1.區(qū)塊鏈的鏈接
顧名思義,區(qū)塊鏈即由一個個區(qū)塊組成的鏈。每個區(qū)塊分為區(qū)塊頭和區(qū)塊體(含交易數據)兩個部分。區(qū)塊頭包括用來實現區(qū)塊鏈接的前一區(qū)塊的哈希(PrevHash)值(又稱散列值)和用于計算挖礦難度的隨機數(nonce)。前一區(qū)塊的哈希值實際是上一個區(qū)塊頭部的哈希值,而計算隨機數規(guī)則決定了哪個礦工可以獲得記錄區(qū)塊的權力。
2.共識機制
區(qū)塊鏈是伴隨比特幣誕生的,是比特幣的基礎技術架構??梢詫^(qū)塊鏈理解為一個基于互聯(lián)網的去中心化記賬系統(tǒng)。類似比特幣這樣的去中心化數字貨幣系統(tǒng),要求在沒有中心節(jié)點的情況下保證各個誠實節(jié)點記賬的一致性,就需要區(qū)塊鏈來完成。所以區(qū)塊鏈技術的核心是在沒有中心控制的情況下,在互相沒有信任基礎的個體之間就交易的合法性等達成共識的共識機制。
區(qū)塊鏈的共識機制目前主要有4類:PoW、PoS、DPoS、分布式一致性算法。
3.解鎖腳本
腳本是區(qū)塊鏈上實現自動驗證、自動執(zhí)行合約的重要技術。每一筆交易的每一項輸出嚴格意義上并不是指向一個地址,而是指向一個腳本。腳本類似一套規(guī)則,它約束著接收方怎樣才能花掉這個輸出上鎖定的資產。
交易的合法性驗證也依賴于腳本。目前它依賴于兩類腳本:鎖定腳本與解鎖腳本。鎖定腳本是在輸出交易上加上的條件,通過一段腳本語言來實現,位于交易的輸出。解鎖腳本與鎖定腳本相對應,只有滿足鎖定腳本要求的條件,才能花掉這個腳本上對應的資產,位于交易的輸入。通過腳本語言可以表達很多靈活的條件。解釋腳本是通過類似我們編程領域里的“虛擬機”,它分布式運行在區(qū)塊鏈網絡里的每一個節(jié)點。
4.交易規(guī)則
區(qū)塊鏈的交易就是構成區(qū)塊的基本單位,也是區(qū)塊鏈負責記錄的實際有效內容。一個區(qū)塊鏈交易可以是一次轉賬,也可以是智能合約的部署等其他事務。
就比特幣而言,交易即指一次支付轉賬。其交易規(guī)則如下:
1)交易的輸入和輸出不能為空。
2)對交易的每個輸入,如果其對應的UTXO輸出能在當前交易池中找到,則拒絕該交易。因為當前交
易池是未被記錄在區(qū)塊鏈中的交易,而交易的每個輸入,應該來自確認的UTXO。如果在當前交易池中找到,那就是雙花交易。
3)交易中的每個輸入,其對應的輸出必須是UTXO。
4)每個輸入的解鎖腳本(unlocking script)必須和相應輸出的鎖定腳本(locking script)共同驗證交易的合規(guī)性。
5.交易優(yōu)先級
區(qū)塊鏈交易的優(yōu)先級由區(qū)塊鏈協(xié)議規(guī)則決定。對于比特幣而言,交易被區(qū)塊包含的優(yōu)先次序由交易廣播到網絡上的時間和交易額的大小決定。隨著交易廣播到網絡上的時間的增長,交易的鏈齡增加,交易的優(yōu)先級就被提高,最終會被區(qū)塊包含。對于以太坊而言,交易的優(yōu)先級還與交易的發(fā)布者愿意支付的交易費用有關,發(fā)布者愿意支付的交易費用越高,交易被包含進區(qū)塊的優(yōu)先級就越高。
6.Merkle證明
Merkle證明的原始應用是比特幣系統(tǒng)(Bitcoin),它是由中本聰(Satoshi Nakamoto)在2009年描述并且創(chuàng)造的。比特幣區(qū)塊鏈使用了Merkle證明,為的是將交易存儲在每一個區(qū)塊中。使得交易不能被篡改,同時也容易驗證交易是否包含在一個特定區(qū)塊中。
7.RLP
RLP(Recursive Length Prefix,遞歸長度前綴編碼)是Ethereum中對象序列化的一個主要編碼方式,其目的是對任意嵌套的二進制數據的序列進行編碼。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
未在本地計算機上注冊“Microsoft.Jet.OleDb.4.0”提供程序錯誤的解決方法
未在本地計算機上注冊“Microsoft.Jet.OleDb.4.0”提供程序錯誤的解決方法,需要的朋友可以參考下。2011-08-08GBase?8s數據庫主鍵約束、唯一約束和唯一索引的區(qū)別解析
這篇文章主要介紹了GBase?8s數據庫主鍵約束、唯一約束和唯一索引的區(qū)別,通過示例代碼給大家說明這三者之間的區(qū)別,感興趣的朋友一起看看吧2022-02-02Access和SQL Server里面的SQL語句的不同之處
做了一個Winform的營養(yǎng)測量軟件,來回的搗騰著Access數據庫,還是那幾句增刪改查,不過用多了,發(fā)現Access數據庫下的SQL語句和SQL Server下正宗的SQL還有有很大的不同。2009-12-12面向云服務的GaussDB全密態(tài)數據庫現狀及問題小結
全密態(tài)數據庫,顧名思義與大家所理解的流數據庫、圖數據庫一樣,就是專門處理密文數據的數據庫系統(tǒng),這篇文章主要介紹了面向云服務的GaussDB全密態(tài)數據庫,未來GaussDB會將該能力逐步開源到openGauss,與社區(qū)共同推進和完善全密態(tài)數據庫解決方案,一起打造數據庫安全生態(tài)2024-02-02