EOS.IO技术白皮书

1.背景

2.区块链应用的要求

支持成百上千的用户
免费使用
简单升级和bug修复
低延时
时序性能:一些应用因为顺序依赖关系的执行步骤而不能使用并发算法实现。 比如交易所就需要足够的时序性能来处理很高的交易量,因此高时序性能处理的平台是必须的
并发性能

3.共识算法DPOS

EOS.IO 软件使得区块准确的每 3 秒生成一个并且在任何时间点都只有一个被授权的生产者来生成区块。 如果一个区块在规定时间之内未被生产出来则这一区块将被跳过。 当一个或多个区块被跳过发生时,在区块链中会有一个 6 秒及以上的间隔。
在 EOS.IO 软件中,区块通过 21 名生产者轮流产生。 在每一轮的开始时,21 个唯一的区块生产者被选出。 获票最高的前 20 名自动在没轮被选中,剩余的一个生产者通过得票比例选出。 被选中的生产者通过从区块取到的时间作为伪随机数来打乱其顺序。 打乱顺序是为确保这些生产者与其他生产者保持均衡的连通性。
如果一个生产者错过了一个区块并且在过去的 24 小时内没有生产任何的区块,那么它将被从候选中移除,直到它在区块链中通知它要开始再次生产区块的意图。 这样通过最小化区块丢失数量(因被证实不可靠的节点不作为导致)来确保网络操作的稳定性。

3.1交易确认

通常 DPOS 区块链 100% 会有区块生产者参与。一个交易从广播开始后平均 1.5 秒就可以 99.9% 被认为是确认了。

在一些特殊情况下例外,软件出现 bug,网络拥塞,或一个恶意的区块生产者制造了两个或更多的分叉。 为了确保一个交易绝对是不可逆的,一个节点可以选择等待 21 个区块生产者中的 15 个给出确认。 基于通常的 EOS.IO 软件配置,在一般情况下这需要平均 45 秒的时间。 默认情况下,所有的节点将认为当 21 个生产者中有 15 个给出确认后这一区块就是不可逆的了,并且不管长度如何都不会切换到没有这一区块的分叉。

3.2 股权证明的交易TaPoS

4.账户

4.1消息&处理

4.2基于角色的权限管理

权限管理涉及判定一条消息是否被正确的授权。 权限管理最简单的形式就是检查一个交易包含必须的签名,但这意味着必须的签名是已知的。 一般情况下,权威必然是独立的个体或者个体组成的群体,并且是被划分开的。 EOS.IO 软件提供了声明式的权限管理系统,通过管理谁可以在什么时间做什么来给用户细力度和高维度的控制。

授权和权限管理被标准化和脱离应用的商业逻辑是不可取的。 这使得管理权限的工具得以被开发,既满足常规的需求又为性能优化提供了重要的可能性。

每一个帐户可以被任何权重组合的其他帐户和私钥管控。 这创建了分层级的权利结构,这反映了现实中的权限分配方式,并且让多用户共同管理资产变得从未如此简单。 多用户控制是安全最大的贡献者,并且,当用户使用得当,它可以极大的消除因被黑而导致被盗窃的风险

4.3命名的消息处理群组

4.4权限映射

5.应用程序的确定性并行执行

6.Token模型与资源使用

所有区块链都受到资源限制,需要一个系统来防止滥用。通过使用eos.io软件的区块链,应用程序可以使用三大类资源:
1.带宽和日志存储 (磁盘);
2.计算与计算储备 (中央处理器);
3.状态存储 (内存)

7.治理

基于eos.io软件的区块链认识到权力来源于代币持有人,他们将权力委托给区块生产商。

7.1冻结账户

投票

7.2更改账户代码

投票

7.3宪法

EOS.IO 应用使得区块链创建了一个点对点的服务条款协议或者绑定用户到一个合约,这都需要用户对其签名,简称“宪法”。 宪法的内容定义了仅仅依靠代码无法在用户间履行的义务,同时通过建立管辖权和可选的法律来解决相互间的争端。 每个在网络广播的交易都必须将宪法的哈希值作为签名的一部分,从而显性的将签名者绑定在合约中。

宪法还定义了人类可读意图的源代码协议。 这个意图是用来识别错误和功能之间的差异,当错误发生时,引导社区对什么是适当或不当修复。

7.4升级协议&宪法

7.5紧急变更

8.脚本和虚拟机

9.跨连通信

10.结论

EOS.IO 软件是从证明概念的经验和最佳实践设计而来,它代表了区块链技术的重要进步。 该软件是全球可扩展区块链社会伟大蓝图中的一部分,它将应用去中心化并得以轻松的发布和治理

你可能感兴趣的:(EOS.IO技术白皮书)