智能合约的实施指南

hubwiz · · 88 次点击 · · 开始浏览    
与区块链技术一样,智能合约在商业领域也非常有价值。 为了让我们的读者彻底了解智能合约是什么以及它们如何影响现代商业的交易方式,我们准备了本指南。 ### 集中商业模式正在给去中心化的模式让路 传统的商业关系模型都是集中式的,始终存在一个第三方,​​它位于正在进行交易并确认合约中的条款和条件在交易双方间。该第三方可以是银行机构,执法机关,政府机构或其他中介机构。 在集中模型中建立关系时,企业依赖于中介,这会使客户面临风险。此外,中央系统无法保证合约的支付和实施。 区块链技术的发展使企业能够建立去中心化的模型,为企业开展交易和达成协议开辟了新的视野。而提出替代传统模式的技术之一是智能合约。 ### 智能合约概念 虽然智能合约的炒作随着围绕区块链技术炒作的增长而增长,但智能合约一词实际上出现在二十多年前。计算机科学家和密码学家Nick Szabo在1995年写了一篇关于智能合约的文章。 Szabo提供的概念与智能合约当前提供的内容完全一致,包括在分布式分类帐中实施和存储智能合约的想法。 那么智能合约到底是什么? ### 什么是智能合约? 智能合约类似于物理世界中的合约,但它是数字化的,并且由区块链中存储的微小计算机程序表示。 更具体地说,智能合约是一种软件,它存储用于协商协议条款的规则,自动验证履行,然后执行商定的条款。 智能合约的主要思想是什么?由于智能合约在建立业务关系时不依赖第三方,因此达成协议的各方可以直接相互交易。 以一个众筹平台为例子,产品团队分享他们的项目并从支持者那里收钱,直到达到目标。 如果这样的平台是集中式的——比如`Kickstarter`,那么它就是产品团队和捐赠者的支持者之间的第三方。这意味着双方都需要信任`Kickstarter`,事实上,还要向`Kickstarter`这个中间人支付额外费用。 ![](http://blog.hubwiz.com/2018/09/21/smart-contract-Implementation/centralized_platform.png) 智能合约也可以执行相同的众筹行动——共享项目,设定目标和收集捐款,但没有第三方。 简而言之,我们可以编写智能合约来执行所有这些操作。 更确切地说,我们可以编制一份智能合约来接收资金,直到达到目标。如果项目在截止日期之前获得全额资助,则自动筹集的资金将转入产品团队。如果项目失败,资金将自动返回给支持者。 ![](http://blog.hubwiz.com/2018/09/21/smart-contract-Implementation/animation-smart-contract.gif) 由于智能合约存储在区块链内,其中所有数据以分布式方式存储,因此没有人控制钱。在去中心化的商业模式中,智能合约取代任何其他可信赖的第三方。这导致了一个非常重要的问题: ### 凭什么信任智能合约? 智能合约是在区块链中设计和实施的,因此它们继承了区块链的一些属性: - 它们是不可改变的,这意味着智能合约永远不会改变,没有人可以篡改或违反合合约。 - 它们是分布式的,这意味着合约的结果需要由网络中的每个人来验证,就像区块链上的任何交易一样。分布式的使攻击者无法强制控制释放资金,因为所有其他参与者都会检测到此类尝试并将其标记为无效。 ### 智能合约的工作方式 智能合约是一种程序,或者更简单地说就是代码。智能合约背后的代码包含由特定的约定事件触发时执行的特定术语。 让我们来看一个智能合约如何工作的例子,如果爱丽丝在洛杉矶出租房子,而纽约的鲍勃想租房子去那里旅行。 ### 一种逻辑行为算法 通常情况下,爱丽丝和鲍勃会使用一些平台,它们将主人和客人联系起来同意租房。这种平台将作为第三方,并肯定负责遵守商定的条款。但是,Alice和Bob都将被平台收取费用。此外,如果其中任何一方未能履行其承诺,争议解决可能会耗费时间并需要详细审查。 如果Alice和Bob改为使用智能合约达成协议,智能合约将根据其算法进行逻辑运算,并保证满足所有商定的条款和条件。智能合约具有不可变性,这是智能合约的DNA,它不会让爱丽丝或鲍勃作弊。 因此,以下条款和事件可以在Alice和Bob之间的智能合约中列出: - 1.创建了独立存储区,Alice和Bob都可以赋值,但不能改变。 - 2.鲍勃在存储区中存钱。 - 3.爱丽丝将她的公寓地址和代码放在存储区。 - 4.Alice收到付款确认,Bob收到地址和公寓代码。 - 5.如果Bob来到洛杉矶并且Alice提供的地址和代码是正确的,那么Alice会收到付款。 - 6.如果看起来Alice提供的地址或代码错误,Bob会收回他的钱。 - 7.如果鲍勃不来洛杉矶,爱丽丝会获得违约赔偿金,鲍勃得到剩下的付款。 - 8.在协议结束时,智能合约被视为已履行并仍存储在区块链网络中。 ![](http://blog.hubwiz.com/2018/09/21/smart-contract-Implementation/alice_bob_and_smart_contract.png) 这组条件和事件代表了最基本的一次性智能合约。在智能合约的代码中设置条款可确保满意的执行。 区块链技术本身保证了整体合约履行,因为区块链的完整副本由所有网络参与者公开存储,智能合约仍然是不可变的。 ### 一体式——全智能合约的逻辑 一旦Alice生成一份智能合约,能将她的公寓出租给Bob时并自动透明地为她工作,她可能会考虑为所有其他租客创建一个通用协议,这样她就不需要为每位新客人创建一份新的智能合约。 根据这项普遍协议,区块链网络上的任何人都可以按照上述算法租用Alice的公寓:潜在的客人转移租金,获取地址和公寓代码,然后如果一切按照两者的合同条款运行,Alice会收到付款。 ![](http://blog.hubwiz.com/2018/09/21/smart-contract-Implementation/One-Size-Fits-All_Smart_Contract.png) 此外,智能合约可以更加普遍。我们可以编制一份智能合约,不仅可以被爱丽丝使用,也可以被任何想要出租他或她的公寓的人使用。当然,智能合约可以包含更具体的条件,例如自动调整的价格,折扣,部分付款以及几乎任何其他可以想象的选项。 ### 使用智能合约的区块链网络 关于区块链技术的智能合约已经说了很多。虽然在不同的区块链网络和项目中有很多智能合约的实例,但最值得注意的仍然是比特币和以太坊。 #### 比特币 虽然比特币主要以比特币加密货币交易而闻名,但其协议也可用于创建智能合约。比特币提供了一种编程语言,允许自定义智能合约,如多重签名帐户,支付渠道,托管和时间锁。特别是,在比特币的区块链上建立了一个名为RootStock的独立智能合约平台。 #### 以太坊 以太坊是最突出的智能合约框架,专为支持智能合约而创建和设计。该框架采用Solidity语言编程,是一个去中心化的平台,可以运行智能合约,不会出现停机,审查,欺诈或第三方干扰的情况。以太坊区块链数据库存储人员之间的交易,涉及智能合约的交易及其源代码。 ### 智能合约的好处 显式编程算法(如去中心化,透明度,防欺诈等)的核心和区块链属性使智能合约成为建立业务关系和执行交易的可靠替代方案。 作为具有集中式商业模式的传统合约的替代方案,以下是智能合约为企业提供的好处: - 直接与客户打交道。智能合约消除了对中间商的需求,并允许与客户建立透明,直接的关系。 - 抵抗失败。由于企业不依赖于第三方,因此没有任何一个人或实体控制数据或金钱。去中心化意味着即使任何个人离开区块链网络,网络也将继续运行而不会丢失数据或完整性。 - 更多信任。业务协议自动和强制执行。此外,这些协议是不可改变的,因此是牢不可破的。 - 减少欺诈。由于智能合约存储在分布式区块链网络中,因此其结果将由该网络中的每个人进行验证。因此,没有人可以强制控制释放其他人的资金或数据,因为所有其他区块链参与者都会发现这一点并将此类尝试标记为无效。 - 成本效益。消除中间人可以免除额外费用,使企业及其客户不仅可以直接进行互动和交易,而且可以在交易中收取更低费用或不收取任何额外费用。 - 保持记录。所有合约交易都按时间顺序存储在区块链中,并且可以与完整的审计跟踪一起访问。 ![](http://blog.hubwiz.com/2018/09/21/smart-contract-Implementation/upd_smart-contract-benefits-for-business.png) ### 智能合约用例 智能合约越来越受欢迎,并已在各种区块链项目中实施。以下是不同行业中智能合约实施的几个最有希望的例子。 **银行业** 银行业可能是智能合约似乎是传统交易模式最重要替代方案的主要行业。通过智能合约支付和贷款,几乎所有其他金融业务实际上都可以是自动化的。 `KYC-Chain`为个人,企业和金融机构实施智能合约。它的核心是允许客户遵守监管规范的机制,例如自动智能检查,以及分享相关文件并通过公证人和机构进行数字化验证。 **卫生保健** 智能合约还可以改善医疗保健。他们可以简化保险试验流程,增加对跨机构数据的访问,并提高患者对保护隐私的信心。身份验证,授权和身份确认仍然是区块链网络上执行的智能合约的未解决问题。`Dentacoin`是医疗行业智能合约的一个例子。它旨在将患者和牙医聚集在一起,以改善牙科护理并使其在全球范围内得到实惠。 **供应链** 智能合约可以提供实时可见性的另一个领域是供应链。智能合约可确保精细的库存跟踪,有利于供应链融资,并降低盗窃和欺诈风险。无论市场类型或销售商品如何,都可以有效地使用智能合约。例如,`Name Bazaar`正在点对点市场中实施智能合约技术,用户可以以域的形式在区块链上交换加密资产。 **法律问题** 传统的解决法律问题和证明文件的模式也让位于智能合约。智能合约消除了公证的需要,不仅提供自动化,无偏见,而且还提供具有成本效益的解决方案。`Nottar.io`说明了使用以太坊区块链公证文件的概念。 **房地产** 你已经在“智能合约工作方式”部分中了解了智能合约如何为房地产工作的最简单概念。当然,现实生活中的项目更加复杂和全面,需要涵盖更广泛的问题和机遇。例如,`FOAM`是房地产的股票市场,它使用技术让用户进行房地产交易,获得融资和基金,以及管理租赁。 **政府** 调查去中心化技术对垄断领域,特别是政府系统的潜在影响可能是最有趣的。澳大利亚公司`Horizo​​n State`正在努力提供投票和其他工具来帮助民主进程。特别是,它打算提供基于区块链的投票生态系统,支持一系列选举类型和投票参数的安全、经济高效的广告运营。其主要目标是在世界各国实现透明,无偏见的投票。 - 物联网网络 智能合约与其他技术交叉的领域,物联网(IoT)就是其中之一。智能合约和物联网的结合非常强大,可以实现跨行业的重大转型,为新的去中心化应用铺平了道路。`Oaken`项目证明了这一点。它提供自主物联网硬件和软件以及区块链技术。总而言之,这些组件使得Oaknen可以与几乎任何设备一起使用来构建物联网网络,从而将其应用于各种现实生活中。 ### 最后的想法 与传统的集中式商业模式不同,智能合约促进了建立在信任基础上的新型商业关系。 通过继承区块链属性,智能合约提供了不变的和分布式存储,这使它们与传统协议区别开来。不可变性和分布式存储允许智能合约成为制定业务协议和执行交易的可靠手段。 区块链技术已经在影响企业。当然,很难——甚至不可能——以动动手指头的方式彻底改变行业的运作方式。重大变化需要时间。然而,区块链和智能合约技术的成功和有前途的使用案例正在为业务的未来奠定基础。 如果你希望进行开始学习区块链开发,那请看我们精心打造的教程: - [java以太坊开发教程](http://xc.hubwiz.com/course/5b2b6e82c02e6b6a59171de2?affid=925golangstudy),主要是针对java和android程序员进行区块链以太坊开发的web3j详解。 - [以太坊入门教程](http://xc.hubwiz.com/course/5a952991adb3847553d205d1?affid=925golangstudy),主要介绍智能合约与dapp应用开发,适合入门。 - [以太坊开发进阶教程](http://xc.hubwiz.com/course/5abbb7acc02e6b6a59171dd6?affid=925golangstudy),主要是介绍使用node.js、mongodb、区块链、ipfs实现去中心化电商DApp实战,适合进阶。 - [python以太坊](http://xc.hubwiz.com/course/5b40462cc02e6b6a59171de4?affid=925golangstudy),主要是针对python工程师使用web3.py进行区块链以太坊开发的详解。 - [php以太坊](http://xc.hubwiz.com/course/5b36629bc02e6b6a59171de3?affid=925golangstudy),主要是介绍使用php进行智能合约开发交互,进行账号创建、交易、转账、代币开发以及过滤器和事件等内容。 - [C#以太坊](http://xc.hubwiz.com/course/5b6048c3c02e6b6a59171dee?affid=925golangstudy),主要讲解如何使用C#开发基于.Net的以太坊应用,包括账户管理、状态与交易、智能合约开发与交互、过滤器和事件等。 - [php比特币开发教程](http://xc.hubwiz.com/course/5b9e779ac02e6b6a59171def?affid=925golangstudy),本课程面向初学者,内容即涵盖比特币的核心概念,例如区块链存储、去中心化共识机制、密钥与脚本、交易与UTXO等,同时也详细讲解如何在Php代码中集成比特币支持功能,例如创建地址、管理钱包、构造裸交易等,是Php工程师不可多得的比特币开发学习课程。 - [EOS入门教程](http://xc.hubwiz.com/course/5b52c0a2c02e6b6a59171ded?affid=925golangstudy),本课程帮助你快速入门EOS区块链去中心化应用的开发,内容涵盖EOS工具链、账户与钱包、发行代币、智能合约开发与部署、使用代码与智能合约交互等核心知识点,最后综合运用各知识点完成一个便签DApp的开发。 转载请标明出处。这里是[原文](http://blog.hubwiz.com/2018/09/21/smart-contract-Implementation/)
88 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传