欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Web3 学习(区块链) - III.智能合约

最编程 2024-03-31 18:55:58
...

参考地址:
什么是智能合约(youtube.com)

1. 什么是智能合约

在1997年,Nick Szabo(一位计算机科学家,法学家,及密码学家) 第一次使用了智能合约的概念,这要远早于比特币的诞生。
简而言之,Nick Szabo 他是想使用一种 分布式账本 来存储合约。

如今,智能合约与现实中的合约是类似的,唯一的区别,就在于智能合约是 完全数字化 的。
事实上,智能合约是一小段计算机程序,存储在区块链中,
举个例子,理解一下智能合约的运作原理:在你可能了解到的一些众筹平台,没人出少量的钱来众筹一件商品,如果支持者的人数占据优势,也就是筹集的资金足够了,那么这个筹集资金的项目得以进行,在其盈利后也会回馈其支持者们。反之未能筹集到足够的资金则项目合约并不生效。

我们可以编写智能合约,使其能够在目标金额达到之前,一直持有接收到的资金,现在,项目的支持者将资金转移到智能合约。如果项目的目标资金可以完全到位,合约将自动把筹得的资金转给项目的创建者,而如果项目没有筹得目标资金,这些钱也将会自动退回给到项目支持者的手中!

由于智能合约是存储于区块链中的,也就意味着所有的这些信息是完全分布式的,这项技术也保证了没有人可以控制的了这笔钱。

现在的问题是,但我们又为什么相信这个智能合约呢?
由于智能合约存储在区块链中,因此就继承了一些有意思的特性:

  • 不可篡改(Immutable)
  • 分布式的(Distributed)

不可篡改,也就意味着一旦创建智能合约,就再也不能被修改了
而分布式,意味着你合约的输出需要经过网络中所有人的验证
所以,某一个人不可能强制让合约释放这些资金,
因为网络中的其他人会发现你的企图,并标记为无效。

当然,智能合约不仅仅可以应用到众筹上,它还可以应用到许多其它的领域
例如:
银行可以拿它来发放贷款或者提供自动支付;
保险公司可以用它来处理特定的理赔;
邮政公司可以把它应用到投递结算 等等

2. 如何使用智能合约

现在已经有一些区块儿链平台可以支持智能合约了,其中最大的一个平台:
以太坊

它在创立之初的定位就是为了来支持智能合约的
智能合约可以用一种叫做 Solidity 的编程语言来进行编写。

这种语言是特意针对以太坊发明的,它的语法类似于 JavaScript

这里插一句,如果你作为前端开发者,相对而言,
Solidity 在语法上就比较友好了,后续的文章中我会更新对该语言的学习

值得一提的是,比特币也支持智能合约,尽管和以太坊相比起来,比特币有更多的限制。

现在,你应该已经知道了智能合约是个什么,以及智能合约可以解决哪些问题了。

推荐阅读