IoTeX测试网 Alpha(代号“Strive”)发布
6月是IoTeX的技术月,我们已经和大家分享了团队在区块链和密码学领域的创新突破: IoTeX发表了两篇关于区块链隐私(DKSAP-IoT)和共识(Roll-DPoS)的学术论文,并在世界各地主流区块链科研会议上分享交流了这些创新成果。
今天,我们非常开心能够向大家分享我们的第二个代码版本:
测试网 Alpha版(代号“Strive”)
欢迎通过Github查看代码详情:
GitHub - iotexproject/iotex-core: Official implementation of IoTeX blockchain protocol in Go.
更多代码测试说明,请见README文件:
“Strive”名字的由来
Strive是以密码学领域先行者、MIT(EECS,CSAIL)教授Ronald Linn Rivest的名字来命名的。可能你已经注意到了,“Strive”是“Rivest”字母的重新组合。首次代码发布代号“StoneVan”是以“Vanstone”命名的。
Rivest教授是RSA算法的创造者之一,同时也是多个对称秘钥加密算法和加密散列函数的发明人。将本次发布命名为“Strive”是IoTeX团队向Rivest的一次致敬,他为IoTeX今天的发展奠定了基础。
Strive的特性
在我们第一次发布的测试网预览版中(代码:StoneVan),我们介绍了一些区块链领域的简单核心技术,如交易、区块处理,点对点网络中的gossip协议,嵌入式共识架构和前期流程远程通讯支持。在过去的这两个月里,IoTeX技术团队取得了质的飞跃,在不断强化StoneVan的代码同时,更是在Strive代码版本里添加了诸多新的内置功能,包括我们优化的椭圆曲线密码库(ECC library)和Roll-DPoS共识机制的实施。以下是对于StoneVan和Strive这两个代码版本的技术特性的对比:
IoTeX的前期设计构思与Strive
关注我们的支持者一定知道,IoTeX是一个完全从零开始的区块链项目(并非任何现有项目的分叉项目) - 要支撑起未来遍及全球的区块链物联网,必须建立与现有项目截然不同的设计架构和实施流程。
所有的区块链项目都要做前期设计决策,最终平台应用的创新方向。IoTeX也是如此——在物联网世界,敏感数据(如重要物品的位置信息等)以极快的速度在相关方之间传递。
因此,IoTeX的前期设计构想与许多一般用途的区块链平台不同,不以牺牲隐私的代价换取高吞吐量和扩展性,而是致力于在以下三个方面同时进行创新探索。
- 轻量级隐私保护技术:运用轻量级加密技术全面保护(包括发送方、接收方与价值在内的)交易隐私。(场外信息:IoTeX联合创始人Raullen和密码学负责人Xinxin的博士研究方向都是轻量级密码学!)
- Roll-DPoS共识机制:运用比普通DPoS更民主的方式达成快速共识和高吞吐量。(黄皮书将于6月30日发布)
- 链中链架构:包含实现跨链通讯的公链和通过智能合约配适匿名物联网设备网络的子链,并且通过添加任意数量的子链功能实现高吞吐量。
虽然IoTeX在各个领域的技术创新都足以使人眼前一亮,我们更加注重这些技术创新的相互结合,以便成为未来世界范围内物联网的必要组成部分。换言之,IoTeX并非为了创新而创新——每一个技术组件都是必不可少的,他们将以全面保护隐私的方式支撑起数以亿计的物联网设备和每秒数以万计的物联网交易。
IoTeX在创新的征程中,怀着无比激动的心情发布Strive,它是IoTeX最初技术蓝图的充分展示,将三大关键技术创新结合在一起:通过椭圆曲线密码库实现隐私保护,通过Roll-DpoS的完整实施实现高吞吐量,通过基于用户的记录存储管理子链,实现可扩展性。内部关键技术特征包括:
- 优化版椭圆曲线密码库内部实施,如libsect283k1
- 随机信标与完整的Roll-DpoS共识机制实施
- 通过通证转让与代表投票实施行动库
- 基于用户的记录存储区块链,以备管理子链
- Explorer完整实施
- 元件测试覆盖率超60%
- Docker化与扩展性拓展
IoTeX区块链以golang语言编程,该语言有效平衡了快速开发、易于维护与代码性能的需求,此外还具有诸多技术优势。观看Strive代码演示,请见演示视频LINK,在视频中我们将在多种轻量级物联网设备上运行该代码,同时展示运行Roll-DPoS共识机制的拥有21个节点的P2P网络。
IoTeX Explorer1.0官方发布
为了让大家了解代表(Delegates)们在后台如何运作,我们向大家隆重宣布:IoTeX Explorer1.0已经上线啦!
IoTeX Explorer是实时展示IoTeX测试网关键指标的前端可视化工具,同时也可以展示Roll-DPoS共识机制及投票过程的运行情况。
现有代码库在配置于digital ocean中的docker内运行,我们在此模拟21个候选节点与7个代表节点在每epoch时段生成的交易与投票,通过P2P网络进行通讯。我们可以在测试网上加入任何数量的主节点和一般节点,但是这个演示工具主要模拟了候选节点和代表节点运作情况。我们在测试网中运用“交易植入器”模拟地址间的交易及下轮代表选取投票。简而言之,IoTeX Explore可视化了IoTeX测试网中区块的生成、交易和投票的过程。演示详情可以参见我们的演示视频。
我们的explorer由三部分组成:
1. Roll-DPoS共识机制演示:
目前的Strive网络(以绿色点连接的球形网)由21个相连的代表(彩色点)组成。在这些代表中,有7名代表被随机选中,共同在当前Epoch中运行。每轮Epoch代表的颜色变化标志着新一组代表被选中,在IoTeX区块链上贡献算力。
2. 数据显示:
该区域显示的是Roll-DPoS共识机制运作过程中的具体历史数值和当前数值。
该框内数值代表在IoTeX区块链上运行的Epoch总数。Epoch代表同一组被选中的代表们轮流代表全网络产生区块的时间段。
该框内数值代表IoTeX区块链上产生的区块总数。
该框内数值代表IoTeX区块链上产生/记录的通证交易总数。
该框内数值代表在IoTeX区块链上选举代表的投票总数。
- 最终交易率(FTPS)
该框内数值代表每秒完成的运作(交易+投票)数。
- 建块历史
该框内数值代表IoTeX区块链运作时长(最新生成区块时间戳 – 最先生成区块时间戳)
3. 代表具体数据显示
- 最新区块列表
该列表显示在IoTeX网络中生成的区块。在每一个区块ID下,您可查看区块具体信息,交易列表以及该区块中记录的投票。
- 最新交易列表
该列表显示IoTeX区块链上记录的交易。在每一个交易hash下,您可查看包括发送方、接收方、数额在内的具体信息。
- 最新投票列表
该列表显示IoTeX区块链上产生的投票。在每一个投票id下,您可查看投票具体信息、投票方等信息。
您可通过搜索栏搜索任一具体地址、交易、区块或投票。在接下来的几个月中,我们将对测试网进行进一步全面测试,改进代码库,优化其性能。我们希望社区成员积极探索此前端可视化工具,并在Github上进一步探究驱动此Explorer的代码。
Strive惊艳亮相之后——接下来还有哪些惊喜?
IoTeX的Testnet Beta代码预计将于2018年8月下旬发布。IoTeX的下一阶段发展重心将放在可扩展性与稳定性上。该发布将包括脚本与虚拟机(VM)全面支持、子链间跨链通讯首次实施与UDP&TCP驱动下的可嵌入式传输构架。
除我们下次的Testnet Beta代码发布外,IoTeX技术与研发团队还将就理论创新、应用与概念领域发表数篇学术研究论文。
另外,我们还计划宣布一系列在商务发展、合作伙伴和社区建设方面的好消息。能够与开发者、应用程序、企业、社区以及广阔的区块链生态系统建立意义深远的合作关系,我们深感骄傲。敬请期待更多来自IoTeX的好消息。
代码贡献——我们需要你的帮助!
IoTeX核心项目是一个基于Apache License2.0许可下的开源项目——我们急需核心小组以外的支持和贡献!
我们非常欢迎任何帮助IoTeX开发潜能的贡献,包括漏洞修补、特征建议、计划/算法提议、存档协助等。代码贡献者请关注我们的贡献条款LINK,获取更多信息。如您发现任何问题,请在Github页面上提出。