【区块链笔记】ETH_智能合约(08)
这篇文章简单的整理了以太坊的权益证明
相关的内容。
1.智能合约Smart contract
智能合约有很多种解释,大致就是按照写好的规定(代码逻辑)履行合约项。
智能合约中,没有用到人工智能之类的技术,感觉比起说智能应不如说自动合约或机器合约会更合适。
这么说比较抽象,举个例子我们常用的ATM取款机是一个很好的例子。
我们插入银行卡输入密码和取款金额,取款机就会出钱币。
这一过程就是我们按照约好的规定,履行合约项。
输入200元,你想返悔只要100元是不可能的。取款机只能出200元。
2.不可篡改性
智能合约最大的特性之一是不可篡改性
。合约是用代码实现的规则。
所以我们可以定制
合约。定制好的合约只要满足条件会自主
的履行合约项。
这些执行过程都是很确定
的,没有中间项,只有是或不是。
所以不需要第三方权威机构(比如法院)的担保(去信任
)。
而且区块链上的合约是完全透明
的,因为这些代码都是完全公开。
以太坊很有名的THE DAO事件
, 还是人为的干预了该事件。
也证明了,智能合约毕竟也人开发的,没有绝对的不可篡改性。
3.优势
作为和编程的代码,智能合约有高度的定制型,可提供很多便捷的解决方案。
特别是在网上跨区域的协议上,不同国家之间的法律和规定不同的情况下,保障双方的权益是比较困难。
我们常说比特币等电子货币解决了不同国家之间的交易的不便
。
列如我们想买美国的物品,需要先用人民币换美元,然后需要转给美国账户。这是一个很漫长的过程。
但是我们用比特币买,最多需要等6个区块的确认时间就行了。
智能合约是解决了不同区域之间的协议
。
列如美国,埃及,瑞士,中国人一起合作,做项目。
当发生分歧时,该如何解决呢? 不同国家有不同的法律和标准,该如何解决这种分歧呢?
这时智能合约能发挥它的作用了。
但没必要把所有的协议都放在智能合约上,因为有些协议是时间的推移是需要修改的。
或是已经有成熟的场景能支持没必要非得用上智能合约。
比如地铁时间很准也很快,但是有些地方是骑自行车去会更快也更方便。
那没必要非得做地铁去了。
4.开发语言
4.1 Solidity
https://solidity-cn.readthedocs.io/zh/develop/index.html
Solidity适用于大多数智能合约平台,如Ethereum、Avalanche、Moonbeam、Polygon、BSC,等等。
这是由于大多数区块链都采用了以太坊虚拟机(EVM),而solidity就是为其而生的。
4.2 Vyper
Vyper是一种基于python的语言。它的应用不如solidity多。
4.3 Rust
它与不能应用在EVM的区块链,如Ethereum、Polygon、Binance Smart Chain等等。
然而Rust可以部署到Solana、Terra等链上,或者在Polkadot构建区块链应用。
5.常用工具
- MetaMask - 游览器插件钱包
- Remix,Replit - Solidity在线编辑器
- Geth - 以太坊客户端(go版本)
- web3.js - 以太坊javascript api库
- Ganache - 以太坊客户端(测试环境私链)
- Truffle - 以太坊开发框架
欢迎大家的意见和交流
email: li_mingxie@163.com