Ulam是由清华大学高等研究中心团队研发的底层共识算法创新项目。是即POW,POS,DPOS, PBFT,DAG类共识算法之后的第五个在共识算法上有重大创新的区块链项目。Ulam共识的灵感来自波兰犹太人数学家斯塔尼斯拉夫·马尔钦·乌拉姆(Stanisław Marcin Ulam)。Ulam的主要发明者,清华大学高等学院博士吴彦冰在研究 “区块链不可能三角”与POW的能源消耗问题时受到乌拉姆的“Luck number”的启发。发现利用哈希函数的特性可以创造出超低能耗,完全去中心化和高度稳定性的全新共识算法。
Ulam特点
· 颠覆式创新共识
Ulam是根据节点的幸运值来决定挖矿概率的,不需要进行hash值的计算。每个节点根据幸运值的大小,决定拥有的随机数的个数。节点的幸运值越大拥有的随机数越多。在每次出块的时候被选为记账节点的概率也就越高。
· 高TPS
Ulam设计的全新非交互式交易验证算法(NITCV),可以使TPS最低达到10000。Ulam使用知识证明的方法构造出非交互式交易验证算法。普通的区块链在验证交易时需要所有矿工都对区块中的交易进行验证,Ulam的非交互式交易验证算法通过矿工打包区块后对区块内的交易验证后生成交易验证证明。
· Ultra Low Energy Consumption
Ulam的挖矿机制采用哈希随机数生成,不需要寻找特定的哈希。因此,一台超级计算机和一台普通的智能手表手机找到正确的随机数的概率是一致的(不考虑币零的情况下)。从而,成功地做到了超低能耗。
· 完全去中心
因为专业的矿机在进行Ulam挖矿时并没有优势,所以在Ulam的生态系统中将不会有专业矿机的出现。而大众会用自己日常的设备比如手机、笔记本电脑、台式机、Pad、智能手表等进行挖矿。由于参与的门槛低,大众就可以高度参与Ulam节点的运行。
· 抗算力集中
Ulam不需要通过计算Hash原像来选出打包节点,因此在Ulam中并不存在算力竞赛的现象。Ulam通过设计的算法来计算出每个节点的幸运值,从而根据每个节点的幸运值完全随机的挑选出打包节点。
· 抗量子攻击
Ulam采用了抗量子攻击的签名算法NTRU。NTRU(Number Theory Research Unit)算法是1996年由美国布朗大学三位数学教授发明的公开秘密体制 。这是一个基于多项式环 (其中N是一个安全参数)的密码体制。它的安全性依赖于格中最短向量问题(SVP)。
颠覆式共识算法
ULAM共识算法是根据节点的币龄来决定节点挖矿成功的概率。每个节点的币龄是根据节点持有币的多少和持有币的时间来计算出来的一个值。每次挖矿的时候,每个节点都会根据币龄大小的不同产生出相应个数的随机数,币龄越大将会产生出越多的随机数,随机数通过 VRF 算法产生保证产生的随机数是可验证的随机数。出块的时候,通过时间戳、上一块信息等产生出可验证的随机数,挖矿节点之前产生的随机数若与此时产生的随机数相同则获得打包记账的权力,如果有多个节点获得记账权力将以币龄长的获得记账权,在获得记账权力之后,这个节点的币龄将会相应归零。ULAM共识算法可以有效的防止矿场和矿机的出现,更能减少挖矿造成的大量资源浪费。
ULAM共识算法在性能方面也能有很好的表现,从理论的角度讲,ULAM算法的 tps 可以达到无限大,在实际使用中也可以满足金融、交易、溯源等各种场景的应用。ULAM在实现高吞吐的同时也保证了区块链最本质的去中心属性。我们相信基于 Ulam 共识的区块链将是下一代区块链的标准。
非交互式交易验证算法
ULAM设计的全新非交互式交易验证算法(NITCV),可以使 TPS 最低达到1万。ULAM使用知识证明的方法构造出非交互式交易验证算法。知识证明简单的来说就是证明者说服验证者相信其知道某个“知识”(信息)。一般的证明方法为构造多项式时间知识提取器提取“知识”。普通的区块链在验证交易时需要所有矿工都对区块中的交易进行验证,ULAM的非交互式交易验证算法通过打包矿工打包区块后对区块内的交易验证后,生成交易验证证明,其他矿工只需要验证打包节点产生的证明而不需要去验证块中的交易,使得 TPS 大大提高。假设一个区块有1000笔交易,那么所有矿工都需要去验证这1000笔交易,而使用ULAM独创的非交互式交易验证算法,只需要一个矿工验证1000笔交易,其他矿工只需要验证打包节点生成的证明,速度会比之前提高1000倍。非交互式交易验证算法可以使TPS理论上达到无限大,但是受限于网络和处理器处理的速度,目前实测TPS为 1 万,随着网络和处理器等其他技术水平的提高,TPS还能有更大的提高。
发行量
ULAM的总发行量为1414213562枚(80%用于挖矿奖励,8年挖完;20%写进创世块),可拆分至小数点后18位。1414213562是√2的近似值。√2是人类发现的第一个无理数。Ulam大概六月初或者更早上交易所,预估价格是1eth 2000ulam。一年的挖矿大约收益是30%-70%。
UlAM选用这个数字作为发行量一则为了致敬人类历史上的第一次数学危机和变革的开始;二则也希望ULAM这一全新的共识可以像√2一样引发区块链领域的一次变革。