从零开始区块链:如何防止一笔钱花两次?——比特币经典论文研读 (2)

1) 昨天的文章推送以后,有许多读者给我打赏,在此表示感谢,当然也有许多人说,看不太懂很烧脑。我会把文章写得尽量通俗,但是如果你真想要学会,看不懂就再努力一把,尝试还原知识本来的样子。学习不费脑力,就是在自我欺骗。

2) 昨天有位读者 @胡刚 和我探讨 double spending 的译法,我处理成“双花”,读者认为“双重支付”会更好。第一次听“双花”比较容易不理解,但是经过思考我还是坚持这个方案。Spend 的英文释义如下 give (money) to pay for goods, services, or so as to benefit someone or something(为商品/服务给予……以获益)。再看一下 pay 的释义 give (someone) money that is due for work done, goods received, or a debt incurred(由于服务交付、商品收讫、债务产生所引发的支付)。Spend 更多强调的是给出的这个动作,指的是从现有的资源中扣减这一语义,而 pay 更多的是由于服务交付实际把钱给出去。在 double spending 的语境下,我个人认为,“花”,要比“支付”更好。如果一定要强调“支付”,我个人认为用“重复支付”会更贴合意思。


本系列历史文章列表

从零开始区块链:对等网络与电子现金是什么?——比特币经典论文研读 (1)


3.摘要部分

论文的摘要是一篇文章提纲挈领的核心,作者通常会把最重要的点概括在摘要中。本论文摘要主要提到以下几个方面:

(1) 一个纯P2P的电子现金系统,可以让收付方间,无须经过金融机构直接交易。为了解决双花的问题,电子签名是常用的方案,但是这样就引入了第三方的问题。如果你读了本系列第1篇文章(《从零开始区块链:对等网络与电子现金是什么?》),里面关于电子现金系统的的探讨,铺垫了这些基础知识。

(2) 论文提出一种利用P2P网络解决双花问题的方案。方案采用给交易加上时间戳再经过哈希后,放到一条链上;链由“工作量证明”通过哈希形成,如果不重做“工作量证明”,形成的记录无法修改。

(3) 由于把所有的交易都根据时间序列,经哈希保存在链中。最长的链不仅代表网络中见证的所有事件序列,也代表这些链来自拥有最大CPU算力的工作证明。换句话说,把交易记录放到链上,需要工作量的证明,而如果一个链长,那说明记录的事件就多,需要的工作量就越大;最长的链,自然就有最大的算力,以及最多的事件记录。

(4) 只要P2P网络的主要CPU算力不合谋对网络发起攻击,那正常生成的链速度就会比攻击者更快。作者相信P2P网络中的大部分节点不会出现共同合谋操控链的生成的情况,相信人民群众的眼睛是雪亮的。

(5) 网络中的消息按照最大努力进行广播,节点任意加入或者退出,并且在每次重新加入时,接受上次离开期间最长的工作量证明链。


这里有几个概念,哈希,工作量证明,广播,节点加入与退出,攻击者。先搁一边,我们继续正文。


4. 介绍


介绍部分有以下几个要点,先看第一段:

(1) 目前互联网的电子商务需要依靠金融机构作为可信任的第三方处理电子支付业务。这从本质上是一种基于信任的模型。什么是信任?Trust的英文释义就是firm belief in the reliability, truth, or ability of someone or something(对某人/物可靠性、真相以及能力的坚定相信),这里的信任模型指的就是,在网络上的交易双方,对于第三方机构是默认信任的。比如你要买一套二手房,在进行交易环节的时候,通常会有一个银行托管。这个时候银行作为第三方,与买卖双方的关系,就是默认信任的。你也没有什么方法去验证一家银行是不是可信的,你就是相信这个银行是靠谱的。

(2) 交易中,不可避免会出现争议,当专门的第三方金融机构参与交易,为了调解争议,交易完全不可逆不现实。但是为了支持交易的调解,会增加交易数据大小,也会限制小额交易。同时,如果要支持不可逆交易,会有更大的代价。这里的transaction size,我理解指的是一次交易网络传输的数据块的大小,不是指的交易规模的大小[10],部分互联网的译作不够准确[11]。如果从密码设计的角度就好理解,如果交易要支持可逆,那在网络上交换的数据字段,必然要比不支持该功能,存储更多的信息,从而会造成交易数据量的增大,这样就限制了最小数据量的大小。另根据文章统计[10],比特币的交易数据平均大小已经由2013年1月的450字节增长到2015年10月的600字节。


图6:比特币日均交易数据量大小


(3) 由于支持交易可逆,对于信任的要求增加。商家需要更关切客户,因为客户会有各种新要求,让商家提供更多的无关信息。交易一旦可逆,欺诈不可避免。如果使用实体货币,这些问题可以避免,但是如果在网络上,没有一个信任方,交易就无法开展。


这一段主要是以下脉络:在网络上交易,人与人见不到对方,那如何证明你不是一条狗?现在采用的方式是,共同相信一个第三方,说你不是狗,你就不是狗。但是在交易的过程中,如果出现争议,就要倒回去核查你到底是不是一条狗。但是为了支持这个核查,就需要有更多的信息在交易中传输。这个怎么理解?你去楼下买包子。包子卖了就不退了,但是如果你要求包子铺是支持退货,那你下次买包子,就不能直接买了,你要登记身份证、健康证、信用保证书等信息,否则我如何知道你是在我这里买的包子呢?那本来一个简单的交易,由于要支持交易可逆,我就要知道更多的信息,不能给钱拿到包子就走了。这样就增加一次交易的数据量了


第二段有以下要点:

(1) 之前采用的信任模型是一种“我们共同相信”的前提,但是现在电子支付需要一种基于密码学证明而非信任。当引入了密码学的手段,就不需要经过一个第三方建立信任,可以直接交易了。这里有一些密码学的背景知识,在密码学里,有一些手段是可以用来构建信任的,比如,假设你能解出某个问题的答案,我就可以信任你,不需要我去相信一个第三方。这有点像如果你能拿出清华大学的毕业证书,那我相信你的智力水平至少不低于社会平均线……

(2) 采用密码学手段构建出了不可逆的交易,可以保护商家不受欺诈,也可以构建托管机制保护买家。

(3) 这篇论文提出的一种解决双花的机制。采用的是P2P分布式的时间戳,并且给交易打上时间序列,并且通过计算的方式生成证明。在网络中的诚实的节点拥有的CPU算力超过攻击者节点的情况下,系统是安全的。作者在这里还是相信了群众的力量,就是善良的人是多数的,只要是多数,系统就是安全的。那如果邪恶超过了一半以上呢?邪恶会变成新的善良。作者在论文后半部分,分析了这个问题。


第二段承接上一段,并且引出了论文要做的工作。一个是通过密码学而非纯粹信任构建的支付系统,二是讲了一下密码学的好处,三就是重复了一下摘要里面提到的要点。在一般的学术论文里面,篇幅会比这个更长一些,还会介绍一些相关的工作等。


5. 交易

这一段讲的是交易的问题。


(1) 作者把一串电子签名定义为电子货币。货币的转账按以下方式进行:币的拥有人A如果要把钱给B,就把B公钥以及当前所有交易的哈希值放在一块,然后用自己的私钥签名。收方可以通过验证签名来检查钱的归属。

(2) 但是收方无法验证付方双花的问题。对于双花的常用解决方案,就是引入一个信任的权威机构,检查每一笔交易,防止一笔钱花两次。在每一次交易中,付方的钱被收回,机构给收方发一笔新钱,只有来自权威机构的钱,才可以信任为没有双花的。这个方案的最终结局就是,电子现金系统里所有的钱都要通过这样一个机构,这个机构其实就对应到第1篇文章里说的银行了。

(3) 要确认一笔交易是否存在,需要知道所有的交易情况。在基于权威机构的模型中,这个第三方机构,知晓电子现金系统里所有的交易。但是如果不引入这个权威机构,那就需要把所有交易公开出来,让所有人知道。同时,还需要设计一种方法,让所有人的获得相同的交易历史记录。这样收方就可以在交易的时候知道,这笔钱没有在别处花过。


这一部分讲了两个问题:

第一个问题就是,在网络上一笔钱怎么才能花出去。在现实生活中,你把钞票给卖家,钱给出去交易就成了,但是在网络上,你先要证明钱是你的,然后你还要证明这钱花出去后,钱归收方了。这里采用的就是历史交易哈希加上签名验证的方法。

第二个问题就是,当花了钱以后,如何防止钱花两次?以前我们有一个权威的第三方机构来检查系统中所有的钱是唯一消费的,但是如果你要去掉这个权威,那你就只能把这个角色替换成“让所有人都知道”的方式来做了。


在这一部分你会看到,昨天的基础知识虽然和比特币没有关系,但是比特币在设计的时候,其实也是在相同知识框架下传承的。


参考文献

[10] Blog | TradeBlock[EB/OL].[2018/2/21].https://tradeblock.com/blog/analysis-of-bitcoin-transaction-size-trends.

[11] 比特币白皮书:一种点对点的电子现金系统 | 巴比特[EB/OL]. [2018/2/21].http://www.8btc.com/wiki/bitcoin-a-peer-to-peer-electronic-cash-system.

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

推荐阅读更多精彩内容