区块链BaaS云服务(28)TOP Network 之数据结构
TOP Network由獨特的數據結構組成,專門為分片和高效的數據訪問和存儲而設計。核心對象、單元點陣和區塊點陣是我們使用的三種主要數據結構。
-
核心對象(Core Objects)
TOP Network遵循一個面向對象的編程范例。每個用戶賬戶和每個智能合約都由我們的“核心對象”表示。 -
賬戶(Accounts)
TOP Network中每個用戶賬戶都有一個特定的地址。賬戶是一個包含狀態信息和邏輯的對象,包括余額、存儲數據的屬性、以及對屬性的操作等。賬戶余額也可以作為賬戶對象的一種特殊財產來處理。操作可以是系統級的功能,比如轉賬,也可以是由賬戶所有者部署的智能合約控制的自定義操作。賬戶對象及其方法可以通過新的屬性和定制的操作輕松靈活地擴展。 -
屬性(Property)
賬戶屬性是用戶自定義數據的對象,它作為一種鍵值(Key-Value)對被添加。鍵是一個任意字符串,其值可以是任何數據類型,比如整數、字符串、列表、HashMap等等。賬戶余額具有特殊的屬性,在生成帳戶時默認存在。 -
操作(Action)
操作使屬性具有靈活的處理功能。一個操作可以是一個內置的系統功能,比如Hash和投票,或者是一個自定義的智能合約。用戶可以通過發送交易或消息來觸發操作。 -
消息(Message)
消息就是對賬戶屬性發起操作的指令。消息的數據包含屬性、動作、輸入參數和輸出參數。出于安全目的,消息不能更改帳戶余額。
消息是一種特殊的交易。一個發送高頻消息的賬戶會受到流量控制,必須支付gas費,否則賬戶所有者可能被迫執行工作證明(POW)。 -
交易(Transaction)
交易是指啟動從一個賬戶到另一個帳戶的資產轉移的命令。交易還可以包含在處理交易時將被觸發的操作。 -
雙層點陣數據結構
TOP Network鏈狀態由所有用戶賬戶對象和智能合約賬戶對象組成,存儲在單元點陣和區塊點陣數據結構中。從技術上講,這些格是有向無環圖(DAG)的一種形式。
然而,與其他基于DAG的項目不同的是,這種網格結構更有組織性,非常適合分片架構。 -
單元點陣(Unit Lattice)
賬戶的屬性的每一次歷史交易變化(即交易記錄)稱為單元(Unit Block),鏈把每個賬戶的全部單元都保存下來。如果遍歷一個賬戶的所有單元,從創世單元(即賬戶創建時候的初始屬性值)到最后一個單元,即可獲得這個賬戶所發生的所有事件,也可以知道賬戶下的屬性的最終狀態值。因此,一個賬戶的所有單元連載一起就如同一條微小的鏈,稱之為Unit Chain。很多個賬戶的Unit Chain打包在一起就叫單元點陣(Unit Lattice)。
這種設計的一個主要好處是可以同時在賬戶級別上達成一致,這為并行共識創造了另一個機會,從而提高了吞吐量。這與在每個分片上使用單個鏈來連續記錄來自多個賬戶的交易形式形成了對比。
- 區塊點陣(Block Lattice)
區塊點陣作為共識和跨zone同步的批處理機制。最新更新的單元被打包到Table Block中,然后鏈接到每個賬戶空間的鏈中。zone內這些鏈的集合形成區塊點陣數據結構。Table Block用于跨分片同步,而區塊點陣用于跨zone同步。
總結
以上是生活随笔為你收集整理的区块链BaaS云服务(28)TOP Network 之数据结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 区块链BaaS云服务(28)TOP Ne
- 下一篇: 区块链BaaS云服务(29) 溪塔科技