区块链应用开发指南:业务场景剖析与实战
上QQ阅读APP看书,第一时间看更新

1.12.2 智能合约的实现方式

通过区块链实现的智能合约中,智能合约的去中心化属性通过区块链中的分布式一致性算法来保证。分布式一致性算法就成了智能合约的主要组成部分。除此之外,为了描述智能合约,就需要一种特定的描述语言来支持,这种描述语言一般就是一种特别设计的编程语言。

比特币提供了一种图灵不完备 图灵完备是一个计算机学概念,具备图灵完备的语言理论上可以完成一切可计算问题的编程。图灵不完备则表示这门编程语言缺乏一定的基础结构,不能完成所有的编程任务。 的脚本语言。通过这种脚本语言可以实现有限的智能合约,主要包括支持多重签名的账户、第三方托管服务、跨链交易等。主流语境中人们通常不认为比特币实现了智能合约,但是从这门脚本语言的成果来看,我们可以认为比特币支持了一定程度上的智能合约。

智能合约最有名的实现成果应该是以太坊。以太坊提供了一门几乎图灵完备的编程语言。结果就是理论上开发者可以在以太坊的智能合约上编写任意复杂的逻辑,甚至可以实现自己能想到的任何程序。得益于此,以太坊上出现了形形色色的应用,甚至因此出现DApp这种新的程序类别。