3.02 EOS核心框架

发布时间:2021-08-01 00:21 来源:https://blog.51cto.com/u_96344 阅读:159 作者:yinchengmvp 栏目: 云计算 欢迎投稿:712375056

struct block_header { //时间戳 block_timestamp_type timestamp; //哪个超级节点生产的区块 account_name producer; //确认节点的数量 //默认自己是确认的 //达到15就是21节点的一多半,就不可逆了 uint16_t confirmed = 1; //指向前一个区块 block_id_type previous; //EOS包含了两个Merkel Tree的根 checksum256_type transaction_mroot; checksum256_type action_mroot; //版本号 uint32_t schedule_version = 0; //下一个producer是谁 optional<producer_schedule_type> new_producers; //扩展字段 extensions_type header_extensions; //指纹信息 digest_type digest()const; block_id_type id() const; uint32_t block_num() const { return num_from_id(previous) + 1; } static uint32_t num_from_id(const block_id_type& id); };

3.区块结构并行化设计

允许多账户之间原子交易执行

EOS目标是使两个账户能够在同一个区块内来回进行交换的操作,不必为每次操作都等待0.5秒

定义区块的文件位置:eos\libraries\chain\include\eosio\chain\block_header.hpp

只读操作可以并行处理,写操作必须串行

如果2个节点比较不一样,可以快速查找树中哪个节点不一样,能快速定位修改

超级节点自主优化并行调度

EOSIO程序模块图

1.EOS核心框架介绍

EOS通过Merkle Tree做验证,成本比比特币低的多

架构图

2.区块结构

Merkel Tree:比较两个节点数据是否同步,直接比较树根是否一样就可以,EOS节点数据是用Merkel Tree组织的

互相验证时,密码学中叫零知识证明,比较Merkel Tree是否相同就可以

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。