早在20世纪90年代Nick Szabo就首次描述了智能合约的概念。当时,他对智能合约定义为:能够将协议与用户界面相结合的一种工具,从而对计算机网络进行规范化和安全加固。Szabo还探讨了涉及到合同协议等各个领域中,智能合约的潜在用途,例如信用体系、支付流程和版权管理。 在加密货币领域,我们将智能合约定义为在区块链上运行的应用或程序。通常情况下,它们为一组具有特定规则的数字化协议,且该协议能够被强制执行。这些规则由计算机源代码预先定义,所有网络节点会复制和执行这些计算机源码。 实质上,区块链智能合约支持创建无需信任的协议。这意味着执行合约的双方可以通过区块链做出承诺,而无需相互了解或相互信任。合约内容经双方确认后,如果没达到触发条件,合约将不会被执行。除此之外,使用智能合约可以消除对中介的需求,从而显著降低运营成本。 多年来,虽然比特币协议也一直支持智能合约,但智能合约却经以太坊联合创始人Vitalik Buterin之手而大受欢迎。值得注意的是,每个区块链网络可能会提供完全不同的智能合约。 通俗的意义 智能合约是指一份能自动执行本需要手动才能完成任务的协议。智能合约就是任何能自行执行部分功能的协议。例如,一份能自动计算合同当事人待付金额,并安排支付这笔金额的合约。智能合约将减少协议执行过程中的人工干预。 智能合约这个术语至少可以追溯到1995年,是由多产的跨领域法律学者尼克·萨博(Nick Szabo)提出来的。他在发表在自己的网站的几篇文章中提到了智能合约的理念。他的定义如下:“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。” 那么智能合约又是如何运行的呢? 智能合约一般具有值和状态两个属性, 代码中用If-Then和What-If语句预置了合约条款的相应触发场景和响应规则, 智能合约经多方共同协定、各自签署后随用户发起的交易(Transaction, Txn)提交, 经P2P网络传播、矿工验证后存储在区块链特定区块中, 用户得到返回的合约地址及合约接口等信息后即可通过发起交易来调用合约.矿工受系统预设的激励机制激励, 将贡献自身算力来验证交易, 矿工收到合约创建或调用交易后在本地沙箱执行环境(如以太坊虚拟机)中创建合约或执行合约代码, 合约代码根据可信外部数据源(也称为预言机, Oracles)和世界状态的检查信息自动判断当前所处场景是否满足合约触发条件以严格执行响应规则并更新世界状态.交易验证有效后被打包进新的数据区块, 新区块经共识算法认证后链接到区块链主链, 所有更新生效。 智能合约有什么用呢 作为可编程代码,智能合约具有高度的可定制化,可以通过多种不同方式进行设计,提供不同的服务和解决方案。 作为去中心化和自动执行的程序,智能合约可以提高透明度并降低运营成本。根据不同的实施情况,他们还可以提高执行效率并减少商业运营费用。 比特币平台非常适合处理比特币交易,但在计算能力方面非常有限。在比特币交易的脚本中实现富逻辑的能力非常有限。比特币可能实现的一个逻辑是需要多个签名者在支付前签署交易,例如支票中需要两个签名人。然而,要在比特币区块链上实现智能合约,需要对挖矿方式和挖矿激励方案进行重大改变。具体请参阅比特币简介。 侧链,即连接到比特币主区块链上的区块链,它可以实现智能合约功能:通过让不同的区块链与比特币并行运行,并支持在比特币的主链和侧链之间跳转,侧链可用于执行逻辑。 NXT 是一个公有区块链平台,其中包括一系列目前正在运行的智能合约。然而它不是图灵完备的,这意味着你不能为所欲为,而必须使用现有的模板。 以太坊是一个公有区块链平台,是目前最先进的支持智能合约的区块链。以太坊采用“图灵完备”的编码系统,理论上你可以将任何逻辑放入以太坊智能合约中,并由整个网络运行。以太坊有防止滥用的机制,你需要通过支付“ETH”代币来支付算力,这些代币用于支付给运行代码的矿工。具体请参阅以太坊简介。 夸克区块链使用的也有智能合约,夸克区块链是一个可开放的公共区块链,类似互联网基础设施,有底层协议核心区块链技术,使用与比特币安全强度一致加密算法,支持第三方应用开发,与其他类似激励机制项目,其落地场景就是想利用区块链技术去中心化的共识方式,在社交领域建立一个为社交贡献定价,并提供权益回报的网络,使内容生产者、投资者、筛选者和生态建设者都能得到合理的激励与回报。并且落地产品已经快开发完成。场内场外,落地APP,项目白皮书,区块链浏览器,对接主流交易所,主链开发,基金会发起,海内外数字牌照上有一整套技术解决方案。 —- 编译者/作者:链家子 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
夸克区块链智能合约就是一张合同吗?
2020-03-10 链家子 来源:区块链网络
LOADING...