从比特币说起

in #cn6 years ago

提到区块链不得不说到比特币,比特币是世界上第一个成功的区块链应用,由于比特币的成功人们才开始关注它背后的技术区块链。

2008年的时候,中本聪发表了《比特币:一种点对点式的电子现金系统》的论文。2009年,他发布了首个比特币系统,正式启动了比特币金融系统。2010年,中本聪神秘消失,他将这个项目交给了社群的其他成员。

中本聪的伟大之处是他将区块链技术应用在了金融系统,并发明了比特币世界上第一个区块链资产,建造了一个面向全球世界银行。

比特币对全球的金融的颠覆已经成为事实,比特币代表了数十年密码学和分布式系统的巅峰之作,这是一个独特而强大的系统,它不只是货币,更重要的是一个去中心化的点对点网络,一个公共的交易账簿,一个去中心化的数学和确定性的货币发行系统,一个去中心化的交易验证系统。

在前面的章节里,我们已经学习了区块链中的核心技术分布式、共识机制、密码学、P2P网络,这个章节我们通比特币学习一下怎样通过交易、区块、共识机制、P2P网络搭建一个区块链的基本架构。

Snipaste_2018-07-21_09-46-13.png

在比特币系统中,有三个非常重要的数据结构,分别是交易、区块和区块链。

交易是最一个很重要的概念,其它都是为了确保交易可以被生成、能在网络中得以传播和通过验证,并最终添加入交易总账簿中。交易的本质是数据结构,为了方便对交易记录进行管理,设计了一个容器叫区块。区块是存储了大量交易信息数据结构。区块链则是一个从后向前连接的数据结构,可以被存储在数据中,在比特币中使用了Google的LevelDB数据库存储区块链元数据。区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。

为了便于理解我们使用集装箱来进行类比。我们可以将交易理解为商品,而区块就是箱子,方便比特币系统进行交易数据的管理,区块链则是一节节连接在一起的集装箱。与集装箱不同的地方是区块之间首尾相连,而不是上下堆砌。区块被从后向前有序地链接在这个链条里,每个区块都指向前一个区块。

区块链经常被视为一个垂直的栈,第一个区块作为栈底的首区块,随后每个区块都被放置在其他区块之上。用栈来形象化表示区块依次堆叠这一概念后,我们便可以使用一些术语,例如:“高度”来表示区块与首区块之间的距离;以及“顶部”或“顶端”来表示最新添加的区块。

交易、区块和区块链就构成了区块链世界里的基本数据结构即比特币的总账簿。有了交易、区块及区块链这些概念,如果只把区块链当成一个数据库来看,使用这些概念我们就可以构造一个区块链系统了。我们可以用交易的数据结构存储交易数据(支票、博客等),通过区块打包交易数据,最后通过计算区块头哈希将区块连接起来,这就是我们通常说的区块链。

智能合约与事务都是存储在区块链上,与事务不同的地方是,智能合约是将代码存储在区块链上。由于比特币是非图灵完备的公链,不涉及智能合约,后面我们在讲其它公链再详细介绍。

由于区块链是去中心化的,怎样保证系统安全,防止欺诈交易,避免双重支付,双重支付是指多次花费同一笔比特币,这里面就引入了区块链技术里最重要的概念共识机制。

在比特币系统使用的是工作量证明机制(POW)。它的工作原理有点类似打麻将,四个矿工自发的组织在一起,通过掷骰子(碰撞一个随机数)确定谁来记账,谁获得了记账权谁就得到了相应的奖励,其它三个矿工对这笔账目进行确认。

为了保证系统的安全,共识机制在交易验证、交易打包到区块、区块组装到区块链以及选择那一条链的过程中都发挥了重要的作用,这也有效保证了系统从产生交易到上链整个过程的安全。

至此,一个区块链系统的基本架构我们就讲完了。当然为了保证系统不存在任何中心化服务器,我们还需要依托于P2P网络架构。由于P2P网络具有天生的伸缩性、去中心化和开放的特点,因此P2P也是区块链技术的基石。

Sort:  

Hi ~ I'm a robot of januschoi.I just upvoted your post!
Please come visit me here: https://steemit.com/@januschoi
Thanks so much~!!

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63592.23
ETH 2551.58
USDT 1.00
SBD 2.75