您的位置 首页 比特币行情

什么是EOS智能合约?它是怎么工作的?


来源:世链财经(shilian.com)

在区块链中智能合约这个词常常出现,接触区块链的投资人肯定也十分熟悉EOS智能合约;现在的EOS智能合约是由资料库和公共内存数据库去进行相互之间通信的,而步通讯造成的spam难题将由资源限定算法去解决。那么,究竟什么是EOS智能合约呢?它又是怎么工作的呢?下面,我们一起来看看。


什么是EOS智能合约?

EOSIO智能合约软件注册在区块链上,并在EOSIO节点上实行,它完成了「合同」的词义,并把合同的请求行为存放在区块链上,即请求帐簿。EOS定义的智能合约包括2个因素:代表合同的程序和执行合同时的举动。同时,阅读上边这段文字时,你很可能会把它和BTC系统对应起来,其实BTC是智能合约的一个例外:它只定义了转账合同,即接收UTXO(Unspent Transaction Output)、验证签名及建立新的UTXO;而该合同也只有一个行为——转账(推送UTXO)。

什么是EOS智能合约?它是怎么工作的?

和BTC把UTXO记录在区块链上一样,EOS也把所有的行为数据记录在了区块链上,唯一不同的是,EOS是一个智能合约平台,它不但适用转账合同,如今你能看到的CPU、Bandwidth抵押、RAM人机交易市场、投票等都在其范围之内,能够看见智能合约平台是十分具有想象力的,它带来了多样性,即使如此,它依然由最基本要素构成:代表合同的程序和执行合同的举动。从这个角度来说,EOS依然只是比特币的拓展,因此在学习中,铭记这俩因素,有利于在学习过程中不会迷失。


EOS智能合约的特点:

EOSIO智能合约由一组Action和类型定义构成。Action特定并实现合同的举动。类型定义特定所需的内容和结构。开发合同时应对每一个action完成对应的actionhandler。actionhandler的参数特定了接收的参数类型和数量。当向此合同推送action时,要推送符合要求的参数。


Action

EOSIO Action主要在基于消息的通讯系统架构中运作。客户端能使用cleos命令,将信息推送(推送)到nodeos来启用Action。也可以用EOSIO send方式(比如eosio::action::send)来启用Action。nodeos将Action请求分发给合同的WASM代码。该代码全面地运作完,然后继续解决下一个Action。


通信模型

EOS体系要以通信为基本的,Action便是EOS上通信的媒介。EOSIO适用两种基本通信模型:内联(inline)通讯,如在目前交易中处理Action,和延迟(defer)通讯,如开启一笔未来的交易。

·Inline通讯

Inline通讯是指启用Action和被启用Action都要实行成功(不然会一起回滚)。(Inlinecommunicationtakestheformofrequestingotheractionsthatneedtobeexecutedaspartofthecallingaction.)Inline通讯应用初始买卖相同的scope和权限做为执行上下文,并确保与当前action一起实行。能够被称之为transaction里的嵌入transaction。假如transaction的所有部分失败,Inline动作将和其它transaction一起回滚。不管成功或失败,Inline也不会在transaction范畴外生成任何通知。

·Deferred通信

Deferred通信在概念上相当于推送一个transaction给一个账户。这个transaction的执行是eos出块节点独立判断进行的,Deferrd通信难以保证信息一定成功或是失败。

如前所述,Deferred通信将于稍后由出块节点自行决定,从初始transaction(即建立Deferred通信的transaction)的角度看,它只能确定建立请求是成功递交还是失败(假如失败,transaction将立即失败)。


EOS智能合约工作原理分析

1、智能合约由区块链里的多个客户共同参与制订,适合于客户之间的所有交易行为。协议中确定了双方的权利与义务,开发者把这些权利与义务以电子化的形式进行编程,代码中包含会触发合同自动执行的条件。比如说,你将一套闲置的房屋租给A,那么,这份智能租约中就明确了A必须在每月5号以前给你打租金、你必须在接到租金时立刻给彼此锁匙[2]等条文。

2、一旦编号完成,这份智能合约便被上传至区块链网络上,即全网验证节点都会接受到你与A的租房合约。

3、智能合约会定期维护存不存在相关事件和触发条件;满足条件的事情可能推送到待验证的序列中。假设A在4号提早打租金给你,这个事件就成了该合同的触发条件(每月5号以前)。

4、区块链上的验证节点先向该事件开展签名验证[3],以保证其实效性;等大部分验证节点对该事件达成一致后,智能合约将成功实行,并通知客户。

5、成功实施的合同将移出区块。而未实施的合同则继续等待下一轮解决,直到成功实行。

布署到以太币上的智能合约是要耗费以太币的。就像把现实中的仲裁人、法官、执行人搬到了区块链上,尽管他们变成一行行的代码,但也是宝贵的计算机资源。智能合约也遵照“Lessis more”,逻辑应尽量地简易。逻辑越复杂,耗费的以太币就越多。


讲到这里,相信大家对于什么是EOS智能合约,以及它又是怎么工作的都有一定的了解了。总的来说,在区块链社会里,大家共同维护一个区块链账本,全部交易数据没法篡改、不能伪造,还能减少人力查账的出错几率和人工成本;随着智能合约普及,大家也会变得更加佛性。应对隐性的纠纷,无需自己出马,一切代码来定。

热门文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注