智能合约和预言机初探

区块链技术发展到现在,一般认为经历了三个阶段,即以比特为代表的第一阶段,以太坊为代表的第二阶段和以EOS为发展方向的第三阶段。

一、 智能合约

从以太坊开始,智能合约开始登上历史舞台,然后各种可执行智能合约的区块链纷纷出现,从最初的以太坊实现了智能合约的功能,到INT中的智能合约有扩展区块链智能合同TX的能力
(称作INT
Contract)。进而小蚁的NeoContract从开发的方便易用下手,支持多种语言,如C#,C++等。还有的比如Asch,拆分开不同的合约叫做令牌系统或者仲裁合约。等等,不一而足。

以太坊的智能合约在区块链中的位置如下图:

其实也就是说,智能合约已经在区块链中占有了重要的一席之地。

要很好的理解智能合约,其实是要了解虚拟机的,比如以太坊的EVM,EOS的WASM等。这些类似于JAVA虚拟机(这个不恰当,但容易理解,事实上前者要简单的多)把一些代码运行起来,不管是友们的还是编译的,亦或者二者兼而有之的。

虚拟机从最初的只执行一些简单的指令到后来的执行二进制数据,逐渐走向成熟。相伴随的,智能合约也就越来越强大,易用。

二、智能合约的例子

1.比特币的脚本(类智能合约)

为什么叫类智能合约呢,其实比特币是没有智能合约的,只有脚本,它只是使用一些简单的指令来完成特定的功能,接下来是比特币一个脚本的说明:

2.以太坊智能合约

以太坊的智能合约就比较接近于流行的编程语言了,而且它也有自己的IDE,browser-solidity,可以轻松的编写和调试智能合约:

contract TestStore {

uint sData;

function setData(uint d) {

sData=d;

}

function getData() constant returns (uint) {

return sData;

}

}

这个合约只是存储并读取一个数据,但是却比比特币的脚本前进了一大步。

3.EOS智能合约

首先看一个入门的智能合约hello world、

class hello :public eosio::contract

{

public:using contract::contract;

/// @abi action

void helloworld( account_name user )

{

print( "Hello world, ", name{user} );

}

};

EOSIO_ABI( hello, (helloworld) )

你会发现EOS的智能合约已经完全是和主流的开发语言保持一致了。

三、智能合约的编译

智能合约的编译在不同的时期有不同的处理方式,相信在以后也还会有更大的进步。

早期的比特币中只是将脚本按字符串拆分即可,没有什么独特的地方,更谈不上编译步骤。而到了以太坊就出现了独立的编程语言Solidity和编译器,只有使用编译器编译好以后才可以运行在EVM虚拟机中。

而到了EOS,就更是强大到了使用CLANG+LLVM生成Webassembly字节码格式。这就意味着可以使用非常强大的主流的编译器和通用的编译方法。使得EOS的编译器可以编译出更安全健壮的可执行的智能合约。

四、智能合约的执行

比特币的脚本执行非常之简单,只不过是调用函数来进行字符串的分析即可,依据不同的标记来解析出相应的指令,再依据相应的指令进行功能的验证和执行,这样最终达到脚本运行的目的。

以太坊的智能合约的执行,则需要先利用SOLC智能合约编译器将代码编译成EVM字节码,然后将EVM字节码通过Geth的RPC接口发送到以太坊网络,验证执行。

EOS的智能合约则需要通过JIT将.wast转成.wasm文件,并且辅助一个abi的文件。二者共同将智能合约布署到虚拟机上,由虚拟机执行。

五、预言机(Oracle)

预言机是区块链和自然世界的接口,目前是区块链技术发展的一个方向。对于智能合约来讲,预言机就是智能合约的输入参数。而到底都知道,智能合约是无法离开参数的输入的。而参数直接影响到了智能合约的最终的输出结果。

举一个例子,预测世界杯的比赛结果,依赖于关键节点的数据输入,如果有人恶意的输入错误的结果,那么,智能合约依据这个错误的结果一定会输出错误的结论。

因此,预言机对输入参数的依赖性是强相关的。预言机可以分为以下几种类型:

1.软件提供数据的预言机

这种预言机很好理解,类似上面的例子,输入的参数需要一些网站或者相关服务商来得到。

2.硬件提供数据的预言机

主要是物联网行业,大量的数据可以从硬件采集器或者说相关的传感器采集并发送上来。

3.可信共识预言机

主要是为了解决输入参数的可信性问题,可以不使用单一的数据来源,比如从多个数据点采集数据,并依据共识原则达到最终的参数采集输入。

Oracle现在开始陆续在各个区块链上有所展现。在以太坊的内部有一些简单的预言机,后来又出现了第三方的以太坊的Oraclize,提供了与外界交互的强大能力。国内的ONT的混合预言机(HydraDAO),另外量子链(QTUM)的Oracle增强了DataFeeds机制,更灵活方便一些。

现在还出现了智能预言机,可以在不同的条件下自动的灵活的实施智能合约。

六、总结

智能合约和预言机相辅助相成,一定会在区块链技术的发展中不断的壮大起来,最终实现自然世界和区块链世界的数据自然高效的流转。

以太坊作为加密货币与去中心化应用平台,想要让各类应用程序搭建在其上,必须要具备智能合约和预言机。

智能合约是区块链的核心技术之一,这个概念最开始是在1994年由知名计算机学家、密码学家尼克·萨博提出,他定义:“一个智能合约是一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议。”

简单来说,智能合约就是一种把我们生活中的合约数字化,当满足一定条件后,可以由程序自动执行的技术。

目前我们生活中与他人签订合约的方式,大多是通过可信的第三方,比如租房为了安全通常经由大型房屋中介联系房主,借钱会向银行贷款,很少选择P2P。而智能合约能够绕过第三方,直接由买卖双方订立数字合约,数字合约自动执行。

例如A和B打赌,明天下雨A就给B100元人民币,反之B给A100元。双方签订只能合约之后,合约可以分别关联两人的银行账户,并确认金额充足,且锁定其中的100元。第二天,预言机检测到确实下雨了,合约会自动将A的100元转移至B的银行卡里,合约执行完成。

智能合约有很多的优势,首先它去掉了中介,可以完全依托技术让用户之间自主建立合约;其次透明公平,智能合约会用代码将条件写得清清楚楚,并记录在区块链上,整个过程完全由程序执行,连包括编写这个代码的开发者都不能篡改;最后灵活,让用户之间可以自由地建立合约,哪怕是与一个陌生的外国人,也可以通过智能合约建立联系。

通过AB的例子,我们接触到一个“预言机”的概念。

预言机就是一种单向的数字代理,可以查找和验证真实世界的数据,并以加密的方式将信息提交给智能合约。当区块链上的某个智能合约有数据交互需求时,预言机在接收到需求后,帮助智能合约在链外收集外界数据,验证后再将获取的数据反馈回链上的智能合约。

以太坊在预言机部署上做得很好,如果有人在以太坊区块链系统上搭建了应用,可以直接调用在Github上预言机的开源智能合约代码,通过部署可以像公有链一样调用。预言机提供了多种数据源服务器,包括Url访问、数据搜索引擎、区块链内容数据、IPFS文件访问等等。

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/qukuai/324919.html

(0)
鸟叔鸟叔
上一篇 2023年 4月 6日
下一篇 2023年 4月 6日

相关推荐

  • 虚拟币交易平台市值排名 虚拟货币十大交易平台排名

    ?虚拟货币十大交易平台分别是欧易OKEX,顶峰AscendEX,ZT,ZG,大币网,Kraken,BitFlix,Bitfinex,Zaif,FTK。 1、欧易OKEX: 欧易OKX在全球拥有超2000万用户体量,覆盖超过200个国家和地区;全球拥有美国、马耳他、迪拜等8个地区办公室,员工达2200人;年营收突破10亿美元,累计交易量突破10万亿美元。 2、…

    2022年 11月 17日
  • 欧意app港版_欧意交易所香港版下载

    欧易对您的资产持有 1:1 的储备金,定期发布储备金证明 欧易12月最新活动入口:立即前往 句子百科小编为大家带来欧意app港版,欧意交易所香港版下载是针对内地研发的特别版本,下载安装欧意app港版即可免费用,无需繁琐的上网设置,为朋友们提供的是欧意app港版,直接下载安装,欧易okex最新版本是正规的超级安全的app,你可以理解为虚拟钱银买卖软件:数字钱包…

    2022年 12月 29日
  • 虚拟商品交易平台 比特币杠杆交易平台app

    虚拟商品交易平台?分别是:欧易app、支点、Liquity、JPEX、威比特、9158交易所、ZG、比交所、PocEEx、欧洲蜘蛛等等十个可以购买交易客户端,大量的主流虚拟货币在交易平台上进行,赶紧下载参与吧。下面一起详细了解“比特币杠杆交易平台app”。 1、欧易app 欧易交易所是一款一站式的加密交易所,该平台设置了价格警报以接收您喜爱的加密货币的实时通…

    2023年 2月 24日
  • bcx币安(币安禁止提现吗)

    关于bcx币安(币安禁止提现吗)这个问题很多人都不太了解,下面由句子百科网小编(sws100.com)大唐风水网为大家详细讲解一下,大家来看下。 1.业界分析:Cocos-BCX首发上线币安首日“波动剧烈”?原因可能在这里8月21日,下一代游戏数字经济平台Cocos-BCX首发上线币安,然而上线之后出现了“较大波动”。 2.币安智能链也在加快步伐,在生态建设…

    2023年 4月 4日
  • 文小姐对BBO币的点评

    BBO是一年多的老币了,虽然现在大环境不好,但是币价已经跟归零没有什么区别。 BBO是 Bigbom Eco 生态系统上用来支付广告交易的代币。 BBO是一个惠及所有在线广告参与者(包括广告商、服务提供商、内容发布商、广告渠道、广告平台)的去中心化广告生态系统。 项目在2018年6月开始上线的,只上线了一家交易所,而且没有交易量,团队是来自越南的,没有什么强…

    区块链 2023年 3月 30日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信