小蚁是基于区块链技术,将实体世界的资产和权益进行数字化,通过点对点网络进行登记发行,转让交易,清算交割等金融业务的去中心化网络协议,小蚁可以被用于股权众筹,P2P网贷,智能合约等领域
小蚁共识机制使得运行小蚁协议的各节点能够对当前区块链状态达成一致意见,通过股权持有人投票选举,来决定记账人及其数量;被选出的记账人完成每个区块内容的共识,决定其中所包含的交易。
小蚁记账机制被成为中性记账,PoW/PoS/DPoS解决谁有记账权的问题,而中性记账则侧重于解决如何限制记账人权利的问题,在中性记账的共识机制下,记账人只有选择是否参与的权利,而不能改变交易数据,不能人为排除某笔交易,也不能人为对交易进行排序。
小蚁的中性记账区块链可以做到:
1)每15s产生一个区块,优化后有望达到小于5s;
2)单个记账人不能拒绝包含某笔交易进入当前区块;
3)每个确认由全体记账人参与,一个确认就是完全确认;
4)结合超导交易机制,记账人不能通过构造交易来抢先成交牟利。
小蚁股权持有人可以发起选举记账人交易,对所选择数量的(1~1024个)候选记账
人进行投票支持。一般认为,记账人应当实名化,候选记账人应当通过其他信道提供能证
明其真实身份的数字证书。
小蚁协议实时统计所有投票,并计算出当前所需记账人的人数和记账人名单。为确定
所需记账人数,将所有选票按支持人数排序,按所持小蚁股权的权重取中间的50%,然后
求算术平均值。当人数不足最低标准时,启用系统预置的后备记账人来顶替。所需记账人
数确定后,按由高到低的得票数确定记账人名单。
我们以区块随机数的生成来了解小蚁共识机制。每个区块生成前,记账人之间需要协
作生成一个区块随机数。小蚁使用沙米尔秘密共享方案(Shamir’s Secret Sharing
Scheme,SSSS)来协作生成随机数。
依据SSSS方案,可以将密文S生成N份密文碎片,持有其中的K份,就能还原出密文
S。小蚁记账人(假设为N+1个)之间通过以下3步对随机数达成共识:
1)自选一个随机数,将此随机数通过SSSS方案生成N份碎片,用其他N个记账人的
公钥加密,并广播。
2)收到其他N个记账人的广播后,将其中自己可解密的部分解密,并广播。
3)收集到至少K份密文碎片后,解出随机数;获得所有记账人的随机数后,合并生
成区块随机数。
区块随机数由各个记账人协同生成,只要有一个诚实的记账人参与其中,那么即便其
他所有记账人合谋,也无法预测或构造此随机数。
在上述区块随机数生成的第一步的广播中,记账人还同时广播其认为应该写入本区块
的每笔交易的哈希值。其他记账人侦听到广播后,检查自己是否有该交易哈希值的对应数
据,如没有则向其他节点请求。
当区块随机数产生后,每个记账人合并所有第一步广播中的交易(剔除只有哈希值但
无法获得交易数据的交易),并签名。获得2/3记账人的签名,则本区块完成;否则,共
识失败,转回随机数共识的第一步,再次尝试