比特币(bitcoin)诞生于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. 让交易被信任——非对称加密
比特币的基础是加密学,如果不知道一笔钱从哪来,是谁的,谁敢拿它当货币呢?非对称加密从技术上解决了可信性问题,这也是这一类数字凭证被称为”加密货币”的原因。
所谓非对称加密,其实很简单——加密和解密需要一把公钥和一把私钥。
交易的第一件事就是你必须拥有自己的公钥和私钥(任何交易所开户或钱包类网站都会给)。
验证一笔交易是否有效,需要两步:
(1)FROM(谁发送的,包括两部分):
Previous tx:这笔钱的来源账单的id, 验证资金来源;scriptSig:这笔交易的签名,就是把交易用私钥做hash。(2)TO(谁接受,包括两部分):
Value:要发多少;scriptPubKey:支付方的公钥,也就是比特币地址。对于比特币,钱不是支付给个人的,而是支付给某一个地址,没有人知道,那些私钥和地址背后的主人是谁——匿名性。