首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EOS官方关于测试网络和映射方案的公告

参考资料《EOS官方关于测试网络和映射方案的公告》(中文翻译版):

EOS.IO DAWN 2.0发布和发展更新

最初于2017年12月5日发布于steemit.com。

EOS.IO Dawn 2.0已经发布,同时还有一个由block.one团队维护的公共测试网络。该版本提供了我们2017年秋季路线图中描述的大部分剩余功能的Alpha实现,最初的目标是2017年12月21日前完成。正如我们的路线图所公布的,“阶段2 - 最小可行测试网络”将演示以下内容到2017年秋季:

· P2P网络代码

· Wasm卫生和CPU沙盒

· 资源使用跟踪/速率限制

· 创世纪进口测试

· 区块链间通信

目前,我们已经实现了大部分这些功能的初步实施; 然而,由于并行开发路径,我们的区块链间通信的实现存在于不会用于初始测试网络的单独分支上。

对性能测试感兴趣的我们的EOS.IO Dawn 2.0版本将发现启动和运行专用网络所需的所有区块链和网络代码可以在我们的Github存储库中找到。我们的内部测试表明,我们可以在平均硬件上使用我们的单线程实现,从而实现每秒数千次传输和1秒的传输。也就是说,有已知的攻击向量,我们有未实现的解决方案。例如,第一次编制新合同可能需要长达34ms,如果被利用可能导致网络以超过30TPS的交易速率分段。

我们针对此问题的解决方案是限制合约代码更新的频率,以及代码更新与使用新代码的交易处理之间的时间延迟。这个时间延迟约为60秒,以允许所有块生产者有时间从web程序集编译/缓存优化的x86指令。

由于这些优秀的攻击媒介,性能测试仍然是私人测试网络的一项任务,但功能测试现在可以在公共测试网络上执行,我们将人为限制为30 TPS,以确保正常运行时间和访问。

在接下来的6个月中,我们将不断测试和调试网络,以提高稳定性和性能。

黎明2.0的新功能

创世纪进口测试

我们已经实施了一个快照工具,该工具将根据以太坊网络上的EOS ERC-20令牌分布导入初始状态。我们的测试网络将仅包含注册有效EOS公钥的余额。约20%的ERC-20令牌已正确注册到EOS公钥。我们的快照工具还为所有以太坊账户持有的未注册ERC-20代币实施了后备工具,我们可以从已签署的以太坊交易中恢复公钥。这涵盖了所有EOS ERC-20标记的99%,但需要将您的以太坊私钥导入EOS.IO钱包。

出于安全考虑,我们的测试网络不会要求用户导入通过后备过程恢复的以太坊私钥。如果您的EOS私钥在测试期间受到攻击,您可以随时在以太坊网络上注册一个新密钥。

令牌水龙头

我们还实施了“水龙头”设施,允许那些没有持有令牌或尚未注册有效EOS公钥的用户测试网络。

资源使用和速率限制

我们实施了基本的速率限制和资源使用情况跟踪。这跟踪带宽,数据库存储和计算使用情况。目前我们的速率限制算法存在一些已知的错误,但没有任何应该干扰应用程序的测试和开发。

我们知道很多人一直在要求提供更多关于限速如何运作,谁将被收费的信息,以及他们如何出租他们的收入来获取收入。

带宽

所有事务都会消耗块生产者配置的一些最大网络带宽。所有交易所需权限的账户将根据交易规模增加3天的平均带宽。带宽需要授权账户(而不是合同)放置令牌或由应用程序提供商委托授权令牌。

计算带宽

所有的事务消耗一些计算。计算可以并行执行,因此可以将其视为多车道高速公路,每条车道拥堵不同。每个范围(泳道)将具有其自己的独立速率限制,并且基于最拥挤的范围,用户将针对请求的同时范围(泳道)的数量和速率限制对O(S 2)计费。

数据库存储

EOS.IO合同可以访问内存数据库,在那里他们可以存储应用程序状态。合同根据其存储的总数据加上每个独立数据库条目的固定开销因子计费。该内存数据库独立于EOS.IO存储协议,用于分散式批量托管和存储。

P2P网络代码

我们有一个网状网络代码的基本实现,正在我们的公共测试网络中演示。Block.one正在运行21个独立的服务器,每个服务器都配置了一个初始生产者。

EOS Dawn 3.0

EOS Dawn 3.0将通过安全的区块链间通信重新引入单链水平缩放和无限缩放。有了这两个功能,对于区块链技术可以构建的内容,以及区块链网络分散化的可能性,将没有限制。

无限缩放和无限分散

区块链技术的圣杯是为了在两个独立区块链之间实现安全通信,而不需要区块链验证另一区块链上的所有内容。这需要使一个区块链成为另一个区块链的轻客户端。

Light客户端仅使用块头和merkle证明来验证交易。EOS.IO将成为第一个支持轻量级客户端验证的证据协议。更重要的是,它将是唯一能够生成完整性证明的人。这意味着您可以证明您已经收到来自其他连锁店的所有相关的在先消息,无需等待/挑战期。

鉴于传统的轻型客户端必须处理所有块头,EOS.IO将支持轻量级客户端,这些客户端只需在生产者更改或需要更新块的新消息时处理块头。这将实现链间高效的不频繁通信以及频繁的通信。在最糟糕的情况下,两个区块链每500毫秒通信的开销将比发送的消息总数高出约2个事务。

在这种模式下,只要至少有三分之一的生产者是诚实的,沟通就会得到保证。此外,即使一个生产者腐败,如果他们签署任何可能破坏轻客户端(又名外国区块链)的消息,他们可以自动受到惩罚。

最后,与另一个区块链通信的往返时间取决于每个链的不可逆性之前的等待时间。一个基于EOS.IO的链将能够发送一条消息给外国的EOS.IO链,并在3秒内得到一个密码验证的响应。

这种级别的链间通信和安全性使得链路之间的双向挂钩具有非常低的延迟。虽然双向挂钩是最明显的例子,但任何企业对企业的沟通都可以使用相同的方法进行。

公共/私人通信

通过链接交流,私密区块链可以与公共区块链进行安全的双向通信。这使得各种不适合传统区块链公共性质的区块链应用成为可能。例如,有人可以创建瑞士银行的区块链,除了银行所有者和个人之外,对每个人都是超级秘密。

发展进步

为了交付我们的公共测试网络,我们将开发划分为两条平行路径,以便我们可以重构代码的重要部分以实现可读性,性能和区块链间通信。这个重构工作已经发生在eos-noon分支上。

在过去的更新中,我们表示我们打算专注于共享内存架构,以便开发人员可以轻松地与其他合同执行同步读取访问和原子事务。这种方法的结果是超出单台高端机器的水平缩放。

借助EOS Dawn 3.0,我们将恢复使用多达65,000个不同区域进行多机横向缩放的能力。所有地区将共享相同的账户和合同代码,但在内存数据库中具有独立性。一个地区内的合同必须使用异步交易与其他地区的合作伙伴进行沟通。有了这个架构,一个块生产者可以作为一个集群来实现。

与Apple的安全飞地集成工作

在我们最近的更新中,我们宣布我们打算支持Apple,Android和许多智能卡使用的椭圆曲线。我们的eos-noon分支现在包含一个全功能的验证概念,其中使用最新MacBook Pro上的Touch ID(以及Face ID)对消息进行签名和验证。类似的代码也适用于本机iPhone应用程序。这意味着基于EOS.IO的移动应用程序将成为已知最安全的区块链钱包。

此外,eos-noon分支现在已将此支持集成到了多种签名类型中,这意味着可以使用安全区域签署将在eos-noon上进行验证的交易。

500毫秒块确认

在我们的eos-noon分支上,我们对底层DPOS框架实施了一系列更改,以支持500 ms的块(每秒2块)。这一变化将大大提高分散应用程序的响应速度。为了实现这一点,我们在块调度发生方面引入了一些变化。

现在,同一个生产者将在交付下一个生产者之前连续生产12个区块。这解决了从生产者到生产者切换的块生产中最大的瓶颈。在新的结构下,意外延迟可能会导致每次切换时都会丢失几个块,但在切换之间应该有非常快的确认。我们将尝试不同的交接期。越区切换周期越长,在正常操作期间丢失的块越少,但是如果单个节点停机,则停机时间越长。在500ms的时间内,每隔12个区块交付一次,“停机时间”并没有比单个生产商错过Steem和BitShares上的一个区块差。在这种情况下,首次确认可能需要6秒。

去除亚军生产者

区块链间通信需要轻客户端跟踪活动生产者集合发生变化的所有区块。“亚军制片人名单”导致每分钟添加或删除新的制片人,这迫使轻客户每分钟处理至少一个块首标,如果不是更多的话。为了减少生产者变更的频率,我们改变了区块调度,只包括前21名生产者。我们正在考虑为亚军提供某种备用工资,但他们实际上不会负责生产积木。

一秒不可逆转

每个区块生产者都会签署每一个区块,只要producers +生产者签署了区块,这个区块就会被标记为不可逆的。生产者只能在每个块高度上签署一个块头。这意味着,如果叉子生产者不能在两个叉子的相同高度上签名块。任何这样的签名都是生产者不正当行为的密码证明,可以通过多种方法处理,包括自动丧失生产者地位,潜在的债券损失以及潜在的仲裁损害赔偿责任。

与其他协议在产生下一个块之前收集?+签名不同的是,EOS DPOS采用乐观的流水线技术,允许区块链在收集签名时进入“挂起状态”。这些额外的签名发生在区块链之外,并且在Steem或BitShares的传统DPOS规则下,区块变得不可逆时可以修剪。

在这个模型下,有可能实现拜占庭容错,因为任何块不可能接收到没有拜占庭节点的密码证据的签名。

删除生产者计划洗牌

为了最小化生产者切换期间丢失块的数量,期望最小化连续生产者之间的延迟。如果纽约的生产商计划跟随中国的生产商,则在正常情况下(块间隔的50%)可能需要250毫秒的时间才能收到一个数据块,如果网络拥塞,则可能需要更长的时间。另一方面,纽约和德克萨斯州的制片人只有50ms的延迟(块间隔的10%)。这意味着在从纽约到德克萨斯的交接过程中,从纽约到中国的丢失块的可能性显着较低。

如果我们安排从纽约到德克萨斯州,加利福尼亚州,夏威夷,日本,中国,印度,以色列,意大利,英国,冰岛以及回到纽约的区块生产,那么就永远不会有超过50到100ms。但是,如果订单是随机的,那么平均的交付将显着更高。

生产者洗牌被引入,以最大限度地减少一个生产者选择后续生产者的潜力。这个风险是在一个生产者被认为具有潜在恶意的世界里,但在高度审查的公共生产者的世界里,高质量的数据中心不再有意义。有一个宪法和预期的行为水平,以及在一个生产者故意伤害邻居的情况下解决争端的过程。

在EOS下,制作人将以一种最小化平均延迟时间的方式对生产轮换顺序进行投票,并将由于因特网网络拥塞导致的总丢失块数降至最低。

已知的问题

EOS Dawn 2.0有许多已知的问题,预计这个早期版本会出现严重的不稳定问题。本次发布的目的是展示基本功能,我们的团队将在未来6个月内消除漏洞并提高稳定性和性能。

为了支持测试网络的稳定性,我们禁用了生产者投票。

结论

我们要感谢我们的开发团队全天候工作并在全球范围内致力于构建和提供EOS Dawn 2.0,这是一个alpha版本,它将成为最强大,性能最高,最分散的应用平台。我们正在按照我们发布的路线图执行并提供比原计划更多的功能和功能。我们期待着到2018年,并且有信心在EOS令牌分发结束之前,所有功能都将完整并且解决错误。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180313G0PLTR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com