首页 > 区块链 > 正文

溯源区块链,才能真正了解区块链(一)

分类:新闻云智芯云智芯 2019-12-01 13:25

  

  参考文献:《区块链原理及其核心技术》

区块链的起源:比特币
区块链技术起源于比特币,比特币则是目前最成功的数字货币。 数字货币的概念很好理解,这一概念在1983年被第一次提出,此后随着互联网的大规模发展,其应用场景越来越广泛,社会对于货币数字化的需求也越来越急切。从字面概念来看,相比于物理形式,以数字化形式存在的货币就是数字货币,也可以被称为电子货币。不过,数字货币通常不包括仅在形式上数字化的,由各国银行发行的数字化法币。 
基于这个前提,按照不同的目的,数字货币可以分为两种:虚拟货币和流通货币。 虚拟货币是由其开发者控制的,是一种对价值的数字化体现,并且在特定的社区环境下使用。在设计之初,虚拟货币主要被用于游戏社区,现在其应用更加广泛,但是依然受限于特定环境。另外一种数字货币则用于流通,其初衷即成为价值交换的中介。 根据其是否利用密码学原理,可以分为密码货币和非密码货币,二者区别在于是否利用密码学原理保障了交易的安全性和控制新币的发行。 交易的形式和内容越来越复杂,表征着价值交换的种类越来越丰富,随之而来的一个显著问题就是交易信息本身的价值保护问题。除了交易参与方之外,交易本身应该是透明、对外不可见的。而现存的交易系统通常需要无关第三方的介入,无法实现这一目标。在这种需求下,密码货币诞生了。 密码货币的意义除了将货币形式改变之外,更深层的愿景在于能安全地简化价值交换过程,去除中心化架构中无关第三方的介入。比特币作为密码货币的一个典型实例,其设计思路正是如此。在没有中心机构做背书的情况下,账本数据通过分布式节点进行多处备份,而每次对账本的更新需要付出相应代价,从而阻止恶意节点对账本的破坏。整个系统由奖惩机制驱动,节点付出的合理代价被验证即可获得奖励,驱动系统进行良性循环。
 比特币的核心数据结构——账本
对于任何金融系统来说,最核心最基础的数据结构就是记录交易账本。账本的由来已久,最早可以追溯到1494年,目前主要使用的记账系统是一种复式记账系统,最早由意大利数学家Pacioli制定。复式记账法对每一笔账目同时记录来源和去向,首次将对账验证功能引入记账过程,提升了记账的可靠性。 比特币中的账本也是一种可以对账验证的账本。与物理账本类似,比特币账本可以划分为不同的粒度,交易、区块、区块链(这里是一个狭义含义,仅表示一种数据结构),分别对应于物理账本中的一条记录、包含多个记录的一页、包含多页的完整账本。
 交易—— 一条记录 
比特币系统中的交易记录与物理账本中的交易记录类似,每一条交易记录需要记录输入、输出地址以及转让的数目,简单来说就是类似于账户A转向账户B转移多少比特币的记录。

比特币中交易的输入来源—— UTXO
比特币中交易的输入来源于(之前某笔其他交易中的输出)未被使用的交易输出(UnspentTransaction Output),简称为UTXO,但是UTXO不等同于用户的账户余额。UTXO是不可再分割,参与交易的基本单位。 
UTXO本身不能被拆分,但是可以通过调整输入输出完成指定交易。比如,如果UTXO小于目标值,可以添加多个UTXO作为输入;如果UTXO大于目标值,可以添加自己的地址作为找零输出,完成交易。在每笔交易中,都会消耗已有的UTXO,并产生新的UTXO,价值的转移就是通过UTXO的变化完成的。 UTXO的生产和使用是由密码学中数字签名保障的。产生UTXO即产生交易输出时,需要使用锁定脚本将比特币锁定到指定账户地址中;使用UTXO即产生交易输入时,需要使用有正确签名的解锁脚本(使用用户私钥签署)才能解锁指定地址中的比特币。 区块—— 物理账本中的一页
区块记录一段时间内交易,由一个包含元数据的区块头和许多条交易记录组成。区块头包括了很多数据,如父区块的哈希值,时间戳,Merkle树根(用于有效总结区块中所有交易的数据结构)和区块高度等。 区块头可连接前一区块,使得区块中的每笔交易都是可追踪有据可查的。通过区块头哈希值和区块高度可以区分不同区块,区块的哈希值能够唯一标识区块。 将这些区块根据区块头中的哈希指针链接成一个链就是一个完整的账本了,也就是狭义的区块链。 
比特币系统的运作—— 完成记账的过程
比特币系统的运作机制就是其完成记账的过程。这里需要区分发起交易和交易记账是两个不同的过程。发起交易是用户相关的过程,而交易记账则是货币系统中的过程,记账操作对用户来说是透明的。 在中心化系统中,账本的记账权属于账本所有者,比如,银行的账本由银行控制记账权,商店的账本由商店控制记账权。而在比特币系统中,其目标是去中心化去信任,因此账本的记账权不能控制在某个中心或是单一机构中。 所以比特币采用分布式系统实现去中心化,将记账权下放到分布式系统中的节点中。具体每笔交易由哪个节点记到账本上并不确定,需要各个节点参与竞争选取。这个竞争过程需要各个节点付出一定的代价以防作恶,各节点只有诚实遵守规则付出代价才会受到系统的奖励,恶意破坏系统将会得不偿失。信任就是在这个过程中建立的,在比特币中该过程也可以叫作挖矿,各个节点则被称为矿工
 
在解决记账权从属问题后,应该考虑其他节点应如何同步更新,也就是分布式系统中如何保障一致性的问题。 数据一致性的保障,和记账权的确立一样,也由系统中共识算法决定。共识算法中的最长链规则,使得各个节点在接收到新区块的数据时,必须停止当前的挖矿工作,并立刻对新区块进行验证。否则节点就无法保证自己之后的工作是基于最长链的,其他节点将不认同他挖出的区块。 比特币系统中的消息传播方式由其网络结构决定。比特币中构建的分布式系统是一个松散的系统,系统中的节点以P2P网络连接通信,并且系统中的节点无需身份验证,因此系统中节点可以自由参与或退出。 整个运作机制如下图所示——

资料来源:网络云智芯 整理发布
转载请注明来源和出处
(本文仅出于传递信息的目的,如若侵犯了您的合法权益,请及时联系删除)
本文标签:了解区块链 区块链

上一篇:【区块链早报】俄罗斯实施加密支付禁令可能相当困难

下一篇:“区块链”不是暴富良方 有人投资“马克币”数万元打水漂

猜您喜欢
关于我们联系我们作者投稿APP下载