EOS技术原理

2020-05-26  本文已影响0人  葵葵1973

1.区块的构成

当前的区块编号、区块ID、时间戳、该区块的出块生产者节点以及出块节点的签名信息、前一个区块的ID、交易和动作的merkle树的根节点值。

2.EOS的运行机制

1.前出块的节点会监听网络之中的交易信息,并进行区块打包、入库、广播等过程;

2.用户发起一笔转账操作之后,这一交易会传播到主网之中;

3.打包节点会确认区块,并开始区块上链的流程,此时区块为可逆状态;

4.每个出块节点每次出块12个,每个区块时间为0.5s时间,就是说,每个BP会出块6s,然后换下一个出块节点;依次出块。

在DPOS区块检验的检验过程中,除了正在产生区块的节点,其他的节点链也会对区块进行确认;经过验证区块存在,和确认状态后区块会成为不可逆状态.当前区块高度和不可逆区块高度之间的差值这是由于节点两轮确认区块的不可逆的过程而产生的时间差。

21个超级节点轮流负责记账每一个区块产生后,会按照顺序传递到下一个超级节点中,第二个超级节点要负责打包新的区块,同时确认上一区块的内容,当某一区块被超过2/3的超级节点确认后,该区块将被确认为不可逆区块。

DPoS共识加上BFT(拜占庭算法)后

验证时不再按照出块顺序由一个个超级节点分别验证同一时间按照顺序出现的不同区块内容,而是让出块节点成为主节点链条,出块后同时向剩下20个节点进行广播,并获得节点的验证反馈,如果有超过2/3的节点验证通过,则该区块成为不可逆区块。BFT可以使得EOS的区块确认速度显著增加。

3.RAM的购买和抵押

如果EOS账号之中RAM资源不足的时候,就无法发起各种操作。通过eosio.ram这个账号对买卖自己的账号内存进行EOS币的交易。eosio.ramEOS系统会收取手续费。

CPU跟带宽资源是采用了抵押的方式,抛出和取回的EOS币不发生缩水或膨胀存但是在三天的赎回期。而RAM则是买卖的模式,会与市值挂钩,即买即卖。可代为购买RAM,但是当持有人进行下一次售卖时,代买者并没有利益分红。

4.交易区块的生成和确认

通过在一群数量有限的节点中,使用轮换或者其他算法来筛选出某个节点作为主节点,并且赋予该节点出块的权利。在主节点是将该时段的交易打包成区块后用自己的私钥对该区块签名,并将其广播到所有节点。

当主节点收到至少三分之二的不同节点的签名区块后,则该区块完成了所有节点的验证成为不可逆区块串联到区块链中。

具体过程为:在交易发起时一个用户将使用自己的私钥进行签名,将签名好的交易信息发送至网络中,交易后的签名数据既可以推送给自己的节点或其他的验证节点进行验证也可以推送至出块节点,验证节点在将交易信息进一步推送至等节点,完成交易信息的验证和链内传播。

5.EOS没有矿工

区块生产者每一轮区块的认证都会随机产生,获利是系统的奖励年收益的5%,后降低至1%,剩余由官方进行运营,具体使用用途由投票决定。

6.分叉的处理

一般情况下,DPOS机制的区块链不会经历任何分叉,因为区块生产者是合作产生区块而不竞争区块。

7.兼容性和TPS处理速度问题

现有的以太坊平台上的应用,只需要稍加配置,未来就能够在EOS上面运行。

链间迁移(INTERCHAIN MIGRATABLE),也就是如果是基于EOS.IO开发的DAPP,也可以迁移至其他区块链上。

利用跨链和并行链EOS宣称TPS的大型项目吞吐是可以无限扩展的。

8.EOS智能合约

EOS智能合约建立分为制作智能合约、部署智能合约和调用智能合约三部分。用户在调用智能合约的过程中,需要先制作以及部署合约并将其永久写入区块,当客户端发起调用的动作给服务器时,服务器会根据请求的动作去寻找对应的智能合约,从区块链上加载合约并执行,执行后的结果会通过区块依次回执给客户端和用户。

在制作和部署和约的过程中,EOSIO系统会为合约动作提供一个CPU和内存的程序运行环境,这个空间和数量的申请量就由自己所持有的代币资本有关了。

每个服务器都可以对用户发出的请求进本地处理,同时对于处理后的结果可以相互验证,最终修改了区块链的数据。

智能合约中所谓的智能概念,就是智能合约不但可以和人交互通信,而且可以和其它智能合约进行交互通信。嵌套和延迟的两种智能合约方式,嵌套是指当年智能合约的运行需要上一个智能合约的动作进行调用,也就是说一个动作的发生取决于嵌套模型中的内层动作是否已经完成了,如果内层动作未完成,那么整个嵌套通讯模型就会坍塌。而延时模型内的动作是在延迟一定时间或者需要满足一定的执行条件才会进行的,那么这个合约只是一个条件的执行,并不一定被真正的百分百执行。

9.EOS发展前景

与以太坊相比

1.以太坊现秒处理交易的数目只能处理5笔,EOS的DPOS算法和石墨烯底层工具组能够满足秒上百万次交易请求。

2.以太坊的每一笔智能合约的处理都夹带着GAS以太币的消耗,这意味着开发者和用户不能获得免费的应用体验。而EOS系统上的消耗是运行空间,而智能合约与交易的进行并不占用资本。

3.EOS对于BUG,区块生产者有权限对BUG进行鉴定和重新规定约束。

4.EOS致力于将所以区链上应用都供以相同的功能:权限账户,接口,修复工具箱。以太坊对链上的APP拥有更大的包容性,强调去中心化应用的拓展发展。

另外EOS本的虚拟机也具有兼容以太坊区块链DAPP应用的功能,也就是说在以太坊上运行的DAPP在基础上添加一些配置就可以迁移到EOS上运行。

5.如果金融类DAPP,那么稳定性是追求的标准,此时使用以太坊更加适合,但面对高吞量的网络游戏,以太坊的秒交易速度就会力不从心,使用EOS更为适合。

问题就是EOS画出的大饼还在完善阶段,也有可能穷其一生。。。。

上一篇下一篇

猜你喜欢

热点阅读