美文网首页EOS区块链
EOS.IO开发更新2018-2-4

EOS.IO开发更新2018-2-4

作者: cb7aa5c68252 | 来源:发表于2018-02-04 17:45 被阅读143次

【导读】团队24小时工作,致力于我们的EOS.IO软件做到最好。在GitHub上应用程序的代码结构上,可以看到有一些重大的改进,因为在上次的更新中我们实现了许多功能。

EOSIO BIOS

计算机的BIOS内置于硬件中,是启动操作系统之前计算机加载的第一个内容。本周,我们继续用操作系统比喻,使处理EOS.IO区块链的启动过程尽可能简单。我们的区块链现在以一个非常简单的初始状态启动:

一个独立帐户(eosio.system)

一个独立的私有密钥

一个独立的块生产者

这个初始帐户就像Linux系统上的root帐户一样,除非将其授权给更高级别的操作系统的智能合约之后,否则它具有无限的权力。在这个初始状态,@ eosio.system帐户将上传操作系统的智能合约,该合约执行以下操作:

1.      投票,网络带宽,CPU带宽,内存和存储的staking。

2.      生产者和代理投票创建。

您可以将此初始状态视为胚胎干细胞,它能将已EOSIO为基础的区块链使用到任意数量的用例以及治理结构中,所有的这些都可以在不需要任何硬分叉的情况下进行更新和调整。

我们从这种方法中获得了许多好处,因为它使得EOSIO核心软件更简单,更容易测试。

动态块生产者数量

EOSIO区块链现在支持动态的区块生产者数量,可以通过对@ eosio.system智能合约简单更新进行更改。默认情况下仍然是21个生产者,但这不再是硬编码的。

采用动态数量的主要原因是对于许多私有区块链来说,21个生产者是小题大做。企业使用私有区块链可能更喜欢只有几个生产者,而测试网络或许只需要一个生产者。

测量

从历史上看,我们已经指出每个交易最多有1ms的运行时间,这由块生产者主观地进行测量。我们意识到一些交易可能需要50ms才能运行,同时也希望通过物质奖励来激励开发者设计运行时间小于50us的交易,以提高效率。在我们的原始模型下,所有交易都使用相同的CPU,无论是50us还是1ms,这意味着没有诱因再优化到1ms以下。

因为运行时间是主观的,并且可以根据在同一台计算机上运行的其他活动而变化,所以不可能产生客观和可重复的运行时间计量。

我们意识到,在不增加成本的情况下,可以将现有基于时间的费率限制器进行修改,以对所执行的WASM指令数目进行客观估计。这与以太坊如何测量gas消耗量相似。通过这个新的客观测量,我们可以评估限制(rate limit)CPU,就像我们评估限制带宽一样。

块生产者对cpu使用率使用“动态超额认购(dynamic oversubscription)”算法,与他们对网络带宽使用的算法相同。这意味着,当网络具有空闲的CPU容量时,用户可以获得更多的每staked CPU(cpu-per-staked)代币,这比他们在完全使用的情况下得到的要多。

除了CPU指令计数之外,块生产者仍将实现主观运行时间限制。这种主观限制可以保护网络免受那些滥用计量算法人员的影响,这些人使用最耗时的操作而不是较省时的操作。

分离CPU和网络带宽

在之前的更新中,我们表示将会分离出的RAM,存储和带宽(可以认为CPU /网络都是带宽的一部分)。我们意识到,像Steem这样的一些应用程序可能具有较高的网络带宽(用于发布文章)和较低的CPU带宽,而其他应用程序可能具有较低的网络带宽(交换订单),但较高的CPU带宽(订单撮合)。这意味着不存在一种适合所有情况的方法。

为了简单起见,用户界面仍然可以将这些东西捆绑在一起,供普通用户使用; 然而,权限用户现在有更多的价格灵活性。

交易压缩

在为c ++ STL库添加支持的过程中,我们注意到智能合约可能会变得相当大(50kb),因此会消耗大量的网络带宽。可以想象,更复杂的合约可能会超过200kb。我们也意识到许多应用程序(如Steem)将非常多可压缩的内容捆绑在交易中。

我们增加了对zlib压缩交易的支持,这些交易可以为智能合约上传减少60%或更多的带宽使用,而对于类似Steem的内容则可能更高。

网络更新

P2P网络团队一直在忙着更新代码,以提高性能和稳定性。本周他们在以下方面取得了重大进展:

1.      块---块广播只包含交易ID而不是重新传输块中的所有交易。这将使带宽使用减少近50%。

2.      大信息支持---广播巨大信息(如50kb智能合约)的网络协议与小信息(如200字节传输)的不同。

结论

我们的开发团队正在努力使EOSIO成为迄今为止最高效、最通用、最灵活的平台。

【译者:kzzz】

EOS.IO开发更新2018-2-4

相关文章

  • EOS.IO开发更新2018-2-4

    【导读】团队24小时工作,致力于我们的EOS.IO软件做到最好。在GitHub上应用程序的代码结构上,可以看到有一...

  • EOS.IO 开发更新

    本文翻译自:https://steemit.com/eos/@dan/ukoxz-eos-io-developme...

  • eos.io开发更新

    我们最近很忙,忙着把EOS.IO做成目前市场上最好的智能合约平台。 我们的团队不断拓展区块链的边界,希望能在开发和...

  • Bitcoin-core daemon and regtest

    2018-2-4 号更新 这篇文章总结在开发比特币应用业务开发时本地测试模式的设置我们不需要 GUI 页面,在 U...

  • EOS的黎明:EOS.IO最新进展

    在EOS.IO的技术白皮书中,我们认为EOS.IO软件是区块链计算的新时代的黎明。这个夏天,EOS.IO的开发团队...

  • Eos导航

    主页欢迎来到EOS.IO 的维基百科。本资源旨在为开发者提供EOS.IO软件直接性的交互指导。对于EOS.IO软件...

  • PHP| 开发拾遗 0x01

    date: 2018-2-4 17:35:11title: PHP| 开发拾遗 0x01 记录 PHP 开发中的二...

  • EOS 文档

    欢迎来到EOS.IO的wiki页面。本页面是开发者和EOS.IO软件团队交流的指南。需要从更高的层次鸟瞰EOS.I...

  • EOS代币是什么?

    一家在开曼群岛开办的名叫block one公司,开发了一套叫做eos.io的软件,eos.io是一套未启动的区块链...

  • EOS,Dawn 3.0 Alpha 发布

    在eos.io开发社区的很多人都知道,从12月份以来,我们一直在把两条开发线---dawn 2.x 和dawn ...

网友评论

    本文标题:EOS.IO开发更新2018-2-4

    本文链接:https://www.haomeiwen.com/subject/gyamzxtx.html