(许超逸)新型数字货币的技术创新研究之 RaiBlocks、De
2018-01-10 分布式资本 | 许超逸 新型数字货币的技术创新研究
作者简介:许超逸
分布式资本战略管理部总监,BKFund管理合伙人。毕业于安徽大学化工专业,十三年高科技行业研发与管理经验,对人工智能、互联网、区块链、数字货币与数字经济拥有深刻理解,多家科技公司的早期天使投资人。
2017年是区块链与数字货币行业井喷爆发的一年,大量基于以太坊体系的ERC20代币出现,与行业应用场景相结合,产生出了各种各样新颖的应用,在交易市场获得高度认可而价格飙升,甚至因此而受到一些政府的严厉监管与限制。
与此同时,我们也看到市面出现了一些非常优秀的,在底层加解密算法、数据结构与共识协议方面进行了一些新探索、新研究、新设计的数字货币,因此我们挑选了三个比较有趣的项目进行重点分析,并与大家介绍分享。
- RaiBlocks(XRB)支持快速转账的点阵区块结构
- Decred(DCR)致力于更佳社区治理结构的比特币
- PascalCoin(PASC)接近于银行系统的数字货币
1. RaiBlocks(XRB)支持快速转账的点阵区块结构
与经典的公共区块序列化结构不同,RaiBlocks在白皮书中表述采用的是类似IOTA与ByteBall的DAG结构,但实际上仍有很大的差别。
- IOTA的方法是用户在交易之前先进行挖矿验证,交易图像密度要更加分散,
- ByteBall采用的是见证人集中验证的模型,交易图像在大部分时间里接近于线性排列,
- RaiBlocks把自己称之为区块点阵结构,每个账户拥有自己独立的区块链,在交易时,在发送方账户与接受方账户的链结构中均通过POW的方式各生成一个新区块(分别叫做“发送区块”和“接收区块”)。
这样做的好处,
- 一来是可以避免大量的历史交易记录冗余,减少区块占用机器的硬件存储容量,
- 二来是加速了交易的处理,能够将转账时间缩短到秒级甚至更低,
- 三来因为不需要有第三方的记账和验证,交易的时候不需要支付手续费,
- 第四通过POW的机制可以用来防止攻击者进行垃圾交易。
为了加快微小交易的处理,RaiBlocks使用传输层的UDP协议进行交易,相对于可靠的传输协议TCP与SCTP,UDP不需要进行握手与确认,因此可以做到大量微小交易的异步快速传输,UDP传输协议可以支持最大64K的单个报文数据长度,这个足可以容纳RaiBlocks的交易数据。
(在发送交易之前进行POW挖矿并创建区块)前面所说,POW机制在RaiBlocks里面的作用实际是用防止垃圾交易的,RaiBlocks采用共识机制是DPOS协议,因为只有账户所有者才有能力在自己的账户区块链进行签名并生成一个新的区块,当区块链出现分叉的时候,其原因必然是账户所有者自身的错误操作(不正确的调用了系统提供的API接口)或者恶意的双花消费。
此时,RaiBlocks系统中的代表们将创建一个投票,引用分叉块之前的正常块,并在1分钟之内由DPOS代表投票决定获胜的区块分支,另一个分支将被丢弃。
RaiBlocks的代币XRB总量为1.33亿枚,在2017年10月已经全部分发完毕。因为没有交易手续费,做为见证人代表、全节点也没有任何的奖励,目前不清楚这样是否会有人有动力去做见证人与全节点。
RaiBlocks的出现带给了数字货币行业的研究者们一些新的思路,即有别于IOTA与ByteBall的网状结构,使用点阵式的区块来支持点对点的交易,据说RaiBlocks目前的性能已可以达到7000TPS,应该来说这是一个不错的尝试,但从我们目前使用来看,RaiBlocks的钱包还比较简陋,我们也期待着RaiBlocks新版本的问世,以及其他安全方面的一些机制改进。
2. Decred(DCR)致力于更佳社区治理结构的比特币
众所周知,在比特币生态体系中,虽然Core团队是比特币的开发者,但矿工对比特币的硬分叉以及共识是拥有决定权的,比特币商业化之后,矿池已经进行集团化的运作,前三家大矿池就已经占据了全网超过52%的算力,理论上可以发动51%攻击。
而矿池的目的是以盈利为第一要务,因此商业化方面的考量往往会超过技术方面的考量。这也导致比特币网络日渐拥堵,手续费居高不下,手续费设置较少的交易往往长时间得不到打包而导致停留在mempool里面,我们可以看到目前矿工费已经在千分之1.5左右,甚至在拥堵时刻达到千分之5,这意味着高峰时期每笔交易的手续费约为500-600人民币,对于微小交易来说这是不可接受的,严重影响了比特币的商业普及。
矿池算力 mempool状态Decred想要从治理结构上永久性的解决比特币所存在的问题,因此他设计了POW+POS混合的分层共识机制,即:通过POW来创建区块搭建区块链,通过POS来确保挖出来的区块符合用户的利益。
我们先来看看Decred的POW机制,我们知道Bitcoin在POW上面采用的是SHA256算法,由于其算法本身的瑕疵导致了一种被称之为AsicBoost的专利技术,基于该技术Asic矿机可以通过简化SHA256算法中的一些关键步骤来获得挖矿效率的提升(接近30%),这种不公平使得对比特币的挖矿生态产生不利影响,而Decred使用的是Blake256算法,需要显卡的硬计算能力,该算法在x86-64架构上面有着更好的性能表现,而且安全性要更高。
在POS机制方面,Decred上的POS协议使得用户可以通过持票(ticket)来为Decred的某项改进提案(DCP,类似于比特币里面的BIP与以太坊里面的EIP)进行投票,比如开发团队是否需要在某项新功能的开发上投入时间,是否要激活某项功能,如何使用经费等等。
为了参与POS,用户需要锁定自己的一部分DCR代币来换取ticket,每张ticket可以进行一次投票,投票完成之后,用户解锁相应的DCR代币并能够获得一定的奖励,这个过程我们称之为POS挖矿。每张ticket会被随机的选举以参加投票,平均时间大约是28天,但最高可能会达到142天,并有0.5%的机票选票被作废。
POW矿工生成每个区块的时候最少应有5张选票来进行确认,如果少于5张时POW矿工的奖励会减少以示惩罚,同时最多可以有20张选票。POS的难度调整算法将每隔144个区块调整一次ticket的价格,使得维持票池里的票数在40960左右。用户参与POS挖矿需要支付选票费给POW矿工,以便POW矿工将自己的ticket打包放入新挖的区块之中。当ticket被选中进行投票的时候,用户的钱包应当在线以行使自己的投票权,如果无法投票,则用户不能获得奖励,为了方便无法保持全天在线的用户,用户可以选择POS矿池代为投票,并向POS矿池支付一定的费用。
如下是我们从Decred钱包截取的关于Ticket的页面设置图,用户可以直接购买ticket并委托给矿池进行管理,同时ticket经过打包之后便成为活跃的(live)状态可以参与投票。而随着参与POS挖矿的用户越来越多,被锁定的DCR代币也越来越多,因此流通的DCR就会相应的减少,而提升DCR代币的价值。
DecredDecred总供应量与比特币一致,均为2100万枚,在块0处预挖168万枚,之后每5分钟左右会产生一个新块,出块奖励从31.2DCR开始,每6144个块(约21.33天)减产一次,出块奖励中有60%是属于POW矿工,30%属于POS选民,10%归为发展基金。
Decred供应量Decred是我们所研究的数字货币中在治理方面做的比较好的一种,很好的平衡了POW矿工、用户、POS矿池之间的关系,他们互相受益又互相制约。并且我们已经看到,通过POW+POS的混合共识机制,在Bitcoin方面争议很大的一些关键特性(例如闪电网络)能够很快的在Decred上面投票通过并付诸实施。
这使得Decred的功能改进能够快速发展,开发者们将更能够专注在于技术的不断创新,而不必把自己的精力消耗于无止境的争论与利益斗争之中。
(2017-11-26 Decred官方推特)3. PascalCoin(PASC)接近于银行系统的数字货币
初发现PascalCoin的时候,他的设计让我们感到兴奋不已,因为从技术细节上来看,PascalCoin包含了非常多的新特性,看起来非常接近于银行系统,同时又融入相关密码学的功能。
PascalCoin的第一个特点在于他同时使用了“账户”与“操作”两个数据库,账户数据库称之为SafeBox,保存了每个账户的余额。操作数据库也就是我们一般意义上理解的区块链,存放每次操作的数据,之所以我称其为操作,因为在区块链上不仅仅只是在账户之间转移资金,还包括修改密码,更改账户名称和账户状态等操作。
我们知道,经典的区块链结构是在区块上面保存每次交易的数据,因此随着时间的推移,区块会变的越来越庞大,对于全节点的要求也越来越高,这个要求高不仅是指对硬件存储能力的要求,同时全网同步区块数据也是一件非常耗时的事情,需要一天甚至数天的时间。
PascalCoin在交易数据这个层次上面把自己称作为“无限扩展”的解决方案,他只保留最近100个区块,过往的交易数据区块内容会被丢弃,因此他的区块数据库的大小几乎是固定的,占用的存储空间非常小。
PascalCoin会每隔100个区块设置一个检查点,并在SafeBox里面进行存档。相比于比特币系统使用UTXO的方式来说,因为比特币总需要历史的UTXO进行回溯,因此全节点必须要保存所有的数据。SafeBox当然也会随着账户的不断增多而增长,但其增长的幅度几乎可以忽略不计。
PascalCoin的第二个特点在于他的账号体系,他在传统的公钥/私钥之上,叠加了一个账户,这个账户是由若干个数字加上横线组成的,没有晦涩的大小写字母穿插在里面,可读性很好,类似于银行卡号,容易记忆,并且用户还可以很方便的通过内置的账号交易所购买短小的“靓号”,还可以给自己的账号设定类似于“域名”、“电子邮箱”的名称以对外宣传并接受付款。
用户首次使用钱包的时候,需要先从钱包里面获取一个公钥,然后将公钥关联到一个账号才能够开始交易与接受资金。
更加有趣的是账号这个并不是能够无限生成的,而是POW矿工在打包每个区块获得PASC代币奖励的同时获得了新的账号并将其挂接在SafeBox里面。
目前这个账号数量配置是5个,从经济模型来看,有非标且限量的账号体系的奖励,这使得矿工更有动力去打包交易而不是仅仅考虑出块时收取的矿工费用的问题。
同时PascalCoin的账户体系使得在传统的账户间资金转移的交易方式之外,新的一种更安全的匿名交易方式成为可能,那就是用户可以将账户资金进行拆分,并把其中一个账户直接转移到别人的公钥之下,从而使得别人可以拥有这个账户。
(PASC的账号,如“32851-41”) (用户可以直接在钱包里面出售与购买账号)PascalCoin的第三个特点在于他所设计的“0确认”交易体系,我们知道比特币的区块时间平均是10分钟,因此至少要等待1个区块确认之后通常才会被视为有效交易。
当然,由于现在比特币的网络极其拥堵,矿工们是依手续费从高到低来打包交易,较低的手续费可能很久都不会得到打包而导致最终从矿池的mempool中废弃,这也是为什么比特币需要链外闪电网络的原因。
PascalCoin采用了一些不同的做法,
- 首先PascalCoin并不是基于UTXO模型的设计,资金是从账户余额中划转,如果账户里面仍然存在余额的话,消费者发起双花攻击是没有意义的,因为他的账户余额会被划转两次,
- 其次PascalCoin将计划推出一项“双花检测服务”,商户将可以在收到0确认交易时使用这项服务来检测全网节点中是否存在双重支出,并在5-10秒之内返回结果,如果确认没有发现,那么商家几乎可以确信,该0确认交易能够被矿工所打包与接受。
如大家所见到的,PascalCoin所做出的各项改进,包括可读账号、无限扩展、0确认交易,以及限于篇幅原因,本文中并没有过多阐述的Layer-2架构,货币化的API接口,似乎是开发团队有意将数字货币系统朝着类似银行系统的用户体验去做的,我们也期待着PascalCoin能够迎来真正被广泛应用的那一天。
小结
以上我们所整理并分享的一些新型的数字货币的技术创新之处,相对于为用户所熟知的BTC,ETH,EOS等,均在某些方面做出了改进,目的也是去尝试着解决在实际应用中所出现的一些问题。
最近一段时间数字货币行业大幅上涨,牛市行情见好,很多朋友在短时间内实现财务自由,完成逆袭的过程。但作为数字货币行业的从业人员,我们仍然希望在这个快速发展的区块链与数字货币行业当中,有人能够不忘初心,还原区块链与数字货币的科技本质,继续坚持技术创新,努力探索并乐在其中。
本文在写作过程中,参考了网络上多篇文章的观点,在此一并表示感谢!