经过多年的深入研究、严格测试和我们工程师的不懈努力,我们终于能够邀请大家参与到IOTA项目的这一重要里程碑中来,我们感到非常自豪。Pollen标志着世界上第一个真正的去中心化的、可伸缩和无手续费的分布式账本的开始,这是IOTA从第一天开始的承诺。Pollen 是IOTA三阶段发布计划的第一个阶段,最终将会形成我们的无协调器的、可用于生产环境的网络:IOTA 2.0。Pollen 是一个快速发展的研究试验台,社区、研究人员和工程师可以在这里测试和验证IOTA 2.0的各个概念。
您可以在这里下载最新版本并查看完整的更改日志。
与之前的Alphanet v0.1.3版本相比,Pollen 是一个重大的升级。我们粗略计算了代码库中进行了60000个增加和25000个删除。我们已经建立了一个无协调器网络的基础。从现在开始,对代码的迭代改进将把Pollen 转化为最终的、功能完整的IOTA 2.0 的候选版本。
今天的发布包括以下主要功能更新:
- FPC快速概率共识- IOTA的为去中心化网络的新的共识算法。你可以在这里阅读研究论文。
- 价值交易——网络参与者现在可以使用一个faucet 来接收测试令牌,发送价值交易(通过钱包)和测试网络上的冲突解决方案。
- Token化资产(染色币):任何人现在可以用不同的属性为IOTA的token进行染色,这些属性代表真实世界的资产,比如建筑物、物联网设备,甚至公司资产。
- Prometheus和Grafana集成-节点操作员现在可以通过启用Grafana仪表板来监控多个指标。
- 无手续费dApps:这个版本包含了IOTA生态系统的未来功能:无手续费的去中心化应用的开发。
我们还改进了前一个版本-Alphanet的功能。这包括提高了autopeering和gossip模块的稳定性和仪表。我们使用全新的Tangle explorer和可视化工具构建了一个丰富的仪表板。分析服务器已经从头开始重构,不仅支持Autopeering的可视化和分析,也能实时更新FPC共识协议的进行状态。
我们对Pollen 这个测试网络的关注点将集中于网络的整体行为,而不是它的原始性能和用户体验。我们将在未来的迭代中逐步进行优化和改进。从实现的角度来看,新引入的组件还处于起步阶段(比如钱包库, FPC),还有一些组件还没有优化(比如gossip)。请注意,在实现本地快照之前,我们会不时地重置网络,以防止数据库过度增长,并引入可能造成破坏的更改。
在这个新版本中,我们引入了一个新的体系结构,它由三个独立的层组成:网络层、通信层和应用层。这一新的架构将提供对未来特性的支持,如Token化、可伸缩智能合约、无手续费dApps和分片。
尽管我们提醒读者不要进行深入的比较,但我们的层次和OSI模型的顶层之间还是有相似之处的。网络层管理节点之间的连接和包传输。通信层创建用于存储和通信信息的标准化平台。开发人员可以自由地在应用层上设计分散的应用程序,同时抽象较低的层。要了解更多这方面的信息,可以参考我们的“IOTA 2.0术语指南”博客文章。
Pollen 的核心由以下特征组成:
- 新的消息结构:每个消息包含父散列、发布信息(发布节点ID、时间戳等)、有效负载、PoW、nonce和发布节点的签名。
- 二进制:因为现在所有的东西都是二进制的,所以我们开发了一个新的可配置的工作证明(PoW)库,它将在未来的迭代发布中转向我们的自适应PoW机制。我们集成了对基于椭圆曲线的传统公钥加密的支持(如Ed25519和BLS),以及二值散列函数(如SHA-256、SHA-512和Blake2b)。
- 账本状态和UTXO模型:这个GoShimmer版本提供了一个全新的基于UTXO扩展版本的账本状态——基于平行现实的账本状态。通过解耦共识和平衡跟踪,我们实现了无与伦比的灵活性,并通过只对冲突进行投票,极大地降低了通信的复杂性。
- FPC:FPC共识促进了测试网络的一致性。对于协议的第一个“vanilla”版本,我们允许节点触发FPC,以防在固化期间检测到冲突。最初的意见是基于信息到达的时间。但是,即将上线的新节点接收消息的顺序不正确,因此可能产生错误的意见。在未来的版本中,我们将添加一个同步机制来防止这些差异。
- 随机性:FPC使用的随机性是由每个节点根据unix时间戳本地生成的。更具体地说,每一分钟被划分为5秒的epoch。显然,这种方法产生的随机数序列是可预测的,因此是不安全的。然而,它的简单性和独立于网络或任何其他组件使它非常适合FPC行为的初始测试。下一个迭代将依赖于基于社区委员会的分布式随机机制。
- 本地仪表盘:我们添加了一个全新的Tangle explorer、Tangle 可视化工具和Faucet来丰富仪表盘。
- 基于Prometheus的Grafana仪表板:-每个节点操作员可以启用Prometheus插件,并使用Grafana显示网络流量、autopeering 状态、FPC统计数据等指标。
- 网络延迟应用:我们将定期向整个网络广播一个特定的网络延迟消息。这将触发接收它的节点向中央记录器发送接收的时间戳,这样我们就可以周期性地评估网络范围内的平均延迟,并使用此信息优化FPC参数的调优。
- 钱包库:我们提供了一个非常基本的钱包库,以便开发人员和测试人员可以移动Token。可以使用基于这个库进行UI的改良。
- Faucet水龙头应用: GoShimmer仪表板提供了一个水龙头模块,以便您可以申请测试Token到给定的地址。
- 客户端库 & API :测试人员、开发人员和节点操作人员可以通过客户端库和/或API与GoShimmer节点进行交互。要了解更多,你可以参考我们的维基页面。
- 分析服务器:我们还改进了分析服务器来显示了整个网络状态,并有一个全新的部分显示了整个网络的共识——FPC对每个冲突结果的实时更新。这些结果被存储在一个数据库中,这样我们就可以和我们的社区一起收集足够的实验数据来与我们之前通过模拟得到的结果进行比较。
我们写了一个wiki,让社区有机会测试和了解更多关于这个版本的Pollen测试网络:
- Client Library
- Interaction with layers (HTTP API)
- Tutorials
- Setup a GoShimmer node
- Setup monitoring dashboard
- Writing a dApp
- Obtain tokens from the faucet
- Use the wallet library
- Concepts
- Glossary
- Layers
在我们的下一个主要发行版(称为Nectar)中,剩下的组件(比如mana、速率控制、adaptive PoW等)将被发布到我们的测试网络中,以实现一个功能齐全、有激励机制的测试网络。
Pollen 是IOTA 2.0的一个重要里程碑。这是测试IOTA完全去中心化网络核心思想的实质性步骤。
我们期待你和我们一起踏上这激动人心的Pollen 之旅,并和我们一样享受这个项目的发展。一如既往,我们欢迎你在Medium或Discord的#tanglemath频道和#goshimmer频道对我们的意见和问题提出意见。
本文原文非中文版本,由BruceX进行翻译,如若转载,请注明出处:http://www.iota.love/202007/pollen-iota2-0-the-first-decentralised-test-network-alive/