DLT 有一個更耳熟能詳的名字,叫做區塊鏈。簡單來說,根據 Wikipedia 上的定義[1],區塊鏈(Blockchain)就是一種 Distributed Ledger 的資料結構(Data Structure):
a Blockchain is only one type of data structure considered to be a distributed ledger.
也就是說,DLT 可以延用 Blockchain 資料結構設計,也可以根據應用的不同,設計全新的資料結構;無論是採用 Blockchain 資料結構,或是設計新的資料結構,目標都是提供一個分散式資料儲存系統(distributed data storage)。一個 DLT Platform 除了要具備一個安全可信任的 distributed data storage,還具備以下 2 個元素:
- A peer-to-peer network
- Consensus algorithms
在 distributed data storage 網路上的電腦裝置,稱之為節點。由於 distributed data storage 需要考慮備援與錯誤修正的問題,因此會將一筆資料同步備援在多個節點上,這樣的技術就稱為 replication。當某一個節點上的該筆資料毀損時,扮演該筆資料備援角色的節點,就能協助該節點,回覆毀損的資料,這樣的技術就稱為 redundancy。
技術上,DLT 就是一個為 distributed data storage 提供 replication/redundancy 功能的通訊協定(Protocol)。這樣的 replication/redundancy 機制,就稱為 fault tolerance(容錯機制)。
DLT 與傳統資料庫系統,除了上述的差別外,另一個重要的區別是:交易。DLT 儲存的是交易(Transaction);而傳統資料庫儲存,則是儲存「資料」(Data)。
交易與資料的一個區別是,交易需要被「驗證」(validation);而資料卻是可以直接地,儲存進資料庫裡即可。交易會包含所要儲存的資料,因此,可以說交易是資料的「封裝」。
在軟體設計的領域裡,封裝有「打包」的意思;也就是說,這像是在寄掛號信,我先將文件(資料)放進信封打包好,再將郵件「提交」到郵局,最後由收件人簽收無誤後取出文件,再將文件歸檔(儲存)。
在一個 DLT Platoform 裡,交易的驗證過程,需要決定該筆交易的接受者與簽收方式,這就開始涉及 Broadcast 與 Consensus 技術了。最終,這筆交易會被節點儲存,而儲存交易的地方就稱為 Block(區塊);這些區塊將不只一個,而是一個 chain of blocks 的結構,這些串接在一起的 blocks 就稱為 blockchain。
DLT 是一個比 Blockchain 更整體的研究主題,例如知名的 Hyperledger 就是一個 DLT 平台。Fault tolerance 與 transactions 則是 DLT 的核心骨幹。像是 PBFT(Practical Byzantine Fault Tolerance )就是一個知名的 fault tolerance 演算法,並且被 Hyperledger Fabric v0.6 所採用。
SBFT(Simplified Byzantine Fault Tolerance)也是一種 fault toerance 演算法,由 Hyperledger Fabric v1.0 實
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论