智能合约现在是
区块链中最为大家熟知的概念。但智能合约究竟是什么?很多人还是一知半解。智能合约就是一种储存在区块链中的计算机程序。
区块链从本质上来说,就是一种共享的会计分类账簿,可以利用虚拟
加密货币和计算机网络来追踪与记录各种资产的状态,同时有效保证分类账簿的安全,以防出现一些恶意篡改现象。
第一代
区块链技术就是
比特币。它能为互不相识的交易双方提供牢固保障,保证双方资金能够按照合同规定顺利完成转账。简单地说,就是保证交易双方不会受到欺诈等负面事件影响。
第二代区块链技术就是
以太坊。有了智能合约,交易双方可以创建一个系统,从某一方的账户中取钱再存进余额不足的另一方账户中。从理论上来说,智能合约能够用于各种各样
金融协议的代码编写,其中包括衍生合同、拍卖合同以及各种基于区块链的第三方保管账户合同等等。
以太坊是一个开源的区块链底层系统,就像安卓一样,提供了非常丰富的API和接口,让许多人在上面能够快速开发出各种
区块链应用。目前已经有超过200多个应用在以太坊上开发。
而以太坊很大的特色就是能够实现智能合约。所谓智能合约(Smart Contract),是密码学家Nick Szabo在1994年首次提出以数字形式定义的一系列承诺(promises) ,包括合约参与方可以在上面执行这些承诺的协议。
智能合约的智能在英语中对应的单词是Smart,和智能手机(Smart Phone)中的Smart意义相同,表示非常灵活的意思,并不是指
人工智能(AI)。智能合约一旦设立指定后,能够无需中介的参与自动执行,并且没有人可以阻止它的运行。
以太坊去中心化的核心是其可以运行图灵完备的脚本语言,而开发以太坊智能合约则有四种语言:Serpent、Solidity、Mutan、LLL。这些语言都是面向底层设计的语言。目前来看,Solidity 是首选语言,这是由于它内置了 Serpent 语言的所有特性,语法类则似于使用广泛的 JavaScript。再加上 Solidity 的语言特性较少,该语言则可以更简单地实现完备的智能合约体系。
以太坊是一个开源的有智能合约功能的公共区块链平台。区块链上的所有用户都可以看到基于区块链的智能合约。但是,这会导致包括安全漏洞在内的所有漏洞都可见。智能合约语言 Solidity 自身与合约设计都可能存在漏洞。如果智能合约开发者疏忽或者测试不充分,而造成智能合约的代码有漏洞的话,就非常容易被黑客利用并攻击。并且越是功能强大的智能合约,就越是逻辑复杂,也越容易出现逻辑上的漏洞。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。