区块链学习之智能合约简介

智能合约是什么呢,它又能做什么呢?

智能合约最早是在1997被Nick Szabo提出,比比特币的诞生还要要早得多,他是一名计算机科学家,法律学者和密码学家。他想用分布式账本来存储合约。

智能合约和现实中的合约很像,唯一的区别是,他是纯数字的,实际上智能合约就像是存储在区块链上的一个小型计算机程序。

我们通过众筹来理解下智能合约,产品团队会将自己的项目发布到众筹平台,设置目标资金然后来开始筹钱,来向其他对这个项目有信心的人来借钱,众筹平台相当于产品团队与支持者之间的第三方,那么,产品团队和支持者都要信任众筹平台能正确的处理他们的资金,如果众筹成功,项目团队希望能从平台得到这笔钱,而支持者,希望他们的资金进入项目或者如果没有达到目标时能顺利退款。这里,我们强调了,这个第三方平台必须是可信的。

但是通过智能合约,我们可以来构建一个类似的,但不需要第三方机构的系统。我们可以编写智能合约,通过智能合约来保存收到的资金直到达成指定目标,项目的支持者将他们的钱发送到智能合约上,如果项目筹款达标,那么资金会被发送给产品团队,反之,如果未达标,资金将返还给支持者。

智能合约是存储在区块链中的,而区块链是分布式的,通过这种技术,没有人能控制这笔资金,但是为什么智能合约是可信的呢?

首先智能合约是存储在区块链上的,所以他继承了区块链的一些特性,他是不可更改的,分布式的。不可更改,意味着一旦创建了智能合约,他就不会在中途再被改变,所以没有人能背着你更改你的合约。分布式意味着您的合约是存储在需要每一个人验证的网络上,没有谁能强制释放合约内的资金,区块链网络上,这种强制操作是无效的,因为要更改智能合约几乎是不可能的。

智能合约可以用来做很多事情,而不仅仅是众筹,银行可以用它来发放贷款或者提供自动付款,邮局可以用它来实现支付,交付等等...

目前有很多区块链支持智能合约,但最大的就要说以太坊了,它提供了一种叫solidity的编程语言,使用类似JavaScript的语法来方便的用于智能合约的开发。

需要注意的一点是,比特币也支持智能合约,但相较以太坊,比特币的智能合约受到了很多限制。

你可能感兴趣的:(区块链学习之智能合约简介)