本文於2019年1月10日,在Zilliqa論壇(forum.zilliqa.com)首發。
節點類型
Zilliqa網絡上有5種類型的節點:
注:交易類型(類型I,II,III)的解釋在這篇博客裏(https://blog.zilliqa.com/prov...)
分片節點(Shard nodes)處理類型I和類型II的分片內交易,並將共同簽名的微型TX塊提交給目錄服務(DS)委員會。它們根據當前DS週期(DS epoch)內貢獻和被接受的簽名數量獲得獎勵。
目錄服務節點(Directory Service nodes)處理組裝由分片提交的微TX-塊。它們還處理類型II和類型III交易,這些交易是跨分片交易用來創建另一個微塊。一旦組裝完成後,它們將形成一個共同簽名的最終TX塊,並將其廣播到Zilliqa網絡中的所有節點。DS節點還基於在當前DS週期(DS epoch)期間貢獻和接受的簽名的數量來獎勵。
注意:在貓山王測試網中,一個DS Epoch目前包含100個TX Epoch。
關於Epoch架構的更多細節在可以這裏(https://github.com/Zilliqa/Zi...)找到。
查找節點(lookup nodes)處理將交易分派到正確的分片,並協助種子節點獲取狀態和交易記錄。他們賺取5%的交易費和coinbase獎勵。
種子節點 (seednodes) 幫助將交易轉發到查找節點,通過提供DS塊歷史記錄來幫助新的驗證節點加入網絡,並公開交易的API以允許瀏覽器/錢包發送交易並獲取歷史交易數據。它們共享由查找節點獲得的獎勵。
檔案庫存儲器(archival storage)在每個DS 週期(DS epoch)從種子節點獲取歷史數據,包括交易和塊,並將它們存儲在levelDB中。它們還爲新加入的種子節點提供歷史數據。
網絡圖草圖
說明:
S1,S2,S3:分片(Shards)
DS:目錄服務委員會(Directory service committee)
Tx:交易(Transaction)
MB:微塊(Microblock)
SD:狀態變量(State delta)
FB:最終塊(Final block)
FSD:最終狀態變量(Final state delta)