设为首页 | 收藏本站 集宁亿美阁网站制作公司
3644人
已阅读

什么是智能合约? 智能合约初学者指南

来源:集宁亿美阁网站制作公司      类别:集宁区块链      发布时间:2018-07-22

Nick Szabo提出了“智能合约”的概念,其目的是将POS(销售点)等电子交易方式的功能扩展到数字领域。 智能合约可以避免第三方中间商的服务,帮助您以透明、无冲突的方式交换财产、股份或任何有价值的东西。

什么是智能合约?

智能合约是一种在满足特定条件时,自动执行的计算机程序。

使用智能合约,您可以无冲突、透明的方式和陌生人分享任何有价值的东西。

您也可以将智能合约当做基于区块链的自动售货机。 类似于自动售货机根据您存放的物品设置相应的钱一样,智能合约使用ether作为燃料来执行预先配置规则的代码。

我们为什么需要使用智能合约?

我们可以在区块链上签订合同来实现许多解决方案的自动化,这样使得这个事情变得简单而高效。 接下来我们比较智能合约和传统合约,在哪些方面更具有优势,如下图所示:

智能合约:它的复杂程度和案例有关

智能合约的复杂性是与区块链上编码的案例相关联的。 下图将使您更清楚地了解智能合约的复杂性。

使用各种情景的智能合约,不仅实现自动化的公司,而且可以形成分散的自治政府

我们通过下面案例了解智能合约的工作方式。

智能合约案例:医疗行业

病人数据管理:当医疗行业涉及病人数据管理时,存在两个主要问题:

  • 首先,每位病人都是唯一的,获得完整的医疗记录对于治疗和提供针对病人护理很重要。
  • 其次,在医疗界共享信息是具有重大挑战的。
    现在,使用区块链上的智能合约功能可以解决上述问题。

智能合约案例:物业转让

问题:目前,财产所有权转让是通过中央权力部门进行的。 这不仅文件管理耗时、需要很多额外的费用,而且还会增加文件管理的负担。因为系统是集中的,所以欺诈的可能性是存在的。

解决方案: 利用智能合约这项技术,让所有各方(银行、经纪人、政府官员、买家和卖家)都能看到房地产交易的细节。

智能合约的优势

智能合约的优势,如下图所示:

编写智能合约的区块链平台

尽管以太坊是写合约最常用的平台,但它并非唯一的平台。 以下是其它用于编写智能合约平台:
比特币:比特币使用功能有限的脚本处理文档。 脚本是专门用于处理比特币交易的。
Hyperledger Fabric:在Fabric中,Chaincode是部署在网络上的编程代码,在共识过程中,它通过链式验证器执行和验证。
NXT:这是一个公共区块链平台,其中可以选择有限的智能合约模板。 你必须使用已经存在的内容而不能编写属于自己的代码。
侧链:侧链增强区块链性能和隐私保护。 他们还增加了智能合约,安全处理和实际属性注册表等功能。编写和部署智能合同的工具

  1. Mist浏览器 - 这是使用dApps的工具。 它是一个独立的浏览器,可用于浏览dApp并与其交互。
  2. Truffle框架 - Truffle是以太坊流行的开发框架。 它内置了智能合约编译,链接,部署和二进制管理。
  3. Metamask - MetaMask是现在的人们在浏览器中访问未来的分布式Web的桥梁。 它允许用户在浏览器中运行Ethereum dApps,而无需运行完整的以太坊节点。
  4. Remix - Remix是一个基于Web浏览器的IDE,允许用户编写Solidity智能合约,然后部署和运行智能合约。

编写以太坊智能合约的编程语言

Solidity&Serpent是编写以太坊智能合约的两种主要语言。
Solidity:它是一种面向契约的高级语言,其语法类似于JavaScript,它主要用于以太坊虚拟机(EVM)。
Serpent:Serpent是一种设计用于编写以太坊合同的高级语言。 它与Python非常相似。但是到2017年9月为止,Solidity是以太坊开发人员首选的开发语言。

虽然Solidity是目前智能合约最受欢迎的语言,但是即将要推出的一些智能合约语言也很重要。
即将推出的编程语言

  1. Viper:Viper有一个类似Python的缩进方案。 它侧重于安全性、语言性以及编译器的简单性。
  2. Lisk:Lisk使用JavaScript作为智能合约语言,开发人员更容易编写应用程序。
  3. Chain:Chain使用流行语言(如Ruby,Java和NodeJS)生成的SDK为企业级区块链基础架构。

现在,因为Solidity是编写以太坊智能合约的最广泛使用的编程语言,下面将描述用Solidity编写的合同。

您可以看到,[智能合约]改变社会方面的潜力是巨大的。