发新帖

Qtum 量子链:整合比特币0.13和PoS3.0的智能合约平台

admin 8月前 692

前言支持POS3.0V0.13版本的BTC Core,Qtum项目在开发过程中的一个副产品也是未来Qtum的代码的一部分目前现存的POS货币的代码大部分都还在使用bitcoin core 0.8版本的非常陈旧的代码库,Qtum的开发团队跨越比特币的5个版本,(V0.9 V0.10 V0.11 V0.12 V0.13),V0.8版本port到了V0.13版本在该版本的pos网络中我们可以使用所有最新的比特币代码重要的特征例如隔离验证和未来的闪电网络等。除此之外,Qtum的团队还改进了sunnykingpos机制提升了整个POS共识机制的安全性。以安全、可靠、充分测试过的代码作为Qtum平台的主干代码会降低开发成员的学习成本也会增加Qtum系统的安全性并且可以和现有的比特币生态和以太坊生态实现极大的兼容性。




 

Qtum (Quantum) blockchain (www.qtum.org) already ported classic POS 3.0 to Bitcoin v0.13 source code.

量子链 PoS 3.0与Bitcoin v0.13 



Qtum Porting POS 3.0 to Bitcoin Core 0.13


 

 

Qtum 链 POS 3.0 与 Bitcoin Core 0.13  的融合


 


PoS权益证明是一种虚拟币共识机制,与需要专有设备挖矿不同之处在于PoS需要持有代币进行区块生产从而维护整个网络。PoW工作量证明要求解题生产区块,难度会随着算力增长。

 


PoS机制使Qtum持有者使用个人设备维护网络。从而杜绝了矿机,FPGA,GPU矿场,一台笔记本或个人电脑就足够了。 



在编辑本文时,已经需要2百万兆哈希秒算力在挖一个区块。假设每个人用蚂蚁S9 14矿机,一共需要14万台设备。每个设备用1400瓦,每台设备1200美元,那么一共耗费资源达到1.68亿美元,1.96亿瓦电力。每千瓦小时0.1美元算,每天的电耗为47万美元。电力成本变化因素多,还有很多老设备在挖矿。只要电力成本低于比特币价格,难度还在增长。

 


维护Qtum PoS区块链的成本相对于PoW机制则微乎其微。差不多1万瓦就足够了,大概需要100台设备使用网络权重。因此PoS机制非常环保。

 


Qtum代码基于比特币0.13版本,并计划整合黑币PoS 3.0共识。这种方法充满挑战,需要通过以下八个步骤完成。

 





1、研究和选择PoS共识机制



 

Blackcoin自2014后共3个PoS版本,2.0版本解决了潜在的安全问题。3.0版本做了一些更新,尤其是将PoS利息从每年1%改为每个区块1.5币。也就是只有参与维护网络的代币持有人才有机会获取区块收益。对比各种PoS共识版本后,Qtum首先决定将黑币3.0版本与比特币0.12版本结合。

 





2、将PoS3.0集成到qtum量子链


这部分需要审慎研究黑币PoS3.0版本功能。可以看出黑币核心代码来自于比特币2013的某个版本,现在将其导入到比特币0.12版本需要重新构建代码以便于进行编译。

 


黑币PoS3.0比较复杂,代码中也没有清晰的解释,关联性描述较差。PoS的代码也分布在多个文件里,难点是在代码里做属性标注,以便于对需要导出部分作出标记。

 


比特币和黑币的区块链同步方法不同。黑币下载整个区块,而比特币区分区块和区块头以便于加速同步时间。考虑到这一点,导出的黑币代码做了修改之后再与比特币0.12版本整合。黑币的“挖矿”软件业一并导出,用户可以用Qtum核心解方程获取区块奖励。

 

这部分工作由一位代码分析师和两名区块链开发人员完成。









3、测试和修正没有节点情况下 qtum量子链PoS问题


黑币挖矿软件和比特币0.12版本整合完毕后,通过RPC呼叫核心客户端进行测试。做了改动后,实现在一个机器上挖矿。检查了算法,该阶段成功实施。





4、第一条测试链



利用已经部署了qtum PoS的10个节点建立了测试链。5个节点是硬编码静态节点,其他使用了云计算服务器作为节点,连接正常。生成创世块之后,网络每64秒生成新块,难度调整间隙设置为16分钟,新块奖励为5个币。每个节点都含有预挖币,客户端钱包启动默认开始挖矿。






5、 Qtum POS 问题解决


该步骤有很多问题,开发者需要解决大量报错。有些代码错误导致通讯问题,有些节点被屏蔽并分叉。难度调整不正确,钱包崩溃等等。

 

问题后,通过数日观察网络,保证其稳定运行。





6、Qtum多平台核心钱包


第一条测试链使用Linux,因为这是编译最容易的平台。做了改动以便于在编译Mac版本。也做了使用mingw和msys2的版本,msys2版本检查到问题。最终使用了mingw和linux的交叉编译。这就保证了Mac和Windows 64位钱包编译运行。





7、 Qtum 导出为 Bitcoin Core 0.13 版本




黑币PoS 3.0 与比特币0.12整合成功。但是为了使用比特币最新版本,决定将Qtum PoS转为比特币V13版本。V13版本特性是无需下载整个区块链,仅仅通过区块头下载,加速了同步进度,大大提高用户体验。

 


该阶段遇到一些问题,比如钱包转账生成报错日志。继续观察测试链运行。





8、 Qtum QA 测试


测试全新区块链需要时间,每块生成时间为60秒。测试时间越长越好,搭建了数条测试链,使用130个基于云的linux会话搭建节点。每个测试链保证运行15000区块。

 

由于融合了比特币0.13代码,出现同步过程中下载区块不完整问题,这个问题已经得以解决。每条测试链运行15000区块,没有其他问题出现。







    


最新回复 (0)
返回
发新帖
admin
主题数
275
帖子数
21
注册排名
1