美文网首页前端技术
【初探区块链技术】智能合约

【初探区块链技术】智能合约

作者: 一俢 | 来源:发表于2019-05-25 10:20 被阅读3次

什么是智能合约

智能合约是运行在区块链网络的特定代码,用尼克·萨博(Nick Szabo,概念的提出者)的话讲:“一个智能合约是一套以数字形式定义的承诺(promises),包括合约参与方可以在上面执行这些承诺的协议。”

承诺

承诺是指合约参与方同意的权利和义务,这些承诺定义了合约的本质和目的。

数字形式

数字形式意味着合约不得不写入计算机可读的代码中。这是必须的,因为只要参与方达成协定,智能合约建立的权利和义务,是由一台计算机或者计算机网络执行的。

协议

协议是技术实现,在这个基础上,合约承诺被实现,或者合约承诺实现被记录下来。选择哪个协议取决于许多因素,最重要的因素是在合约履行期间,被交易资产的本质。

工作原理

基于区块链的智能合约构建及执行分为如下几步:

  • 多方用户共同参与制定一份智能合约;
  • 合约通过P2P网络扩散并存入区块链;
  • 区块链构建的智能合约自动执行。

“多方用户共同参与制定一份智能合约”的过程:

  • 首先用户必须先注册成为区块链的用户,区块链返回给用户一对公钥和私钥;公钥做为用户在区块链上的账户地址,私钥做为操作该账户的唯一钥匙;
  • 两个或两个以上的用户根据需要,共同商定了一份承诺,承诺中包含了双方的权利和义务;这些权利和义务以电子化的方式,编程机器语言;参与者分别用各自私钥进行签名;以确保合约的有效性;
  • 签名后的智能合约,将会根据其中的承诺内容,传入区块链网络中。

“合约通过P2P网络扩散并存入区块链”的过程:

  • 合约通过P2P的方式在区块链全网中扩散,每个节点都会收到一份;区块链中的验证节点会将收到的合约先保存到内存中,等待新一轮的共识时间,触发对该份合约的共识和处理;
  • 共识时间到了,验证节点会把最近一段时间内保存的所有合约,一起打包成一个合约集合(set),并算出这个合约集合的Hash值,最后将这个合约集合的Hash值组装成一个区块结构,扩散到全网;其它验证节点收到这个区块结构后,会把里面包含的合约集合的Hash取出来,与自己保存的合约集合进行比较;同时发送一份自己认可的合约集合给其它的验证节点;通过这种多轮的发送和比较;所有的验证节点最终在规定的时间内对最新的合约集合达成一致;
  • 最新达成的合约集合会以区块的形式扩散到全网,如下图所示,每个区块包含以下信息:当前区块的Hash值、前一区块的Hash值、达成共识时的时间戳、以及其它描述信息;同时区块链最重要的信息是带有一组已经达成共识的合约集;收到合约集的节点,都会对每条合约进行验证,验证通过的合约才回最终写入区块链中,验证的内容主要是合约参与者的私钥签名是否与账户匹配。

应用场景

  • 数字身份
  • 供应链
  • 证券
  • 土地所有权记录

问题和风险

  • 区块链和外部世界之间的互动都需要受信任的服务。但是尽管技术上说是可行的,却可能歪曲去中心化系统的目标;
  • 区块链没办法解决风险和回报之间的关联;
  • 量子计算对区块链的威胁;

相关文章

  • 智能合约是什么?它真的安全吗?

    今天来说下因为区块链技术而火起来的智能合约。 1、为什么说智能合约是因为区块链技术火起来的呢? 因为智能合约概念的...

  • Fabric链码开发

    智能合约 随着区块链技术的应用和发展,区块链几大关键技术正在经历快速演进,如共识算法、智能合约、跨链事务、隐私保护...

  • 【初探区块链技术】智能合约

    什么是智能合约 智能合约是运行在区块链网络的特定代码,用尼克·萨博(Nick Szabo,概念的提出者)的话讲:“...

  • 《区块链:技术驱动金融》

    《区块链:技术驱动金融》:解密区块链,用技术重构金融世界。 《区块链:技术驱动金融》从数字货币及智能合约技术层面,...

  • 《区块链:技术驱动金融》

    《区块链:技术驱动金融》:解密区块链,用技术重构金融世界。 《区块链:技术驱动金融》从数字货币及智能合约技术层面,...

  • 《区块链:技术驱动金融》

    《区块链:技术驱动金融》:解密区块链,用技术重构金融世界。 《区块链:技术驱动金融》从数字货币及智能合约技术层面,...

  • 《区块链:技术驱动金融》

    《区块链:技术驱动金融》:解密区块链,用技术重构金融世界。 《区块链:技术驱动金融》从数字货币及智能合约技术层面,...

  • 《区块链:技术驱动金融》

    《区块链:技术驱动金融》:解密区块链,用技术重构金融世界。 《区块链:技术驱动金融》从数字货币及智能合约技术层面,...

  • 以太坊/区块链 学习资源汇总

    以太坊 游戏化学习Solidity智能合约 区块链技术博客TryBlockchain 智能合约Solidity编程...

  • 我的推文‖区块链:技术驱动金融

    《区块链:技术驱动金融》: 1、解密区块链,用技术重构金融世界。 2、从数字货币及智能合约技术层面,解读了区块链技...

网友评论

    本文标题:【初探区块链技术】智能合约

    本文链接:https://www.haomeiwen.com/subject/qwrazqtx.html