本文於2019年1月10日,在Zilliqa論壇(forum.zilliqa.com)首發。node
節點類型git
Zilliqa網絡上有5種類型的節點:github
注:交易類型(類型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...)找到。spa
查找節點(lookup nodes)處理將交易分派到正確的分片,並協助種子節點獲取狀態和交易記錄。他們賺取5%的交易費和coinbase獎勵。blog
種子節點 (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)