时间:2023-06-18|浏览:191
- 区块链是什么?它在哪里储存? - 为什么交易需要对全球矿工公告?他们是怎么接收并处理这些交易的? - 为什么全球矿工都会争夺新区块加入主链的权利?他们是怎么赢得这种权利的? - 如果某一个矿工A获得了最新区块(例如第20014号)加入主链的权利,但矿工B也想要这个权利并进行干扰,那他会成功吗?整个系统会不会崩溃?
本文会分成若干篇,逐一解答这些问题。本文首先会解答以下问题:
- 区块链是什么?它在哪里储存?
在第一篇文章中,我们简单介绍了区块和链的概念。接下来,我们会更详尽地讲解什么是区块链,以及它是如何储存的。在深入讲解之前,让我们先回忆一下现实世界中完成一笔交易的过程,以及银行在其中扮演的角色。
当我们在淘宝买东西时,每一笔交易都需要我们将资金转账给商家,而因此,银行(我们可以把全球所有的银行都想象成一个中央银行)会介入其中。银行保存了每个人的交易记录,包括交易双方、交易时间、交易金额、付款方和收款方的银行卡号码等等信息。全球各地每时每刻都在进行交易操作,银行会不断获取、验证和记录新的交易。我们可以想象银行记录了非常冗长的交易记录,这也是我们所说的“账本”,银行需要不断执行“记账本”的操作。这也就是为什么全球各地的矿工需要公告交易信息,因为每个矿工都需要查询每个人的交易记录来验证和记录交易。
在去中心化的比特币机制中,每个矿工都会保存一个包含所有已确认交易信息的大账本,这个大账本被称为“区块链”。
每个矿工都会在自己的硬盘上保存一份完整的区块链信息(稍后会做详细解释)。这些区块链的信息包含很多小的账本,每一个小账本是一个区块,它们都有自己的编号。比如上一篇文章中提到的区块的编号20010-20014,它们的编号就是这个区块的唯一标识号码。每个区块都包含了许多交易信息和前一个区块的编号。例如,编号为20014的区块里,保存了编号为20013的前一个区块的编号,这样一来,所有区块就连成了一条链。
可能有些人会问:“为什么每个区块都要保存前一个区块的编号呢?不是只需要指向上一个区块就可以了吗?比如,我指向20014号区块时,可以明显看出一个编号为20013的区块是在其之前的。”
事实上,区块的编号不仅仅是用数字按照递增的顺序表示的。它是用数字和字母通过某些复杂规则生成的。如下是一个真实的区块编号:
00000000839a8e6886ab5951d76f411475428afc90947ee320161bbf18eb6048
如果我得到了这样一串字符,那我就未必知道它前一个区块是什么了。
回到正题,通过这个区块链机制,每个矿工都保存着一个完整的大账本,其中包含许多小账本,每一个小账本就是一个区块。每个区块内部保存了许多交易记录,也包含前一个区块的编号。这样,便形成了一个区块链,即一个巨大的账本。
上述是区块链的主要构成。接下来我们会更加详细地讲述每个区块内部的构成。在讲之前,许多人会问:“我也可以成为一个矿工吗?单凭我的笔记本电脑就可以进行挖矿了吗?”
还有其他问题,比如:
- 区块编号是如何生成的? - 创世区块是什么? - 区块内部除了交易信息之外还有什么? - 为什么每次矿工解答问题需要花费10分钟? - 我的交易一定会被打包进504662号区块吗?
上述所有问题都将在后续文章中逐一解答。如果在本文中仍然有未明白的地方,请留言提问,我们会尽力回答您的问题。
用戶喜愛的交易所
已有账号登陆后会弹出下载