factom 白皮书发布于2014年,次年上线主网,是至今仍较为活跃的老牌公链之一。基于 factom 协议,开发者可以更为快捷、低成本且无膨胀的方式进行区块链应用开发,并将数据安全地记录于比特币与以太坊网络,而无需与二者直接交互。factom 协议致力于提升数据完整性,已被美国能源部、国土安全部、比尔及梅琳达·盖茨基金会等机构用以进行数据保护,不久前还被 pegnet 用于构建底层网络。区块链应用
factom系统概述
factom 本质上是一批能有序、便捷地进行数据记录的区块链集合。用户可自行创建公链并写入数据,并记于区块中;随后,factom 将借助全网之力确保数据安全。
factom 由多层数据结构组成,其中第一层级为目录层(directory layer),负责管理条目区块(entry blocks)的梅克尔根(merkle root)——本质上讲,该层是由所有条目区块及其相应链 id 生成的哈希值;第二层级为条目区块层(entry block layer),其包含的引用(reference pointers)指向在特定时间内拥有特殊链 id 的全部条目;条目区块层下一层级为条目(entries),是记录于 factom 网络的原始应用数据;最下层级为链(chains),是某一特定应用程序或应用主题的条目组合。简言之,应用程序数据存于链上,而链随之被记于条目区块,由目录层进行哈希加密,并受比特币和以太坊网络保护。factom 层级结构如下图所示:
factom 协议对于开发者的友好程度极高。以太坊要求开发者使用以太坊协议原生语言 solidity,factom 则支持开发者通过以下常用编程语言访问 api:javascript、python、c#net、go、java、rust。如前所述,由于 factom 与比特币和以太坊网络进行了锚定,因此每当一个区块被添加至 factom 公链,该数据也将永久记录于比特币和以太坊网络。
双代币模式
factom 采用双代币模式,其中,factoid 为 factom 公链的原生代币,条目信用(entry credit)则用于向网络中提交条目(entries)。factoid 与诸多加密数字货币类似,具有一定的价格敏感性,其价格随市场变化而产生波动;条目信用的价值则始终维持在01美分。基于该设计,开发人员和企业能以稳定且可预测的价格与 factom 网络进行交互,同时仍可利用诸如比特币和以太坊等高价格波动网络的哈希算力。开发者使用 factoid 购买条目信用,后者则向区块链提交应用数据。应用程序随后记录数据条目,factom 服务器负责创建条目区块和目录区块,再由 factom 协议将目录区块的哈希值与比特币和以太坊网络进行锚定。该流程如下图所示: