《比特币白皮书》解读(二)

比特币的流通

按常理来说,货币发行是货币流通的起点,先发行,才可以进行交易。但是中本聪在论文里却是先讲交易机制,再提比特币的产生,这当然是有原因的,且先不表,我们先跟着中本聪的思路来理解一下比特币的交易机制。

说到电子货币的交易,中国大部分年轻人基本都已步入无现金时代,对电子货币肯定不陌生,日常用度全都能通过扫码解决。不同于纸币实实在在的物体,我们对电子货币的感知大概就是打开手机银行或支付宝看到的一串数字:如果买个Switch,账户余额会减少2000块,而等到工资到账,余额又会随之上涨。但是我们没有感知到的是,为了保证这一串数字的准确性和安全性,这个承担信任的第三方(银行或者支付宝等)需要付出的巨大代价。

而没有中心化机构担保的比特币作为交易媒介和支付手段,如何确保交易的准确性和安全性呢?简单来说,就是通过加密算法确保交易信息不可被篡改,通过时间戳来确保一笔钱不会被花两次(double-spending, 也称为双花)。

交易过程

下图是中本聪设计的比特币的交易过程,在当前的拥有着(Owner 2)将这笔资金交易给下一个拥有者(Owner 3)时,会同时记录上一笔交易,也就是Owner 1 将其交易给 Owner 2 时的发生的交易。这样每一笔交易都可以向上不断追溯,保证交易是价值的转移,而不是信息的变更。

image.png

Owner 2向Owner 3转账,Owner 2是价值的损失方,如何保证这笔转账真的是由Owner 2本人发起,而不是其他人(例如Owner 3)冒名呢?这就涉及到比特币交易的非对称加密机制了。非对称加密是密码学的一种算法,它需要一对密钥,一个公开密钥和一个私钥,一个用来加密,另一个用来解密还原信息。回到上面这张交易图,Owner 2想要转账给Owner 3,需要用Owner 2的私钥进行数字签名,而这个数字签名只能够通过Owner 2的公钥进行解密和校验,验证通过就可以证明该交易是由Owner 2的私钥持有者发起,从而确保交易的真实性。比特币钱包的地址就是公钥,而私钥由每个用户自己妥善保存,一旦丢失或泄露即等同于钱包遗失。

补充知识点:

  • Hash:哈希算法,又称散列算法,是一种从任意文件中创造小的数字“指纹”的方法。与指纹一样,Hash就是一种以较短的信息来保证文件唯一性的标志,这种标志与文件的每一个字节都相关,而且难以找到逆向规律。因此,当原有文件发生改变时,其标志值也会发生改变,从而告诉文件使用者当前的文件已经不是你所需求的文件。因为其不可逆性,经常用于给高安全系数的内容进行加密保护。1比特币用到的是SHA-256算法。_

如何防止双花

第二个问题是怎么确保A转给B的这笔钱之前没有转给其他人,也就是double-spending。这就涉及到了比特币的另外两个典型机制:UTXO和时间戳。

UTXO:比特币到底怎么存在

从广义上来看,比特币跟其他的钱在功能层面上其实是一致的。当你看到你的比特币钱包里有50个比特币的时候,你可以认为是你的账户上存有50个币,你可以用它消费,用掉10个还剩40个,就跟银行账户里的钱一样,只是数字的加减游戏。这样理解没有问题,但是,如果我们还想要进一步理解比特币系统的运行机制,就得抛掉这个常规理解了。

对于比特币的“币”,中本聪是这样定义的:

We define an electronic coin as a chain of digital signatures.

这句话理解起来不太容易,跟我们常规对货币或者电子货币的概念认知非常不同。我们先来看看比特币的记账方式。

常规交易的记账方式:如果A和B之间发生一笔交易,A需要支付100元给B,得到A的支付确认之后,A的账户-100,而B的账户+100元。想象一下这时如果并发多笔交易,同时有10个人给B转账,那么B账户的变更就只能串行起来:+100 -200 +300 +100 …,一笔交易入账才能进行下一笔交易。

而比特币记录的交易信息是这样的:钱包A(A的公钥)向钱包B(B的公钥)转账3.1415个比特币。这时如果有多个对B账户的转账并行,记账完全可以独立并行。

前面提到每一笔交易会记录一串签名,标识了这笔钱的来龙去脉,而这一串加密的交易信息则可被看作一个“币”。比如上面这个例子中,B所得到的这个币的金额就是3.1415。那我怎么才能知道我一共有多少钱呢?这个余额到底以什么样的形式存在?这里需要引入一个新的名词来说明——UTXO。

UTXO是 unspent transaction output 的缩写,顾名思义,也就是未花费的交易输出。还是上面这个例子,这笔交易被记录,也就是B得到一个UTXO,数量是3.1415,如果B再给C转账2个比特币,这时,这个3.1415的UTXO就会转为input被删除,同时又生成两个新的UTXOs,一个UTXO为2,到了C的钱包,另一个为1.1415,作为找零回到B的钱包。所以不断的交易往来之后,一个账户(公钥)所拥有的UTXOs总额可被视为这个钱包里的余额,这个余额大小是否够支付一次交易会在交易时进行判断。

时间戳的区块链

如果我们想知道是否有交易未被记录,唯一的办法就是记录所有的交易。例如传统是由银行记录所有交易,由银行来决定哪笔交易先发生就生效。失去银行这个记账的第三方,比特币使用的是全网广播的机制来记录交易。也就是说一旦钱包A向钱包B转账3.1415个比特币的交易完成,就会向全网发送一条广播,抢到记账权的节点会验证这条交易的有效性,也就是确认这笔资金之前是否已经被花出去,然后进行记录。

A账户余额10个币,同时向B和C转账10个币,如果A往B转账的交易先被记录,那么A向C转账的交易即使广播出去,也不会被记录。

比特币的每笔交易都是任意点对点的,为了更好地记录所有交易,比特币系统创造了区块这个概念。可以将区块链想象成被时间串起来的一个个盒子,每个盒子里装的是一定时间内(大约十分钟)全网每一笔交易的信息。每装满一个区块,就会将区块交易打包成一个带有时间戳的hash进行广播,然后紧随其后生成新的区块。

Question:怎么确保在全球范围内使用统一的时间来记录交易发生的先后顺序?

image.png

总结

回顾一下整个交易流程,通过非对称加密,确保交易双方点对点的交易是真实不可被篡改的;通过区块链的记账,确保每一分钱都可被溯源;通过UTXO和时间戳确保同一笔钱不会被花两次。由此,比特币以信息化的方式成功模拟了真实世界中价值转移的过程。

  1. 简书:《哈希算法总结》
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,723评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,003评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,512评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,825评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,874评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,841评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,812评论 3 416
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,582评论 0 271
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,033评论 1 308
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,309评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,450评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,158评论 5 341
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,789评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,409评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,609评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,440评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,357评论 2 352

推荐阅读更多精彩内容