小说区块链1.0-比特币

前言

近一年,随处可见各种新闻媒体甚至我隔壁的阿姨都在讨论区块链,于此同时,我们也看到比特币创造的神话。数字的虚拟货币的价值这么巨大,从当初的无人问津到现在的一币千金。

关于比特币的细节说明

  • 矿工的工作流程:矿工的生命周期
  • 工作量证明:矿工是如何挖到新块
  • 交易: 矿工之间的交易是怎么样的
  • 激励: 如何促使旷工这么积极的干活
  • 其他: 区块链1.0的应用方向

简介

  最近出于好奇,对网上比特币的信息弄的云里雾里,于是开始对比特币的相关原理进行深入研究。除了对比特币的叹服之外,更多的是对中本聪的钦佩,对人性的洞察力。
  在阅读下文之前,极力推荐大家看一下比特币的白皮书,通过白皮书,能够快速大致的了解,比特币是什么样的东西。如果感觉看英文太麻烦,本文将以通俗易懂的方式,来阐述区块链的1.0版本–比特币。
  区块链:区块链(Blockchain)是由节点参与的分布式数据库系统。不可更改,不可伪造,也可以将其理解为账簿系统(ledger)。其具有完整比特币区块链的备份,记录了其代币(token)的每一笔交易。通过这些信息,我们可以找到每一个地址,在历史上任何一点所拥有的价值。
  比特币是电子货币,而区块链只是比特币系统用来记录交易信息的账簿,其具有如下特征:

  • 去中心化。由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。
  • 开放性。系统是开放的,除了交易各方的私有信息被加密外,区块链的数据对所有人公开,任何人都可以通过公开的接口查询区块链数据和开发相关应用,因此整个系统信息高度透明。
  • 自治性。区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全的交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
  • 信息不可篡改。一旦信息经过验证并添加至区块链,就会永久的存储起来,除非能够同时控制住系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。
  • 匿名性。由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方自己产生信任,对信用的累积非常有帮助。
      从整体上看比特币的产生、消费、流转,都离不开比特币矿工的支持。下面讲着重讲解矿工的工作流程。

矿工的工作流程

  挖矿即不断接入新的Block延续Block Chain的过程。
矿工分布图
  从图中我们可以看出整个区块链网络,有很多角色组成。而最主要的角色是矿工。挖矿为整个系统的运转提供原动力,是比特币的发动机,没有挖矿就没有比特币。
  挖矿有三个重要功能:

  • 发行新的货币(总量达到之前)
  • 维系货币的支付功能
  • 通过算力保障系统安全
      从下图我们便可以直观的感受到一个矿工的生命周期。
    矿工工作内容图

工作量证明

  工作量证明过程主要含如下四个步骤:

  • 将一段时间内的交易放入一个区块中
  • 通过不断改变区块中的随机数,来尝试碰撞出一个符合要求的区块散列值
  • 一旦找到符合要求的散列值,即认为完成了一次工作量证明,该区块中的交易将被记录在账本中
  • 将上一个区块的散列值放入下一个区块中,形成一个链条(区块链)

  而第一个计算出符合要求的区块链散列值的矿工,也就意味着他挖到了新的比特币。

交易

  在比特币网络中,交易不像传统的转账方式,将钱和人严格绑定。更多的是提出问题和回答问题的过程。提出问题相当于发出一定数量的比特币,而只有回答正确这个问题的人,才能获得这个比特币。所以在比特币转账中,转账发起人,要注明被转账人的公钥,而只有被转账人的私钥才能解开这个问题。如下图,就是一个具体交易过程所采用的验证方式和过程。

交易验证图
  在交易的过程中,除了填写被转账人的公钥hash值外,还要证明转账人的钱是来源哪里,并且要证明这些钱是合法的,这笔交易才会生效。
UTXO图

激励

  从以上几个方面,我们可以知晓,矿工在区块链中扮演的地位。然而为什么矿工会这么主动的做这些事情?
  其实,矿工在挖矿的过程中,一旦矿工计算出一个新块的hash值,他就会获得比特币。此外每一笔交易,都会有交易费,而这个交易费,就归属于矿工。一个区块存,存储的是这一个区块时间的交易记录。矿工只有不断的去计算出hash值,才能获得更多的比特币。另外为了能获得更多的交易费,矿工节点倾向于选择交易费高,且数据量占用小的交易。

其他

  目前在区块链方面的应用已经有不少。如:

  • 物流追溯
  • 版权保护:数字制品的每次交易都记录到区块链里,做为正版证明。由于纪录不可修改,用户私钥的保密性,完全可以证明用户对该数字产品的拥有权,使用权,分享权。
  • 智能合约:比特币可以在一定程度上实现智能合约。此时,接收比特币的收款地址将是一个合约脚本的散列值,而不是公钥的散列值;而验证合约地址发出的交易,需要执行合约的脚本内容。
  • 分布式DNS解析服务器
      以上的这些应用都是围绕区块链不可篡改的特性,进行应用,而区块链1.0也有其弊端,如需要耗费巨大的计算资源。因此在下文,笔者会以通俗的方式阐述区块链的升级版本,区块链2.0–以太坊.
文章目录
  1. 1. 前言
    1. 1.1. 关于比特币的细节说明
  2. 2. 简介
  3. 3. 矿工的工作流程
  4. 4. 工作量证明
  5. 5. 交易
  6. 6. 激励
  7. 7. 其他
|
Fork me on GitHub