乐趣区

Zilliqa 3.0版公测网正式上线 — — 代号“猫山王”

2018 年 11 月 30 日
Xinshu Dong 发布于 Zilliqa 博客,Rita 译
今年 6 月底,我们推出了 2.0 版 Zilliqa 公测网,它具有文档、智能合约 Scilla 集成开发环境等重要功能,使开发人员能够在我们的平台上编写和测试他们的智能合约。
今天,我们很高兴地向大家宣布:代号为“猫山王”的 3.0 版 Zilliqa 公测网现正式上线! 同之前测试网的代号一样,“猫山王”是我们十分喜欢的榴莲品种。“猫山王”测试网正式上线标志着我们在技术上又达到了新的里程碑 — —据我们所知,这是世界上首个同时实现网络分片、交易分片以及智能合约分片的成熟测试网。这个测试网还成功解决了我们安全审计公司发现的一些潜在的安全问题,添加了必要的安全检查机制和额外的执行机制,提高了系统的稳定性。
“猫山王”包含了许多与即将推出的主网相同的功能,其中包括在整个网络中全面实施安全智能合约语言 Scilla、全面实现智能合约的分片 https://blog.zilliqa.com/prov…。可以说,这个版本的测试网能够让我们对即将推出的主网核心功能进行更大规模的公开测试,标志着我们向 2019 年 1 月 31 日发布主网又迈出了关键一步(路线图可查阅)。
和以前一样,测试网地址为 https://explorer.zilliqa.com,测试钱包地址为 https://wallet.zilliqa.com.
我们将于 12 月 3 日星期一发布挖矿的全部细节和有关文件,为我们的矿工提供及时的技术和错误修复支持。
对于社区的非榴莲爱好者,您也可以通过此链接(https://guide.michelin.com/sg…)来了解更多关于猫山王、红虾 (1.0 测试网代号) 和 D24(2.0 测试网代号)之间的区别。
为什么 ” 猫山王 ” 至关重要

标志着 Zilliqa 的技术里程碑,据我们所知世界上首个同时实现网络分片、交易分片以及智能合约分片 https://blog.zilliqa.com/prov…。
对所有矿工开放 Zilliqa 挖矿 https://blog.zilliqa.com/with…。正是因为在 Zilliqa 网络中 PoW 仅用于建立矿工身份而不用于达成共识,因此 GPU 只需要在一定时间段内满负荷运行 PoW 一小段时间,意味着 Zilliqa 挖矿效率更高、更经济环保。
全面实施智能合约语言 Scilla,新加入的节点也可以执行智能合约。(在过去的测试网中,Scilla 仅在 20 至 40 个节点的小组上实现,仅用于开发人员测试。)
实施新的矿工奖励机制,即通过考虑矿工对共识协议的贡献来计算奖励,例如通过计算矿工在过去几个周期中签署的次数。
新的升级协议使节点可以轻松、无缝地升级到最新版本。

“ 猫山王 ” 挖矿
如上所述,我们将于周一 (2018 年 12 月 3 日) 发布“猫山王”的详细挖矿指南。
在此公测网上挖矿的建议配置如下:
Ubuntu 16.04.5 64 位操作系统
Intel i5 处理器或更高版本
8GB DRR3 内存或更高
可选:GPU 显卡(例如 3GB 显存的 1 x GTX 1060)
NAT 环境下支持 UPnP 的路由器(较新款的路由器应当都具有此功能)https://en.wikipedia.org/wiki…
“ 猫山王 ” 主要新功能
如果您一直关注我们的双周报,就会很熟悉“猫山王”的这些新功能。过去几个月,我们一直在努力实现这些功能,现在我们很高兴邀请矿工和开发人员公开测试这些功能。
核心协议:
支持智能合约分片
GPU 挖掘
Coinbase 奖励
燃料费奖励
燃料费计价
PoW 难度调整
升级协议
Gossip 协议
多输入、多输出(MIMO)DS 委员会
事件和日志交易收据
合并的 PoW:将两轮 PoW 合并为一轮
节点恢复机制
状态增量转发
迁移到 Kubernetes
档案节点
Scilla 语言:
类型检查器
静态分析器和检查器套件
用于添加新通道和分析的 API
燃料费核算
改进了映射访问
支持活动
开发工具:
改进的集成开发环境 Savant:https://savant-ide.zilliqa.com/
改进的 JavaScript 库:https://github.com/Zilliqa/Zi…
RPC 服务器 Kaya:https://github.com/Zilliqa/kaya
更多技术细节
核心协议
PoW 挖矿的 GPU 选择:“猫山王”支持 GPU 挖矿。矿工可以将一个或多个 GPU 单元用于一个节点。例如,如果一个矿工拥有 6 个可用的 GPU,那么他可以使用这 6 个 GPU 的任意组合来配置一个 Zilliqa 节点,方式可以是启动多个 Zilliqa 节点也可以是每个节点分配给一个特定的 GPU 等。
Coinbase 奖励:在这个测试网中,只要矿工参与了共识协议,无论是 DS 节点还是普通分片节点都可以获得测试币 Zil。具体而言,节点在交易周期中对区块进行签名来参与共识协议的次数越多,就会获得越多的测试币。例如,一个节点如果既参与了微块又参与了终块的签名,那么它就可以贡献两个签名,因此可以获得两次奖励。
燃料费奖励:公链的一个重要特征是通过燃料费向矿工分配奖励。在本版本的测试网中,处理交易产生的燃料费将被累积到总的 coinbase 奖励中,并在下一轮 PoW 提交开始前分发。
燃料费计价:此前,我们的网络在处理交易时已把燃料费的消耗和限制计算在内,但实际的燃料费定价机制是在近期实现的。我们新编写的燃料费定价机制工作流程如下:首先,矿工们在提交工作量证明 PoW 时也同步提交愿接受的最低燃料费价格; 之后,DS 委员会就即将到来的 DS 周期内网络可接受的整体最低燃料费价格达成共识; 最后,网络仅接受燃料费价格大于等于既定最低价的交易。
智能合约的分片:几个月前,我们发布了一篇博文(https://blog.zilliqa.com/prov…,详细介绍了 Zilliqa 如何实现智能合约的分片。在 Zilliqa 中,DS 委员会处理一些特定类型的智能合约交易。因此,DS 委员会现在将进行额外的共识轮来验证这些交易。在 DS 委员会收到有关由分片验证的交易数据后,就会发生这种情况。
升级协议:我们认为,为了确保系统的安全性,网络必须具有升级更新和补丁升级的功能。我们已经实现了升级协议的首个版本。举个例子,如果有一方(比如 https://latest-release.zilliq…、SHA-256 值二进制文件的最新版本,那么软件版本将被存储在名为 VERSION 的独立文件中,其中包含版本信息、预期 DS 周期和 SHA-256 值的信息。
节点恢复:节点恢复是我们在过去几周内完成的重要功能之一。如果节点因任何原因,如完成升级等掉线而重新启动,它将读取存储在机器数据库中的持久数据 (如 DS 委员会成员、分片结构、DS 块和终块等数据) 以恢复其最后的已知状态并开始与网络的其余部分重新同步。
智能合约语言 Scilla
类型检查器和静态分析器套件:Scilla 现在包括一套静态分析器和检查器。这些检查器的目标是帮助开发人员编写的智能合约能够通过一些基本到高级安全检查。例如,Scilla 附带的一个类型检查器就可以用于检查合约的类型安全,而类型安全程序可以消除运行时可能出现的一些问题。另一个检查器 (也是套件的一部分) 可以检查编好的代码是否模式匹配。例如对于一个合约,它可以检查模式匹配的所有使用是否涵盖所有可能的分支,因此是穷举式的。它还检查无法访问的模式。当输入导致未处理的分支时,非穷举模式匹配可能在运行时导致错误。这些检查器将由每个矿工在部署时运行,因此可以为在 Zilliqa 上的合约提供基本的但强大的安全保障。
更高级的静态分析器,如现金流分析器和燃料费分析器,也可供终端用户或 IDE 等客户使用。但分析器不是由矿工运行的。更多有关这些分析器的信息请参阅我们之前发布的双周报。
实际上,您也可以使用我们的 API 将任何其他静态分析器添加到套件中。欢迎您加入我们的 Github(https://github.com/Zilliqa/sc…。一些理想的检查器应当具有:1、未使用的变量;2、没有整数溢出;3、至少有一个转换接受付款。
燃料费计算:在之前版本的测试网中,处理智能合约往往需要恒定的燃料费成本,而不管计算性质如何。此版本的测试网带有适当的燃料费计算机制,其中每个表达、声明、读取、写入、存储等都具有明确的成本。此链接 https://drive.google.com/file…。注意:这些燃气费标价可能发生变化。
支持事件:Scilla 合约能够发出客户可以收听的事件。支持事件需要在语言中添加新构造,以及在区块链端添加对交易接收的支持。但是事件尚未编制索引,因此查询满足某些条件的事件 (例如包含特定参数的所有事件) 是不可行的。我们计划在下一版本中支持高效查询。
开发工具
为了促进智能合约的开发,我们还提供了一些之前已经公开过的开发项目,其中包括全新的 Savant IDE:https://savant-ide.zilliqa.com/。我们推荐大家更多使用这个新的 IDE,不再使用以前的 JSON 文件模拟区块链层的 IDE,因为 Savant 对开发人员更加友好,终端用户不再需要手动编写 JSON 文件。IDE 通过维护内存 (在浏览器中) 区块链来工作。如果你还没有尝试过,那就赶快来试一试吧! 这个 IDE 还预装了一些可以直接玩的 Scilla 合约样本。我们还修改了 JavaScript 库,以改善客户端和网络之间的交互。此外,还提供了一个基于 RPC 的内部智能合约测试框架,名为 Kaya:https://github.com/Zilliqa/kaya。我们也真诚地邀请开发人员来试用这些工具,并及时向我们反馈您的意见!
如果您支持和信任 Zilliqa,欢迎转发到朋友圈,让更多的人认识 Zilliqa。
如果您对项目有什么疑问,欢迎到评论区留言,我们会及时、认真回复每一个问题!
END –

退出移动版