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