eos消息设计并行处理之状态评估

thefist11 thefist11     2022-12-29     482

关键词:

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

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

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

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

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

2. 自主最优任务安排

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

2.1 区块节点生成者

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

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

2.2 区块验证

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

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

eos消息设计初步说明

...性能足够的沙箱,都可以通过API与EOS集成在一起。2.消息定义消息就是账户与账户之间的沟通语言,每个账户都可以发送结构化的消息给任意其他账户,每个账户都可以定义处理消息的脚本, 查看详情

eos系统特点

1.共识:打包仅靠21个EOS超级节点2.并行执行在账户层对智能合约进行并行化处理:每个线程都会按顺序串行处理该账户本次提交的所有智能合约,而同一个区块可以包含多个不同账户提交的智能合约。将不同账户的智... 查看详情

eos流行之痛——ram机制设计缺陷?

前些天整理EOS主网运行现状时,无意间发现RAM存在套利空间,而且紧接着看到EOS熊市对冲逻辑相关的文章,甚至在IMEOS上看到有项目因为RAM价格暴涨而可能停止空投。那么EOS上的RAM机制到底是怎样的?这种机制对... 查看详情

支持touchid!eos项目进展速报

...:1.支持AppleTouchID/SecureEnclave2.延时交易的错误处理机制3.并行执行目前这几个新特性的代码在eo 查看详情

支持touchid!eos项目进展速报

...:1.支持AppleTouchID/SecureEnclave2.延时交易的错误处理机制3.并行执行目前这几个新特性的代码在eo 查看详情

kafka高性能架构之道

...现并行处理Partition提供并行处理的能力Kafka是一个Pub-Sub的消息系统,无论是发布还是订阅,都须指定Topic。如《Kafka设计解析(一)-Kafka背景及架构介绍》一文所述,Topic只是一个逻辑的概念。每个Topic都包含一个或多个Partition,... 查看详情

verilog之状态机

verilog之状态机设计1、状态机的原理状态机,就是基于状态变化而设计的硬件模块,是一种常见的设计思路。掌握状态机的使用,是初步建立复杂逻辑设计能力的开始。所谓的状态机,和高级语言程序的流程图十分类似,具有逐... 查看详情

如何并行处理 MSMQ 消息

】如何并行处理MSMQ消息【英文标题】:HowtoprocessMSMQmessagesinparallel【发布时间】:2011-07-2702:42:53【问题描述】:我正在编写一个Windows服务来使用MSMQ消息。该服务将有高活跃期(80k消息很快收到)和长时间不活跃(可能几天没有... 查看详情

设计模式之-代理模式(proxypattern)

...理以控制对某个对象的访问。代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。很多可以框架中都有用到,比如:spring的AOP的实现主要就是动态代理,mybatis的Mapper代理等。如下... 查看详情

petshop数据访问层之消息处理-《解剖petshop》系列之三

转自:张逸的博客 三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问... 查看详情

c#数据流或任务,消费消息并行处理

】c#数据流或任务,消费消息并行处理【英文标题】:c#DatafloworTasks,consumingmessagestoprocessinparallel【发布时间】:2013-09-2304:30:18【问题描述】:如果我想从外部队列中获取消息,请使用Redis或类似名称。让一个线程不断检查队列并... 查看详情

设计模式之状态模式20170712

行为型设计模式之状态模式:一、含义为每个状态创建与之对应的类(对应的每个类实现同一个接口或继承同一个抽象类,便于统一处理),并且再通过一个类切换状态  二、代码说明1.一般包含三个角色抽象状态角色,具体状... 查看详情

Kafka消费者可以并行处理多条消息吗

】Kafka消费者可以并行处理多条消息吗【英文标题】:CanKafkaconsumerprocessmultiplemessagesparallely【发布时间】:2016-06-0604:55:48【问题描述】:想知道Kafka消费者(Java客户端)是否可以并行读取和处理多条消息……我的意思是使用多个... 查看详情

如何在确保每个实体 FIFO 的同时并行处理消息?

】如何在确保每个实体FIFO的同时并行处理消息?【英文标题】:HowdoyouprocessmessagesinparallelwhileensuringFIFOperentity?【发布时间】:2011-08-0612:48:17【问题描述】:假设您的系统中有一个实体,例如“Person”,并且您想要处理修改各种Pe... 查看详情

eos账户系统权限评估

...度、高级别的控制,以确定谁在何时可以做什么。2.1.评估过程 查看详情

android中状态机原理之状态机的两种写法

...;也是软件上常用的一种处理方法(软件上称为FMM有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。同时,因为有... 查看详情

java设计模式之代理模式(代码片段)

...对象之间起到中介的作用。即代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理。代理类与委托类 查看详情

Azure 服务总线队列以并行方式异步处理消息

】Azure服务总线队列以并行方式异步处理消息【英文标题】:AzureServiceBusQueueprocessingmessagesasynchronouslyinparallel【发布时间】:2015-12-2318:16:31【问题描述】:我创建了一个在Azure服务总线队列上侦听的Windows窗体程序,它为每个接收... 查看详情