區塊鏈運作的7個核心技術,你知道幾個?
1.區塊鏈的連結
顧名思義,區塊鏈即由一個個區塊組成的鏈。每個區塊分為區塊頭和區塊體(含交易資料)兩個部分。區塊頭包括用來實現區塊連結的前一區塊的雜湊(PrevHash)值(又稱雜湊值)和用於計算挖礦難度的隨機數(nonce)。前一區塊的雜湊值實際是上一個區塊頭部的雜湊值,而計算隨機數規則決定了哪個礦工可以獲得記錄區塊的權力。
2.共識機制
區塊鏈是伴隨比特幣誕生的,是比特幣的基礎技術架構。可以將區塊鏈理解為一個基於網際網路的去中心化記賬系統。類似比特幣這樣的去中心化數字貨幣系統,要求在沒有中心節點的情況下保證各個誠實節點記賬的一致性,就需要區塊鏈來完成。所以區塊鏈技術的核心是在沒有中心控制的情況下,在互相沒有信任基礎的個體之間就交易的合法性等達成共識的共識機制。
區塊鏈的共識機制目前主要有4類:PoW、PoS、DPoS、分散式一致性演算法。
3.解鎖指令碼
指令碼是區塊鏈上實現自動驗證、自動執行合約的重要技術。每一筆交易的每一項輸出嚴格意義上並不是指向一個地址,而是指向一個指令碼。指令碼類似一套規則,它約束著接收方怎樣才能花掉這個輸出上鎖定的資產。
交易的合法性驗證也依賴於指令碼。目前它依賴於兩類指令碼:鎖定指令碼與解鎖指令碼。鎖定指令碼是在輸出交易上加上的條件,通過一段指令碼語言來實現,位於交易的輸出。解鎖指令碼與鎖定指令碼相對應,只有滿足鎖定指令碼要求的條件,才能花掉這個指令碼上對應的資產,位於交易的輸入。通過指令碼語言可以表達很多靈活的條件。解釋指令碼是通過類似我們程式設計領域裡的“虛擬機器”,它分散式執行在區塊鏈網路裡的每一個節點。
4.交易規則
區塊鏈的交易就是構成區塊的基本單位,也是區塊鏈負責記錄的實際有效內容。一個區塊鏈交易可以是一次轉賬,也可以是智慧合約的部署等其他事務。
就比特幣而言,交易即指一次支付轉賬。其交易規則如下:
1)交易的輸入和輸出不能為空。
2)對交易的每個輸入,如果其對應的UTXO輸出能在當前交易池中找到,則拒絕該交易。因為當前交
易池是未被記錄在區塊鏈中的交易,而交易的每個輸入,應該來自確認的UTXO。如果在當前交易池中找到,那就是雙花交易。
3)交易中的每個輸入,其對應的輸出必須是UTXO。
4)每個輸入的解鎖指令碼(unlocking script)必須和相應輸出的鎖定指令碼(locking script)共同驗證交易的合規性。
5.交易優先順序
區塊鏈交易的優先順序由區塊鏈協議規則決定。對於比特幣而言,交易被區塊包含的優先次序由交易廣播到網路上的時間和交易額的大小決定。隨著交易廣播到網路上的時間的增長,交易的鏈齡增加,交易的優先順序就被提高,最終會被區塊包含。對於以太坊而言,交易的優先順序還與交易的釋出者願意支付的交易費用有關,釋出者願意支付的交易費用越高,交易被包含進區塊的優先順序就越高。
6.Merkle證明
Merkle證明的原始應用是比特幣系統(Bitcoin),它是由中本聰(Satoshi Nakamoto)在2009年描述並且創造的。比特幣區塊鏈使用了Merkle證明,為的是將交易儲存在每一個區塊中。使得交易不能被篡改,同時也容易驗證交易是否包含在一個特定區塊中。
7.RLP
顧名思義,區塊鏈即由一個個區塊組成的鏈。每個區塊分為區塊頭和區塊體(含交易資料)兩個部分。區塊頭包括用來實現區塊連結的前一區塊的雜湊(PrevHash)值(又稱雜湊值)和用於計算挖礦難度的隨機數(nonce)。前一區塊的雜湊值實際是上一個區塊頭部的雜湊值,而計算隨機數規則決定了哪個礦工可以獲得記錄區塊的權力。
2.共識機制
區塊鏈是伴隨比特幣誕生的,是比特幣的基礎技術架構。可以將區塊鏈理解為一個基於網際網路的去中心化記賬系統。類似比特幣這樣的去中心化數字貨幣系統,要求在沒有中心節點的情況下保證各個誠實節點記賬的一致性,就需要區塊鏈來完成。所以區塊鏈技術的核心是在沒有中心控制的情況下,在互相沒有信任基礎的個體之間就交易的合法性等達成共識的共識機制。
區塊鏈的共識機制目前主要有4類:PoW、PoS、DPoS、分散式一致性演算法。
3.解鎖指令碼
指令碼是區塊鏈上實現自動驗證、自動執行合約的重要技術。每一筆交易的每一項輸出嚴格意義上並不是指向一個地址,而是指向一個指令碼。指令碼類似一套規則,它約束著接收方怎樣才能花掉這個輸出上鎖定的資產。
交易的合法性驗證也依賴於指令碼。目前它依賴於兩類指令碼:鎖定指令碼與解鎖指令碼。鎖定指令碼是在輸出交易上加上的條件,通過一段指令碼語言來實現,位於交易的輸出。解鎖指令碼與鎖定指令碼相對應,只有滿足鎖定指令碼要求的條件,才能花掉這個指令碼上對應的資產,位於交易的輸入。通過指令碼語言可以表達很多靈活的條件。解釋指令碼是通過類似我們程式設計領域裡的“虛擬機器”,它分散式執行在區塊鏈網路裡的每一個節點。
4.交易規則
區塊鏈的交易就是構成區塊的基本單位,也是區塊鏈負責記錄的實際有效內容。一個區塊鏈交易可以是一次轉賬,也可以是智慧合約的部署等其他事務。
就比特幣而言,交易即指一次支付轉賬。其交易規則如下:
1)交易的輸入和輸出不能為空。
2)對交易的每個輸入,如果其對應的UTXO輸出能在當前交易池中找到,則拒絕該交易。因為當前交
易池是未被記錄在區塊鏈中的交易,而交易的每個輸入,應該來自確認的UTXO。如果在當前交易池中找到,那就是雙花交易。
3)交易中的每個輸入,其對應的輸出必須是UTXO。
4)每個輸入的解鎖指令碼(unlocking script)必須和相應輸出的鎖定指令碼(locking script)共同驗證交易的合規性。
5.交易優先順序
區塊鏈交易的優先順序由區塊鏈協議規則決定。對於比特幣而言,交易被區塊包含的優先次序由交易廣播到網路上的時間和交易額的大小決定。隨著交易廣播到網路上的時間的增長,交易的鏈齡增加,交易的優先順序就被提高,最終會被區塊包含。對於以太坊而言,交易的優先順序還與交易的釋出者願意支付的交易費用有關,釋出者願意支付的交易費用越高,交易被包含進區塊的優先順序就越高。
6.Merkle證明
Merkle證明的原始應用是比特幣系統(Bitcoin),它是由中本聰(Satoshi Nakamoto)在2009年描述並且創造的。比特幣區塊鏈使用了Merkle證明,為的是將交易儲存在每一個區塊中。使得交易不能被篡改,同時也容易驗證交易是否包含在一個特定區塊中。
7.RLP
RLP(Recursive Length Prefix,遞迴長度字首編碼)是Ethereum中物件序列化的一個主要編碼方式,其目的是對任意巢狀的二進位制資料的序列進行編碼。
相關文章
- 區塊鏈領域的48個名詞,你知道幾個?區塊鏈
- 區塊鏈的核心技術區塊鏈
- 區塊鏈核心技術概覽區塊鏈
- 深知區塊鏈,可你知道區塊鏈的專業術語嗎?區塊鏈
- 區塊鏈的核心技術是什麼?區塊鏈
- 區塊鏈的幾個小故事.小白學區塊鏈01區塊鏈
- 7個關於"this"面試題,你知道幾個?面試題
- 區塊鏈技術火爆,但真正懂區塊鏈技術開發的人又有幾人區塊鏈
- 關於區塊鏈技術的12個誤區 區塊鏈就是比特幣嗎?區塊鏈比特幣
- 技術負責人所需的四個核心能力,你具備幾個?
- 區塊鏈技術區塊鏈
- 智慧合約-區塊鏈核心技術之一區塊鏈
- 中國科學家突破區塊鏈核心技術區塊鏈
- 區塊鏈技術工坊 - 線下區塊鏈技術分享區塊鏈
- 區塊鏈以及區塊鏈技術總結區塊鏈
- 從技術角度告訴你,區塊鏈到底有哪些特點和運作機制區塊鏈
- 區塊鏈或成為核心技術突破口區塊鏈
- 共識機制-區塊鏈核心技術之一區塊鏈
- 分散式賬本-區塊鏈核心技術之一分散式區塊鏈
- 非對稱加密-區塊鏈核心技術之一加密區塊鏈
- 區塊鏈安全————區塊鏈技術安全討論區塊鏈
- 區塊鏈公司暢談區塊鏈技術的價值區塊鏈
- 這個小姐姐說:你之前所知道的區塊鏈可能都是錯的區塊鏈
- 區塊鏈技術發展_區塊鏈技術開發新方向區塊鏈
- 區塊鏈溯源技術是什麼?區塊鏈溯源技術開發區塊鏈
- 區塊鏈技術的領先的區塊鏈數字資產區塊鏈
- 區塊鏈技術開發主鏈區塊鏈的應用分析區塊鏈
- 區塊鏈的專業術語你知道嗎?趕快來收藏區塊鏈
- 區塊鏈特徵與區塊鏈技術應用落地區塊鏈特徵
- 區塊鏈公司談區塊鏈技術最新應用區塊鏈
- 區塊鏈技術公司談當婚姻遇到區塊鏈區塊鏈
- 區塊鏈不談技術的都是韭菜——區塊鏈技術組成及架構區塊鏈架構
- BAAS平臺_區塊鏈baas平臺技術_區塊鏈技術開發區塊鏈
- 區塊鏈技術研發,如今最契合區塊鏈技術應用方向區塊鏈
- 雲+區塊鏈 實現區塊鏈技術的普惠應用區塊鏈
- 區塊鏈101:區塊鏈技術是如何工作的?區塊鏈
- 區塊鏈技術開發區塊鏈
- 【區塊鏈技術實現】區塊鏈