智能合约应用app开发案例
简单的来说,智能合约就是将传统的合约数字化,并以程序的形式运行在区块lian上。
好处:
只要触发代码中的某条件,程序就会自动执行对应的动作,这保证了合约的履约过程
区块lian的特性保障了合约的不可篡改性,使得陌生的双方可以在无中介的情况下交易。
能够使用智能合约的前提是,合约的标的物能够受合约控制,如数字资产等。
设想假如智能合约规定当比特价格降低时,alice就给bob10g黄金。但实际上转让黄金这件事是无法由智能合约自动执行的,也就是智能合约无法控制标的物。
智能合约的理念在1990s年代就由尼克萨博提出,但当时由于缺少可信的执行环境,并没有投入实际的应用中。
以太坊率先看到了区块lian和智能合约的契合,发布了白皮书《以太坊:下一代智能合约和去中心化应用平台》。并提供了图灵完备的开发语言(即理论上能够解决所有的可计算问题),使得人们可以很快上手开发自己的智能合约,这部分可以搜索solidity智能合约开发进行尝试。
附wikipedia定义:
智能合约(Smartcontract),是一种计算机程序或交易协议,旨在根据合同或协议的条款自动执行、控制或记录法律相关的事件和行为。智能合约的目标是减少对可信中介的需求、仲裁和执行成本、欺诈损失,以及减少恶意和意外异常
智能合约和传统合约相比到底有啥优势呢?
我们通过以下四点进行对比分析:
1⃣合约内容不可篡改-->写了啥就执行啥
相较于传统合约,由于智能合约部署在区块lian上,只要触发了条件必定会执行对应的动作,且不可篡改。
而传统合约则要求履约双方遵守契约精神,若一方违约,还需要额外付出成本来解决。
2⃣合约内容公开透明-->谁都能看到且谁执行都一样
相较于传统合约,智能合约对所有人都是公开的,且无需再额外加入“一视同仁”的条款(传统合约中常见的一种条款,指对任何参与方合约都一样),因为任何人执行的都是同一段代码。
3⃣去中介化-->没有中间商赚差价
传统合约往往需要可信中介来进行担保,而智能合约的“内容公开透明”+“不可篡改”使得交易双方可以在无中介的环境中执行,这也是为什么说智能合约是web3下信任重构的方式。
4⃣合约执行更-->代码逻辑确定,不用双方扯皮
相比于传统合约的自然语言描述,代码更能够准确无歧义的避免分歧。双方无需在是否达成条件的问题上进行争论。并且只要满足合约内的条件,立即执行生效。
但值得注意,智能合约本身一经部署是不可篡改,但有多种方式可以进行修改,如可以将旧合约升级成为新合约,并将旧合约中的记录迁移至新合约(需要参与者达成共识)以此应对一些bug/新增feature的需求,旧合约本身仍然是没有改变的。