比特币是世界上第一个通过密码学,而非中央银行发行的电子加密货币。而区
块链是比特币使用的一种特殊的数据库,是比特币存在的基础。任何人都可以
架设服务器,加入区块链网络,成为一个节点。本文主要作为一篇普及贴,简
单的来探讨一下技术原理。
区块链大火,让我等吃瓜群众猝不及防。虽然网上文章铺天盖地,比如:“一图
看懂”系列,但仍然鸡同鸭讲,莫衷一是,并不知其所以然,顶多知道是个同步
账本。
作为一篇学习总结,我希(尽)望(力)本文能作为一篇普及贴,也能让其他人
看懂。所以这里不会深入探讨技术原理,大佬们请绕过。
比特币是世界上第一个通过密码学,而非中央银行发行的电子加密货币。因为其
发行总量固定,无中央银行干预,让许多”民主人士“认为这是极为先进的民主
思想技术革命。
然而去中心化的系统带来了一些新问题:
没有政府背书和资产担保,货币信任、交易真实性成了问题。
每个人都有权了解这个世界在发生什么,信息一旦变化,所有数据库需
要同步更新,平等对称。
没有集中决策,为了信息对称,如何达成共识,变成了难题。
大问题“交易信任”、“数据对称”、“共识达成”。
解决办法“非对称加密”、“P2P网络”、“共识机制”。
中本聪用以上三种方法,构架出了区块链技术结构,让比特币的发行流通构想得
以实现。
诞生于2008年的一篇论文《A Peer-to-Peer Electronic
Cash System》并规定了一些基础协议:
图:比特币协议特点
比特币总量为2100万枚;
平均10分钟诞生一个区块;
被写入区块的交易按照手续费高低排优先级;
区块的大小只有 1MB,一笔交易大概是500字节左右,因此一个区块
最多只能包含2000多笔交易;
挖到新区块的矿工将获得奖励,一开始(2008年)是50个比特币,然
后每4年减半,目前(2018年)是12.5个比特币;
一笔交易确认需要等待6个区块。
比特币网络每10分钟,最多只能处理2000多笔交易,换算一下,就是处理速度为3
~7笔/秒。
也就是说,比特币区块链每秒最多只能处理7笔交易,要是交易数据再大点,可能
连7笔都达不到。而支付宝一秒处理12万笔交易,这本应在1秒处理的12万笔交
易,比特币需要10小时。
每4年奖励减半,那么到了2140年,矿工将得不到任何奖励,比特币的数量也将停
止增加。这时,矿工的收益就完全依靠交易手续费了。
这些数据是怎么确定的,众说纷纭。比如:一个区块链的大小是1MB,中本聪在设
计之初也并未预料到会发展到今天的规模,其本身是一个构想的实验。很多数据
并未验证,甚至可以说是拍脑袋定的。
比特币的基础是加密学,如果不知道一笔钱从哪来,是谁的,谁敢拿它当货币
呢?非对称加密从技术上解决了可信性问题,这也是这一类数字凭证被称为”加
密货币”的原因。
所谓非对称加密,其实很简单——加密和解密需要一把公钥和一把私钥。
交易的第一件事就是你必须拥有自己的公钥和私钥(任何交易所开户或钱包类网
站都会给)。
(1)FROM(谁发送的,包括两部分):
1. Previous tx:这笔钱的来源账单的id, 验证资金来源;
2. scriptSig:这笔交易的签名,就是把交易用私钥做hash。
(2)TO(谁接受,包括两部分):
1. Value:要发多少;
2. scriptPubKey:支付方的公钥,也就是比特币地址。
对于比特币,钱不是支付给个人的,而是支付给某一个地址,没有人知道,那些
私钥和地址背后的主人是谁——匿名性。
是比特币使用的一种特殊的数据库,是比特币存在的基
础。任何人都可以架设服务器,加入区块链网络,成为一个节点。
图:区块链结构示意图
区块链由一个个区块(block)组成,区块很像数据库的记录,每次写入数据,就
是创建一个区块。每个区块包含两个部分:
其中包含:
1. 生成时间;
2. 上一个区块的 Hash;
3. 区块体的Hash。
其中比较重要的概念是“Hash”,所谓 Hash 是对任意内容,计算出一个长度相
同的特征值。而且保证,只要原始内容不同,对应的 Hash 一定是不同的,比特
币区块用的SHA256加密算法。
1. 每个区块的 Hash 都是不一样的,通过 Hash 标识区块。
2. 如果区块的内容变了,它的 Hash 一定会改变。
图:区块结构示意图
把网络上待确认的交易写入新区块,并获得比特币奖励的过
程。
“矿工”是用GPU等硬件设备进行数据计算的一群人,正是这群人,把交易者的数
据一笔一笔记入帐中。“挖矿”的机器叫“矿机”;成规模“挖矿”的场地
叫“矿厂”。
回顾挖矿历史,比特币挖矿总共经历了以下五个时代:
图:矿厂
“挖矿”道理其实很简单,想要挖到新区块必算出符合要求的哈希值。你可能会
有一个疑问,计算一个哈希值为什么这么难?