比特币

何为比特币?

比特币(Bitcoin)是世界上首个去中心化的数字货币,也被称为加密货币。它是一种基于密码学原理构建的货币形式,不依赖于任何中央机构或政府,而是由用户和矿工组成的全球性点对点网络运作。

基本特点

  • 去中心化:比特币不受中央银行或政府的控制,交易记录在区块链上,每个参与者都可以拥有一份完整的交易记录副本。
  • 匿名性:虽然比特币交易是公开的,但交易参与者的身份信息是匿名的,仅通过地址进行识别。
  • 有限供应:比特币的总供应量被设定为2100万个,通过复杂的算法逐渐减少以控制通胀。

技术基础

  • 区块链:比特币的交易记录在区块链上,这是一种不断增长的数据链,每个区块包含一批交易信息并通过密码学链接。
  • 加密算法:比特币使用SHA-256哈希函数来确保数据的完整性和安全性。
  • 数字签名:使用椭圆曲线数字签名算法(ECDSA)来验证交易的合法性。

比特币“从何而来?

比特币的诞生源于2008年全球金融危机之后,人们对传统金融体系的不信任。中本聪(Satoshi Nakamoto),比特币的创始人,在2008年10月31日发布了比特币白皮书,提出了一个新的货币系统概念。

发行机制

  • 挖矿:比特币通过一个称为“挖矿”的过程产生。矿工通过解决复杂的数学问题(工作量证明),竞争获取记账权,从而获得新产生的比特币作为奖励。
  • 交易记录:每笔比特币交易都会被记录在区块链上,确保交易的透明度和不可篡改性。

比特币的特点

  • 无需中介:比特币交易不需要银行或金融机构的参与,减少了交易费用和时间。
  • 全球流通:比特币可以在任何地方流通,只要有网络连接,无国界限制。

运行机制

区块链结构图

区块链

区块链是比特币的核心技术,每个区块包含一批交易信息,通过哈希链接在一起。区块的哈希值是区块唯一标识。

区块结构

区块链工作原理

比特币交易过程

去中心化电子记账系统

问题:

  1. 账单以谁的为准? 当A和B同时交易时,如何确定交易顺序?

    • 解决方案:通过工作量证明机制(PoW),矿工竞赛决定记账顺序。
  2. 为什么要记账? 为什么要在自己电脑上记录别人的交易?

    • 激励机制:记账有奖励:
      • 手续费:交易者支付一定的手续费给记录交易的矿工。
      • 打包奖励:每10分钟打一个包,获得50个比特币的奖励,每4年减半。

数学计算:

50∗6∗24∗365∗4∗[1+1/2+(1/2)^2+…]=2100万

因此,运行区块链只需要准备2100万的打包奖励费用。

工作量证明——挖矿

哈希函数:

  • 把任意长度的输入通过散列算法变换成固定长度(256位)的输出,常见的哈希算法是SHA256。
  • 哈希计算正向容易,反向计算困难至极。

原理:

工作量证明原理

应用层

  • 钱包:比特币钱包用于存储用户的私钥和地址,管理交易。
  • 交易:用户可以通过钱包发送和接收比特币。

激励层

  • 挖矿奖励:比特币通过奖励给创建新区块的矿工的方式产生,奖励大约每四年减半。目前每10分钟产生一个新区块,奖励12.5个比特币给矿工。
  • 交易费用:所有交易都需要支付手续费给记录区块的矿工,交易费不足的交易会被矿工拒绝。

共识层

  • 拜占庭将军问题:在分布式网络中如何达成共识,避免少数节点作恶。
  • 工作量证明机制(Proof of Work, POW):通过竞赛解决数学难题,获取记账权。
  • 挖矿:SHA256(SHA256(Version+HashPreBlock + Merkle_root + Timestamp + Bits + Nonce)) ≤ 难度目标Bits

“双花”问题

如何保证每一笔数字现金只被花掉一次,避免重复支出?

  • 解决方案:区块链为每一笔交易加入时间戳,使用UTXO模型。

51%攻击

51%攻击并不能修改数据,但可以进行“双花”攻击。

为什么区块10分钟发布一次

  • 原因:区块间隔时间短会导致交易少、浪费大、网络延迟影响大,容易分叉。

如何保证区块发布时间保持在10分钟

  • 难度调整:每完成2016个块,根据出块平均时间调整一次难度。

网络层

  • P2P网络:点对点技术,没有中心服务器,依靠用户群交换信息,具有耐攻击、高容错的优点。

数据层

  • 非对称加密
    • 公钥和私钥成对出现,公钥公开,私钥保密;
    • 私钥加密(签名)的信息只有对应的公钥才能解密(验签);
    • 公钥加密的信息只有对应的私钥才能解密。
    • 公钥加密,私钥解密;
    • 私钥签名,公钥验签。