1. 部分区块链状态评估Partial evaluation of Blockchainstate(only needful)

EOS.IO系统允许任何完整的节点选择性的运行任意应用子集。传递给其他应用的消息将被安全地忽略,因为应用的状态完全来自于传递给它的消息。

  • 出于将交易状态显示给用户的目的,交易应用的开发者将维护一个完整的节点。这款交易应用不需要与其他社交媒体应用关联状态。

  • 对于多帐户之间的通信有一些重要的影响。最重要的是,不能假定另一个帐户的状态在同一台机器上是可访问的。它还意味着,虽然允许一个帐户同步调用另一个帐户的“锁”是一种诱人的设计模式,但如果其他帐户不在内存中,这种设计模式将会崩溃。

因此,所有帐户间的状态通信必须通过区块链上的消息进行传递。

2. 自主最优任务安排

EOS.IO系统不能强制阻止区块生成者向其他帐户发送的任何消息。这种对计算、资源成本的主观评估将使区块链不必精确地去度量运行一个任务需要多长时间。有了这个设计,就不需要精确地数指令,这将极大地增加优化的机会,而不会打破共识。

2.1 区块节点生成者

每个区块的生成者对处理交易都有自己的主观度量,无论这个交易是由用户生成的还是由脚本自动生成的。

  • 计算复杂度
  • 时间复杂度
  • 网络层面
    EOS.IO系统处理的每一笔交易都有固定的计算带宽成本,不管它是耗费01ms还是10 ms来处理它。但是,使用该系统的每个单独的区块生成者会使用它们自己的算法和度量来衡量资源使用。当一个区块生成者发现一个交易或帐户已经消耗了大量的计算能力时,他们会在生成自己的块时拒绝该交易;但是,如果其他区块生成者认为它是有效的,他们仍然会处理该交易。

2.2 区块验证

一般来说,只要一个区块生成者认为一个交易是有效的,并且所消耗的资源是可控的,那么其他所有的区块生成者也会接受它,但可能要花费1分钟才能使该交易传播到这个区块生成者处。

在某些情况下,区块生成者可以创建一个区块,其中包括在可接受范围之外的交易。在这种情况下,下一个区块生成者可能会选择拒绝这个区块,而这条线路将会被第三个区块生成者终结。这与一个大区块导致网络传播延迟所引发的情况没有什么不同。社区会注意到这种异常模式,并最终清理该流氓区块生成者的选票。

EOS 消息设计(3)并行处理之状态评估相关推荐

  1. 软件系统兼容性设计_港口大型设备状态评估及管理信息系统的设计

    陈 昆 宋 婷 方 俊 邹浩阳 黄钟韬 0 引言 近年来,为适应现代工业的快速发展以及国际贸易日益激烈的竞争环境,港口装卸设备设计制造正朝着高速化.大型化和智能化的方向发展. 港口大型设备起重量大.作 ...

  2. EOS 消息设计(2)并行处理

    1. 消息的并行设计 为了最大化并行运算,同时将从程序日志中重新生成应用程序状态的计算任务降至最低,EOS将身份验证与应用程序分离 1.1 消息的验证逻辑Context free actions(si ...

  3. EOS 消息设计(1)消息定义

    1. EOS EOS是作为一个传递账户间已认证信息的平台.脚本语言和虚拟机的实现将独立于EOS操作系统技术,任何开发语言或虚拟机,只要有适当的.性能足够的沙箱,都可以通过API与EOS集成在一起. 2 ...

  4. 架构设计第三步:评估和选择备选方案

    上一期我讲了设计备选方案,在完成备选方案设计后,如何挑选出终的方案也是一个很大的挑 战,主要原因有: 每个方案都是可行的,如果方案不可行就根本不应该作为备选方案. 没有哪个方案是完美的.例如,A 方案 ...

  5. 从源码分析RocketMQ系列-RocketMQ消息设计详解

    1 消息存储   消息存储是RocketMQ中最为复杂和最为重要的一部分,本节将分别从RocketMQ的消息存储整体架构.PageCache与Mmap内存映射以及RocketMQ中两种不同的刷盘方式三 ...

  6. 设计灵感|有趣优雅的弹窗消息设计!

    弹窗提示中通常用"√"和"×"来提示用户的操作是正确还是错误,虽然几乎每个人都知道这些符号代表的含义,但当符号结合了情感化的图形以及积极或消极的色彩,所传达给用 ...

  7. 数据挖掘:模型状态评估

    数据挖掘:模型状态评估 之前的模型评估仅仅是在评估模型的预测精度怎么样,没有考虑模型过拟合和欠拟合的状态.也就是说,模型拟合出来后,我们要对它进行优化,而如何优化就要看模型目前所处的一个状态,过拟合, ...

  8. linux僵尸进程理解,Linux为什么要设计一个“僵尸进程”状态?

    评论 # re: Linux为什么要设计一个"僵尸进程"状态? 2011-05-24 12:34 nevergone 因为linus是僵尸:-(  回复  更多评论 # re: L ...

  9. 液压装置状态评估数据集

    1.数据集描述 摘要 该数据集解决了基于多传感器数据的液压试验台状态评估问题.四种故障类型叠加了几个严重等级,阻碍了选择性量化. 来源 创作者:ZeMA gGmbH, Eschberger Weg 4 ...

最新文章

  1. 死宅福音:乐高不怕多,智能分拣机帮你归类
  2. 机器大神 Michael Jordan 教授主题演讲:机器学习——创新视角,直面挑战》
  3. 每个网页设计师应该知道的10条CSS规则
  4. Effective 笔记
  5. docker-Consul的概述及consul集群环境的搭建
  6. 【渝粤教育】电大中专学前儿童科学教育1作业 题库
  7. 2.4 线性相关和张成空间
  8. Dais-CMX系列现代计算机组成原理,01 十六位机运算器实验
  9. Wordpress空间和域名的备份
  10. 安卓案例:演示广播接受者
  11. 【英语学习】【WOTD】farouche 释义/词源/示例
  12. linux rz上传文件及出错解决方案
  13. apache shiro jar包_Shiro(一)
  14. (转载)新浪微博错误提示代码
  15. 欧姆龙PLC程序 欧姆龙NX系列PLC程序,ST语言和梯形图配合使用,数据处理使用ST语言,逻辑用梯形图
  16. qt视频教程qt入门教程嵌入式linux应用开发qt编程开发,QT项目实战教程-Qt应用项目实例开发视频教程...
  17. openjudge7939_膨胀的木棍
  18. Docker hub Habor
  19. xmlhttp = new XMLHttpRequest();
  20. [编程题] 大富翁游戏(美团点评2017秋招)

热门文章

  1. 中后台管理信息系统通用原型方案_AxureUX客户关系管理系统后台设置中心原型模板正式发布...
  2. css字体的字型,CSS的字体、字型控制_css
  3. 弱电机房保温棉知识汇总,它的种类及使用你懂多少?
  4. 数据中心节能的13个有用小知识
  5. Java创建一个文件变量_java如何定义一个类,创建它的成员变量和方法?
  6. java读取src路径下的txt文件_Java程序使用Maven后无法运行?
  7. CSDN粉丝解答:六月份第二期精选——简单bug处理、资料索取、编程系统设计等
  8. ML之FE:数据随机抽样之利用pandas的sample函数对超大样本的数据集进行随机采样,并另存为csv文件
  9. DL之PSPNet:PSPNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  10. Py之curses:curses库的简介、使用、安装方法详细攻略