小说区块链2.0-智能合约

前言

在本文之前已经对区块链1.0–比特币进行简单的阐述,空闲之余对以太坊的相关材料进行整理,最后以通俗的方式讲述区块链2.0相关技术。

关于智能合约的细节说明

  • 比特币的优缺陷:比特币有那些优缺陷
  • 区块链1.0和区块链2.0之间的差异: 区块链1.0和区块链2.0之间的差异
  • 智能合约:什么是智能合约
  • 应用: 基于以太坊的相关应用

简介

  近期国内主流互联网公司纷纷推出基于区块链的相关产品。因此,本文对当下比较火热的区块链2.0技术–智能合约,进行相关整理,并以白话的方式对整个差异进行阐述。因之前对区块链1.0略有所了解,我们在理解智能合约上会更加容易一些。

比特币的优缺陷

  通过之前的文章我们可以知道,比特币作为一种点对点的电子现金系统,相对于传统货币具有如下几个优势:

  • 数字货币:比特币是一种数字货币,通过网络来支付,相比纸币等传统货币具有很大的灵活性。
  • 点对点支付:比特币可以像纸币一样进行点对点支付,无需可信的第三方介入。
  • 防止双重支付:传统的数字货币难以在没有可信第三方的情况下防止双重支付。
  • 交易记录不可更改:交易一旦成功,就永远无法撤销或更改,保障收款方的利益。
      然而比特币也有不少缺点:
  • 资源消耗大:需要大量的计算机进行计算
  • 比特币数量有上限:比特币数量上限为2100w,超过这个数值后,不会产生新的比特币
  • 转账确认时间长:比特币钱包初次安装时,会消耗大量时间下载历史交易数据块。而比特币交易时,为了确认数据准确性,会消耗一些时间,与p2p网络进行交互,得到全网确认后,交易才算完成。

  不可避免,因为比特币的一些缺陷,技术爱好者们,对区块链1.0进行改进,因而就有了2.0版本。

区块链1.0和区块链2.0之间的差异

  相较于区块链2.0,区块链1.0虽然有脚本支持,但是也有不少诟病:

  • 缺少图灵完备。脚本不支持循环语句
  • 价值盲区。UTXO脚本无法为账户额度提供精细的控制。
  • 缺少中间状态。UTXO只能显示已花费或未花费两个状态。
  • 区块链盲区。无法很好的利用UTXO的数据,如随机值,时间戳等来进行更多潜在衍生性的功能活动。

  而区块链2.0因其具有图灵完备的语言以及定位于平台,可以实现支持多种应用的场景,而受到大家的期待。在区块链1.0中,产生一个新块,需要耗费10多分钟,而区块链2.0仅仅需要十几秒就可以生成一个新块。
  在整体上,区块链2.0多了一个账户的概念,并且账户分外部账户和内部账户。外部账户由私钥控制,而内部账户是由合约代码进行控制。
  其账户的数据结构分三部分,分别是交易计数、以太币余额、以及合约代码。从交易数据结构上看,整个交易数据多了如下几个字段。
交易数据结构图
  正是因为这些字段的支持,使得区块链2.0上的矿工维护的不仅仅是交易记录,而是维护的是所有账户的余额。

智能合约

  区块链2.0的一个特性就是支持智能合约。那么什么是智能合约?

  智能合约是由时间驱动,具有状态,获得多方承认的,运行在一个可信、共享的区块链账本之上的,且能够根据预设条件自动处理账本上资产的程序。他的核心优势就是利用程序算法替代人进行仲裁和执行合同。正是因为这种特性使得智能合约变相成为一个分布式的程序。能够对更多潜在的业务场景进行支持。

应用

  目前区块链2.0在金融类场景的应用较多,如广为认知的各种货币。除此之外还有对冲合约、储蓄钱包、遗嘱、资产竞拍、 ICO 代币等;在非金融领域如在线投票、去中心化治理、域名注册、物流、供应链、医药追溯都有很好的支持。

总结

  本文仅仅从表面上,对区块链1.0和2.0进行大致的介绍。如果对具体的技术感兴趣,可以阅读源码以及相关白皮书进行了解。随着技术不断的升级,智能合约也会增加更多的功能和特性,而近一个月区块链3.0技术–EOS,也已经面世,相信区块链技术在可信方面方便人的同时,也创造更多的可能。

文章目录
  1. 1. 前言
    1. 1.1. 关于智能合约的细节说明
  2. 2. 简介
  3. 3. 比特币的优缺陷
  4. 4. 区块链1.0和区块链2.0之间的差异
  5. 5. 智能合约
  6. 6. 应用
  7. 7. 总结
|
Fork me on GitHub