EOS (3)系统特点
1. 共识:打包仅靠21个EOS超级节点
2. 并行执行
在账户层对智能合约进行并行化处理:每个线程都会按顺序串行处理该账户本次提交的所有智能合约,而同一个区块可以包含多个不同账户提交的智能合约。
- 将不同账户的智能合约分配给不同“线程”同时进行并行异步处理。
- 因为没有锁,账户之间的智能合约调用(跨账户调用)将会由一个轮询执行线程调度程序来进行分配、传递和执行
- 和一般电脑上并行执行的程序一样,这种跨线程传递消息的地方都会有性能瓶颈,而EOS跨账户调用消息的接收将是并行的,以提高性能
3. 轻量级的用于轻客户端的默克尔树证明(LCV)
验证速度更快,需要传输和保留的数据更少,也更利于跨链操作。
- 只需要验证包含某个特定的不可逆交易之后的区块头数据(使用哈希链表架构,数据集保持在1024B以内),即可证明任何一笔交易是否存在。
- 基于验证节点保留的前一天的所有区块头数据(2 MB大小),然后证明这些交易只需要200B大小的证明数据
3.1 裁剪功能
提供了一个灵活的裁剪历史交易功能来缩小节点所需要存储的数据量,通过裁剪功能可以根据不同场合、不同情况来对存储容量和验证速度进行调节。
EOS网络节点类型
- 超轻量级的节点(比如,用于智能手机的客户端)
- 保留全部数据的“全节点”(比如,超级节点有义务保留全部历史数据)
- 只保留部分数据的“半全节点”,或者那些选择只保留一天历史数据的验证节点。
EOS将通过异步通信并使认证与执行过程分离来实现加速,
4. 防止ddos攻击
4.1 没有矿工费
EOS 代币的所有者给予用户相应比例的网络带宽、存储空间和计算能力,因此恶意攻击者只能消耗与其EOS代币占比相对应的网络资源
抵押币租赁系统资源。虽然用户可以免费使用EOS网络上的资源,但却需要抵押EOS代币来租用网络资源。比如,全网有10亿个EOS代币,如果你只有1个EOS代币,那你就只能使用10亿分之一的网络资源。
4.2 两种针对EOS系统的潜在攻击方法。
4.2.1 系统内部的攻击
超级节点内部竞争可能会导致军备竞赛式的攻击。EOS共21个生产者主节点,49个备用节点。这两类节点的收益是不一样的,存在竞争关系。备用节点为了上任成为主节点,因此有动机去攻击主节点,只要让主节点出几次错,就有机会把它们挤下来,从而自己上任成为主节点。
潜在的防御机制是使用“宪法”对这种内部作乱进行惩罚,但规则制定得再详备,也会有一定的漏洞,“宪法”不可能完备到杜绝所有的恶意竞争。
4.2.2 系统外部的攻击
EOS系统上面可以建立DApp,如果DApp的开发者通过抵押代币来为其用户提供免费的EOS系统资源,攻击者就可以伪装成用户,无成本地(只需要支付发起 DDoS 攻击本身的流量成本)攻击一个DApp,从而间接地发起对EOS系统的攻击。
更为可怕的是,DApp之间的相互竞争会催生 DApp 之间的相互攻击,这种相互攻击是一个大问题,可能会导致原本设计的免费模式很难被实现
EOS (3)系统特点相关推荐
- 2022柚子EOS联盟系统程序源码+功能很完善
正文: 2022柚子EOS联盟系统程序源码+功能很完善,跑了一下发现他前台和后台的登录都需要验证,绕还挺啰嗦,但是并不像是人为的而是程序本就如此,应该是不缺什么,目前没见到加密的部分,有喜欢的自己研究 ...
- EOS账户系统(3)账户的权限
EOS 中的账户就像一个链上标识符,具有与之关联的访问权限. EOS 帐户可以由几个人拥有,具体取决于权限. 1. 权限分类 基于角色确定是否为任何给定的Action授予权限. 1.1 默认权限 每个 ...
- EOS账户系统(2)账户和钱包
1. 账户系统 包含 Account(账户) Wallet(钱包) 钱包密码 Key(公/私钥) Permission(权限) 账户和钱包之间没有内在的关系. 1.1 钱包 一个存储可能与账户有关的密 ...
- EOS学习系统---BPS工作流程
1.首先创建一个"报销单审批的"流程,然后定义不同的url页面和对应的逻辑流: 2.具体案例实现如下: 3.表单录入页面: <%@ page language="j ...
- EOS账户系统(8)密钥被盗恢复
1. 定义 一种在密钥被盗时恢复其帐户控制的方法: 帐户所有者可以使用在过去30天内活动的任何其批准的帐户恢复合作伙伴的密钥,在其帐户恢复合作伙伴的允许后,重置其帐户上的所有者密钥. 在没有帐户所有者 ...
- EOS账户系统(7)权限评估
1. 场景 授权涉及个人或群体,并且往往是分类的. 身份验证和权限管理必须标准化,并与应用程序的业务逻辑分开. 2. 定义 确认某项操作是否被正确授权. 最简单的权限管理是检查交易是否具有所需的签名, ...
- EOS账户系统(6)权限和Action映射
1. 定义 可以将某个消息处理群组分配到某个权限级别上,或者反过来说,可以在某个权限级别上定义很多消息处理群组. eg. 一个帐户所有者可以将自己社交媒体应用与自己的"朋友"权限群 ...
- EOS账户系统(4)账户权限分级
1. 一个分层的权限结构 每个账户都可以通过其他账户和密钥的组合来控制.EOS 允许账户定义什么样的账户名和密钥的组合可以把特定的操作发送到另一个账户.eg. 可以使用一个密钥访问用户的社交媒体账户, ...
- EOS账户系统(1)场景
1. 智能合约的场景问题 "智能合约"= 账户声明的Action+ 以及对Action的回应脚本(程序). 真人用户和智能合约本质上都是一个账户(Account). Action ...
- EOS账户系统(5)action分级
1. 定义 与权限分级类似,账户Action也可以分级和分组 Action 同样遵循"向下兼容" 2. 举例 智能合约账户叫"@EXCHANGE.CONTRACT&quo ...
最新文章
- 在LVM中恢复已删除的逻辑卷
- android 自定义event,Android运用onTouchEvent自定义滑动布局
- mysql优化问题?_MYSQL优化问题
- 【设计模式】 面向对象六大设计原则
- (chap3 数据链路)MAC地址
- 模型部署到移动端_Pytorch1.4来了!定制移动端构建、支持分布式模型并行训练等...
- 历年安徽省二计算机考试题库,2010安徽省计算机等级考试试题 二级ACCESS最新考试试题库...
- C++学习笔记-利用rapidJSON读取JSON数据
- Maximum sum(信息学奥赛一本通-T1305)
- net core 3.1 swagger文档添加 不用xml配置
- Linux CentOS 7 安装 Redis
- 【博客话题】什么样的学生你都能教好——亲爱的魏老师
- java获取反射机制的三种方式
- 学生阅读作业三——对习而学教学方式的思考
- bochs镜像java模拟器_bochs镜像下载
- 高效办公之高效文件管理极速检索:只需1秒找到所需文件
- DCDC和LDO介绍
- L1-039 古风排版 (20 分)(二维数组)
- css实现多余图片隐藏
- 什么是驱动程序?为什么要用驱动程序?
热门文章
- IO: BIO ? NIO ? AIO?
- C语言 从指定文件中依次读出字符直至文件结束
- timestamp mysql php_PHP和Mysql的Timestamp互换
- 范例ppt_消防安全知识主题班会PPT,全内容高质量课件,完整框架精美套用
- 亚马逊AWS 数据中心起火,致 5 人死亡、50 人受伤
- 数据中心UPS电池故障引起火灾导致澳大利亚医院系统业务中断
- Python之sklearn:LabelEncoder函数简介(编码与编码还原)、使用方法、具体案例之详细攻略
- 成功解决ValueError: If using all scalar values, you must pass an index
- Windows PowerShell:Windows PowerShell的简介、入门、使用方法之详细攻略
- [Swift]LeetCode468. 验证IP地址 | Validate IP Address