區塊鏈工作流程

2022-02-01 22:58:49 字數 1871 閱讀 4097

區塊鏈的工作流程主要包括如下步驟。

①傳送節點將新的資料記錄向全網進行廣播。

②接收節點對收到的資料記錄資訊進行檢驗,比如記錄資訊是否合法,通過檢驗後,資料記錄將被納入乙個區塊中。

③ 全網所有接收節點對區塊執行共識演算法(工作量證明、權益證明等。

④區塊通過共識演算法過程後被正式納入區塊鏈中儲存,全網節點均表示接受該區塊,而表示接受的方法,就是將該區塊的隨機雜湊值視為最新的區塊雜湊值,新區塊的製造將以該區塊鏈為基礎進行延長。

節點始終都將最長的區塊鏈視為正確的鏈,並持續以此為基礎驗證和延長它。如果有兩個節點同時廣播不同版本的新區塊,那麼其他節點在接收到該區塊的時間上將存在先後差別,它們將在先收到的區塊基礎上進行工作,但也會保留另外乙個鏈條,以防後者變成長的鏈條。該僵局的打破需要共識演算法的進一步執行,當其中的一條鏈條被證實為是較長的一條,那麼在另一條分支鏈條上工作的節點將轉換陣營,開始在較長的鏈條上工作。以上就是防止區塊鏈分叉的整個過程。

現在我們都知道了區塊鏈網路裡的記賬者是節點,節點負責把資料記錄記到資料區塊裡,為了鼓勵節點記賬,系統會按照規則隨機地對記賬的節點進行獎勵。那麼如何保證不會有人製造假資料記錄或者說如何保證造假資料記錄不被通過驗證?這就涉及時間戳。這也正是區塊鏈與眾不同的地方。區塊鏈不僅關注資料區塊裡的內容,也關注資料區塊本身,把資料區塊的內容與資料區塊本身通過時間戳聯絡起來。時間戳為什麼會出現?這是由區塊鏈的性質規定的。節點把資料記入了區塊,因此乙個區塊就相當於一頁賬簿,每筆資料在賬簿中的記錄可以自動按時間先後排列,那麼賬簿的頁與頁怎麼銜接起來?也就是說,這乙個區塊與下乙個區塊的繼承關係如何斷定就成為問題。於是時間戳就出現了。

時間戳的重要意義在於其使資料區塊形成了新的結構。這個新的結構使各個區塊通過時間線有序連線起來,形成了乙個區塊的鏈條,因此才稱為區塊鏈。區塊按時間的先後順序排列使賬簿的頁與頁的記錄也具有了連續性。通過給資料記錄印上時間標籤,使每一條資料記錄都具有唯一性,從而使資料記錄本身在區塊和區塊上的哪個位置上發生可以被精確定位且可回溯,也給其他的校驗機制協同發揮作用提供了極大的便利和確定性,使整個區塊鏈網路能夠確定性地驗證某條資料記錄是否真實。由於區塊鏈網路是公開的,意味著系統知道過去發生的所有資料記錄,而任何新的資料記錄都繼承於過去的資料記錄,因為過去的資料記錄是真實的,而且鏈條的各個區塊記錄由時間戳連線起來使之環環相扣,所以如果想要製造乙個假的資料記錄,就必須在區塊鏈上修改過去的所有資料記錄。儘管在挖礦的過程中,形成了多個鏈條,但因為最長的那個被誠實的節點所控制,所以想要修改過去的資料記錄,首先就要從頭構造出乙個長度比之前最長的那個還要長的鏈條,在這個新的鏈條超過原來的那個鏈條後,才能製造雙重支付的虛假資料。然而隨著時間推移,製造新鏈條的難度和成本都是呈指數級上公升的,而且隨著鏈條越來越長,其難度也變得越來越大,成本也就越來越高。同時,因為去中心化的設定,區塊鏈的各個核心客戶端同時又是伺服器,儲存了區塊鏈網路的完整資料,因此使對區塊鏈網路的攻擊很難像對傳統的**處理節點那樣有效,一般情況下很難對區塊鏈網路構成重大衝擊。最終,區塊鏈網路成為乙個難以攻破的、公開的、不可篡改資料記錄和製造虛假資料的誠實可信系統。

區塊鏈保證資料安全、不可篡改以及透明性的關鍵技術包括兩個方面:一是資料加密簽名機制;二是共識演算法。在資料加密簽名機制中,首先,要有乙個私鑰,私鑰是證明個人所有權的關鍵,比如證明某人有權從乙個特定的錢包消費數字貨幣,是通過數字簽名來實現的。其次,要使用雜湊(hash)演算法。雜湊雜湊是密碼學裡的經典技術,把任意長度的輸入通過雜湊演算法計算,變換成固定長度的由字母和數字組成的輸出,具有不可逆性。共識演算法是區塊鏈中節點保持區塊資料一致、準確的基礎,現有的主流共識演算法包括工作量證明(pow)、權益證明(pos)、瑞波共識協議(rcp)等。以pow為例,是指通過消耗節點算力形成新的區塊,是節點利用自身的計算機硬體為網路做數學計算進行交易確認和提高安全性的過程。交易支持者(礦工)在電腦上執行位元幣軟體不斷計算軟體提供的複雜的密碼學問題來保證交易的進行。作為對他們服務的獎勵,礦工可以得到他們所確認的交易中包含的手續費,以及新產生的位元幣。

Struts工作流程

文章分類 招聘求職 乙個使用者的請求是通actionservlet來處理和 的。那麼,actionservlet如何決定把使用者請求 給哪個action物件呢?這就需要一些描述使用者請求路徑和action衍射關係的配置資訊了。在struts中,這些配置對映資訊都儲存在特定的xml檔案struts c...

zf工作流程

zend controller是使用mvc模式來構建乙個站點的基礎。zend controller體系是乙個輕量的,模組化和可擴充套件的體系。它只提供最核心的必要的部分,允許開發者有很大的自由來靈活地構建自己的站點。使用zend controller的站點,其檔案組織和 結構會比較相似。zend c...

spring MVC 工作流程

1 首先來配置一下dispatcherservlet spring mvc和大部分mvc框架一樣,底層也是依賴servlet api的,所以spring mvc的請求處理也是從乙個servlet開始,這個servlet就是dispatcherservlet.以下是在web.xml中dispatche...