Factom協(xié)議在記錄比特幣和以太坊網絡數(shù)據(jù)的應用介紹
Factom白皮書發(fā)布于2014年,次年上線主網,是至今仍較為活躍的老牌公鏈之一。基于Factom協(xié)議,開發(fā)者可以更為快捷、低成本且無膨脹的方式進行區(qū)塊鏈應用開發(fā),并將數(shù)據(jù)安全地記錄于比特幣與以太坊網絡,而無需與二者直接交互。Factom協(xié)議致力于提升數(shù)據(jù)完整性,已被美國能源部、國土安全部、比爾及梅琳達·蓋茨基金會等機構用以進行數(shù)據(jù)保護,不久前還被PegNet用于構建底層網絡。
Factom系統(tǒng)概述
Factom本質上是一批能有序、便捷地進行數(shù)據(jù)記錄的區(qū)塊鏈集合。用戶可自行創(chuàng)建公鏈并寫入數(shù)據(jù),并記于區(qū)塊中;隨后,F(xiàn)actom將借助全網之力確保數(shù)據(jù)安全。
Factom由多層數(shù)據(jù)結構組成,其中第一層級為目錄層(Directory Layer),負責管理條目區(qū)塊(Entry Blocks)的梅克爾根(Merkle root)——本質上講,該層是由所有條目區(qū)塊及其相應鏈ID生成的哈希值;第二層級為條目區(qū)塊層(Entry Block Layer),其包含的引用(reference pointers)指向在特定時間內擁有特殊鏈ID的全部條目;條目區(qū)塊層下一層級為條目(Entries),是記錄于Factom網絡的原始應用數(shù)據(jù);最下層級為鏈(Chains),是某一特定應用程序或應用主題的條目組合。簡言之,應用程序數(shù)據(jù)存于鏈上,而鏈隨之被記于條目區(qū)塊,由目錄層進行哈希加密,并受比特幣和以太坊網絡保護。Factom層級結構如下圖所示:
Factom 協(xié)議對于開發(fā)者的友好程度極高。以太坊要求開發(fā)者使用以太坊協(xié)議原生語言 Solidity,F(xiàn)actom 則支持開發(fā)者通過以下常用編程語言訪問 API:Javascript、Python、C#/.Net、GO、Java、Rust。如前所述,由于 Factom 與比特幣和以太坊網絡進行了錨定,因此每當一個區(qū)塊被添加至 Factom 公鏈,該數(shù)據(jù)也將永久記錄于比特幣和以太坊網絡。
雙代幣模式
Factom 采用雙代幣模式,其中,F(xiàn)actoid 為 Factom 公鏈的原生代幣,條目信用(entry credit)則用于向網絡中提交條目(entries)。Factoid 與諸多加密數(shù)字貨幣類似,具有一定的價格敏感性,其價格隨市場變化而產生波動;條目信用的價值則始終維持在0.1美分。基于該設計,開發(fā)人員和企業(yè)能以穩(wěn)定且可預測的價格與 Factom 網絡進行交互,同時仍可利用諸如比特幣和以太坊等高價格波動網絡的哈希算力。開發(fā)者使用 Factoid 購買條目信用,后者則向區(qū)塊鏈提交應用數(shù)據(jù)。應用程序隨后記錄數(shù)據(jù)條目,F(xiàn)actom 服務器負責創(chuàng)建條目區(qū)塊和目錄區(qū)塊,再由 Factom 協(xié)議將目錄區(qū)塊的哈希值與比特幣和以太坊網絡進行錨定。該流程如下圖所示: