区块链:智能合约这么火,但是你连它的执行原理都不知道?

关注公众号回复关键字“福利”,即可领取价值200元神秘大礼包

智能合约"(smartcontract)这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(NickSzabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:"一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。"

如果说区块链1.0是以比特币为代表,解决了货币和支付手段的去中心化问题,那么区块链2.0就是更宏观的对整个市场去中心化,利用区块链技术来转换许多不同的数字资产而不仅仅是比特币,通过转让来创建不同资产的价值。区块链技术的去中心化账本功能可以被用来创建、确认、转移各种不同类型的资产及合约。几乎所有类型的金融交易都可以被改造成在区块链上使用,包括股票、私募股权、众筹、债券和其他类型的金融衍生品如期货、期权等。

Arweave发布新智能合约语言环境 支持用户电脑运行而非节点:用于永久存储数据的区块链网络Arweave发布了一种全新的智能合约运行方式SmartWeave。据介绍,Arweave上的智能合约将由用户的电脑运行,而不是区块链本身。SmartWeave允许区块链免除gas费用,并且只要求智能合约的代码按需运行,而不是由网络上的每个节点运行。

Arweave的Sam Williams称:“SmartWeave是建立在Arweave网络之上的一种新的智能合约语言环境,使用名为‘惰性评估’的新型评估方式,将智能合约执行的计算负担从网络节点转移至智能合约的用户。”(CoinDesk)[2020/6/11]

智能合约看上去就是一段计算机执行程序,满足可准确自动执行即可,那么为什么用传统的技术为何很难实现,而需要区块链技术等新技术呢?

动态 | Digital Asset将智能合约语言与超级账本集成:据cointelegraph报道,区块链软件公司Digital Asset在今日发布的博客文章中透露已经开始与超级账本成员区块链技术合作伙伴(BTP)合作,以便将其智能合约语言DAML与Hyperledger Sawtooth集成。据悉,Hyperledger Sawtooth是一个用于构建、部署和运行分布式分类账的平台。[2019/4/17]

以太坊图灵完备的智能合约丰富了区块链从比特币单一数字资产去中心化转移到去中心化的全球分布式计算机变为可能,虽然在以太坊网络运行代码成本比较高。相对于比特币的脚本,以太坊智能合约的出现是一种比较大的进步。

为什么CTEP需要用到智能合约?

声音 | 人民网:智能合约将会激发版权链更大的活力:人民网发文表示,在使用版权作品时不可避免会遇到两个问题:第一个是授权条款的制定,另一个是授权流程的协商。大多数创作者对于著作权法中的条条框框一无所知。智能合约恰好可以大展身手,当所有的条款都通过智能合约明确的规定下来,版权费用的支付和授权的取得都可以通过智能合约自动执行,所有争端都可以迎刃而解。[2018/10/18]

CTEP是全球第一家采用区块链技术建立自己端到端的分布式名人时间交易平台,该系统不仅包含整套自主开发的区块链生态。并且可以对名人时间进行ITO,ITO就是把名人未来时间进行token化,让时间需求者通过CTEP来购买名人的时间,当时间需求者购买到足够量的时间,就可以要求名人进行交付。在CTEP生态发展过程中,会有大量的名人在链上发布属于自己的token,那么这时候需求就在与名人和链之间存在的交易手段,而这个交易手段就是智能合约。

英特尔与Enigma合作 确保其隐私智能合约安全:据coindesk消息,英特尔正与区块链创业公司Enigma合作,帮助确保其隐私增强型智能合约的安全。Enigma的协议将集成智能合约技术及英特尔系统。[2018/6/21]

智能合约只是一个事务处理模块和状态机构成的系统,它不产生智能合约,也不会修改智能合约;它的存在只是为了让一组复杂的、带有触发条件的数字化承诺能够按照参与者的意志,正确执行。

之所以采用智能合约的机制,目的就是方便名人来CTEP上做ITO。同时也为名人发展自己的其他应用,还可以为用户数据提供存储和分享。

基于区块链的智能合约构建及执行分为如下几步

1、多方用户共同参与制定一份智能合约;

2、合约通过P2P网络扩散并存入区块链;

3、区块链构建的智能合约自动执行。

下面详细描述步骤1"多方用户共同参与制定一份智能合约"的过程,包括如下步骤:

首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙。

两个或两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性。

签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。

下面详细描述步骤2"合约通过P2P网络扩散并存入区块链"的过程,包括如下步骤:

合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理。

共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合,并算出这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网。

最新达成的合约集合会以区块的形式扩散到全网,如下图所示,每个区块包含以下信息

合约区块链示意图

"区块链构建的智能合约自动执行"的过程,包括如下步骤:

智能合约会定期检查自动机状态,逐条遍历每个合约内包含的状态机、事务以及触发条件;将条件满足的事务推送到待验证的队列中,等待共识;未满足触发条件的事务将继续存放在区块链上。

进入最新轮验证的事务,会扩散到每一个验证节点,与普通区块链交易或事务一样,验证节点首先进行签名验证,确保事务的有效性;验证通过的事务会进入待共识集合,等大多数验证节点达成共识后,事务会成功执行并通知用户。

事务执行成功后,智能合约自带的状态机会判断所属合约的状态,当合约包括的所有事务都顺序执行完后,状态机会将合约的状态标记为完成,并从最新的区块中移除该合约;

举例来说:以我们的CTEP为例,当名人在链上发布自己的token会经历以下几个步骤

构建→存储→执行

构建:名人在CTEP上申请ITO,核定名人的专属token的总量和定价。

存储:一旦编码完成,这份智能合约就被上传到区块链网络上,即全网验证节点都会接收到该智能名人申请ITO的合约。

智能合约会定期检查是否存在相关事件和触发条件;满足条件的事件将会推送到待验证的队列中

执行:区块链上的验证节点先对该事件进行签名验证,以确保其有效性;等大多数验证节点对该事件达成共识后,智能合约将成功执行,并通知名人。

成功执行的合约将移出区块,而未执行的合约则继续等待下一轮处理,直至成功执行。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:93ms0-0:465ms