找回密码
 立即注册

扫一扫,登录网站

首页 自媒体 查看内容
  • 4076
  • 0
  • 分享到

趣说区块链系列02——“从凯撒大帝的密码说起”

2018-4-13 14:57

来源: CTOBlockChain

“奇文共欣赏”

陶渊明在其《移居二首》中留下了一句名句“奇文共欣赏,疑义相与析”,意思是遇到非常优秀的文章,大家共同阅读思考,品味出其中的奇妙。而在上一篇“趣说区块链”文章中点击趣说区块链系列01-“历史深处的来信”),我们提到的中本聪2008年10月31日“深夜来信”中附带的那篇题为“Bitcoin: A Peer-to-peer electronic cash system(比特币:一种点对点电子现金系统)”的论文,就是这样一篇了解和学习区块链绕不过的“奇文”,在这篇和接下来的几篇“趣说”系列文章中,我们

将会一起以有趣的方式深入浅出的“共欣赏”一下这篇奇文。

区块链≠比特币

不过,在开始“庖丁解牛”这篇奇文之前,让我先回答一下上一篇文章发表之后收到的一个问题:


比特币和区块链到底是什么关系?


对于大多数刚接触区块链的人来说,似乎比特币和区块链就是一个意思。作为佐证的是,在普华永道事务所最近所开展的一项消费者调查中,只有6%的人表示他们熟悉或非常熟悉比特币这种货币;而83%的被调查者表示他们对比特币的认知介于很少到零之间。所以好消息是,通过阅读我们的“趣说区块链”系列,你已经能够打败至少80%多的小伙伴啦~~

关于“区块链(Blockchain)和比特币(Bitcoin)是什么关系?”这个问题,知乎上信息论博士,区块链博士后“maxdeath”的回答应该算是比较简洁明了的:

关于区块链,几乎所有的技术在比特币之前都已经有了,但是在比特币之前,没有人觉得它能用,所以说比特币是区块链技术的第一个成功的应用,从某种程度讲,说比特币是第一个区块链并无不妥。要是想要了解区块链技术的,比特币确实是绕不开的一个东西。


或者简单的总结一下——此处敲黑板了~~

- 区块链是比特币的关键底层技术

- 比特币是区块链第一个成功的应用

- 区块链的应用远远不止于比特币


附带说一句,关于区块链的演化也是一出精彩纷呈的“好戏”,此处先按下不表,等咱们说完了中本聪的这篇奇文,再接着说这个故事。


在中本聪的“比特币:一种点对点电子现金系统”论文中,提出了一套去中心的自动运行的电子金融系统(即比特币)。而要达到这个目标,中本聪非常精妙的解决了四个最关键的问题:


核心问题1:交易信任问题(白话翻译:如何证明交易中我是我?)


核心问题2:隐私保护问题(白话翻译:如何在证明我是我的前提下,不告诉别人我具体是谁?)


核心问题3:防止交易欺诈问题(白话翻译:如何保证同一个电子货币没有被重复使用两次?)


核心问题4:激励机制问题(白话翻译:如何保证吃瓜群众有动力主动去维护比特币系统及其权威而不是推翻它?)


为了解决这四个问题,中本聪相应的首创了“交易哈希值”(Transaction Hash),”工作量证明(Proof-of-Work)”和”时间戳(Timestamp)”等沿用至今的区块链关键技术。


听起来是不是有不明觉厉的感觉?没关系,让我们按照顺序一个一个来深入浅出的解释在论文中,中本聪如何完美的解决了上述四个核心问题。首先,从交易信任问题开始。


信陵君窃符救赵


你没有看错,为了把“交易信任”问题说清楚,我们还需要把目光首先转向历史深处的战国时期(为了趣说系列,我也是拼了)。

窃符救赵,是战国时期著名历史典故。话说在公元前257年,秦国围困了赵国都城邯郸,赵国于是只有求救于魏国。魏王此时却耍了心眼,一方面派晋鄙将军带领十万部众出发援救赵国;另一方面,却怕秦国报复而让军队停留在邺城安营,名义上是救赵,实际上是抱观望双方的态度。在那时,虎符即兵符,王与将各执一半为信物。合则信,不合则伪,军令的真实性和可靠性由此确定。

情急之下,隐士侯赢向魏公子信陵君魏无忌献了一计:“我听说晋鄙的兵符常放在魏王的卧室内,而如姬最受魏王的宠幸,进出魏王的卧室,作一番努力能把兵符偷出来。我听说如姬的父亲被人杀害,如姬悬赏了三年求人为她父亲报仇,但没有找到。而只有您派门客斩了她仇人的头,献给如姬。如姬想为您去死都在所不辞,只不过没有机会罢了。您只要一开口求她,她一定会答应。那么拿到虎符,夺过晋鄙的军权,可以向北援救赵国,向西打退秦军,这是王霸的功业啊!”

信陵君听从了此计,借魏王姬妾如姬之手窃得兵符,在邯郸夺取了晋鄙将军手中魏国兵权,成功击败秦军,救援了赵国。



(虎符)


在这个故事里,信陵君带来的承载军令信息的信物是真实的,因为虎符相合;却是不可靠的,因为虎符是窃来的。设想,如果那时魏王有区块链技术,那么“窃符救赵”便不可能——因为区块链能够保证虎符既真实又可靠,也就是解决交易中信任的问题。


实际上,交易中的信任问题由来已久——从公元前18 世纪,汉莫拉比 (Hammurabi) 国王统治下的苏美尔人(Sumerian)发明的泥板记录法(在泥板上记录下商人之间荞麦的交易历史)开始,到窃符救赵中的虎符,再到威尼斯商人带到全球的会计收支簿记技术(ledger),人类一直都在探索解决交易中的信任以及信息真实和完整的技术。


但是,由于假信息的泛滥,人们最终选择的还是信赖第三方的陌生人——因此,六百年来,作为这个第三方陌生人的银行(以及今天的支付宝)就垄断了对金融“信息真身”的认证业务。


这个垄断直到2009年,中本聪在其论文中第一次把“加密签名”和“交易哈希值”精妙的结合在一起,才算是颠覆了几百年来提供交易信任绕不过的第三方,开启了去中心化和去中介交易的新天地。


从凯撒密码到现代非对称密钥密码系统


为了理解中本聪所提出的“加密签名”,我们再一次需要把目光投向历史深处的古罗马时期。密码最早的使用可以追溯到古罗马时期。最为有名的就是在《高卢战记》中记述的凯撒大帝所使用的最古老的“移位密码”——通过将字母按照顺序推后三位从而起到加密作用。例如,字母A将会用推后三位的字母D代替。


凯撒密码示例

I LOVE YOU

(字母推后三位)

L ORYG BRX


聪明的你一定会想到,凯撒密码最大的问题就在于无需特别大的运算能力就可以被破译——方法非常简单,就是进行字母频度分析。9世纪的科学家阿尔·金迪在《关于破译加密信息的手稿》对该技术做了最早的描述:


……破译使用凯撒密码进行加密信息的方法就是找出同样的语言写的一篇其他文章,大约一页纸长,然后我们计算其中每个字母的出现频率。我们将频率最高的字母标为1号,频率排第2的标为2号,第三标为3号,依次类推,直到数完样品文章中所有字母。

然后我们观察需要破译的密文,同样分类出所有的字母,找出频率最高的字母,并全部用样本文章中最高频率的字母替换。第二高频的字母用样本中2号代替,第三则用3号替换,直到密文中所有字母均已被样本中的字母替换。



对称加密算法的缺陷


凯撒密码可以看做是密码学中对称加密算法的代表。什么是对称加密算法?简单的说,就是在加密和解密过程中使用相同的规则(即密钥)。显然,对称加密简单、速度快、无论是加密还是解密需要的计算能力都不高。但是缺点也显而易见:一旦密钥泄露,非常容易导致整体加密的信息都会被轻易破解。举个例子:


李雷使用推后三位的凯撒密码给韩梅梅用英文写了一封情书,并在课间休息时悄悄告诉了韩梅梅解密方式——非常简单,把每个字母推前三位即可。做了万全的准备,李雷带有炫耀式的将这封“加密”的情书以公开的方式传递给了韩梅梅。


然而,万万没想到的是,李雷和韩梅梅的对话被班里的“八卦小能手”偷听到了,结果可想而知,李雷的情书被“破译”展现在全班同学面前……这也直接导致了在人教社最新的英语教材中,韩梅梅成为了韩刚的妻子,而不是大家众望所归李雷之妻……



所以说,对称加密有风险,且用且珍惜!哦,对了,且用且珍惜的对称加密算法有:DES,3DES,AES等,希望深入了解的小伙伴,可以自行问度娘~

非对称加密:Bob和Alice不得不说的故事


既然对称加密存在这么致命的缺陷,那么是否有一种加密方法能够做到加密和解密使用不一样的规则(密钥),加密的密钥能够公开的传播,而解密的密钥只有解密者一人独自拥有;同时,使用加密密钥无法可逆的进行解密操作。这样一来,之前在对称加密中存在的缺陷不就迎刃而解了吗?


实际上,根据这个理念设计的加密方式,就是现代密码学中的非对称加密。非对称加密的核心是:


加密和解密有一对密钥,分别称为公钥(Public Key)和私钥(Private  Key)

公钥可以随意进行分发给加密者,而私钥必须只有解密者一人拥有

加密和解密的算法是不同且不可逆的,具体来说:

a) 如果你的消息是使用公钥进行加密,那么必须只有对应的私钥才能解密

b) 如果你的消息是使用私钥进行加密,那么必须只有对应的公钥才能解密


咳咳,你肯定会觉得这么解释还是很晦涩,好吧,那就只有请出密码学中的大名鼎鼎的Bob和Alice来给你生动的展示什么是非对称公钥-私钥加密了。我们以Alice希望给Bob写一封加密的情书为例:




好了,铺垫了那么多,现在我们终于可以来看看中本聪的区块链技术如何解决“交易信任”的问题了。我们还是回到“信陵君窃符救赵”的故事上,看看魏王应该如何利用区块链的解决方案,在去中心的情况下保证他和晋鄙将军之间军令传递的安全。



让我们来对比一下使用虎符和区块链的“加密签名”不同场景下,信陵君窃符救赵的难度:



场景1:使用虎符传递军令

场景2:使用区块链的“加密签名”传递军令

信陵君的
“犯罪成本”

成本1:盗窃魏王的虎符

成本1:盗窃魏王上次的军令

成本2:盗窃魏王的私钥

成本3:获得晋鄙将军的公钥


可以看到,使用了区块链的“加密签名”技术之后,信陵君的“犯罪成本”明显增加,从而则使得通过虚假信息破坏“交易信任”的难度大大增加。


“但是”,你一定会说,“虽然难度增加了,但是好像还是可以通过花费一定代价之后伪造信息啊?”


Bingo!!你答对了,其实中本聪也想到了这一点,所以在“加密签名”基础之上,中本聪还加入了“制作交易哈希值”链的方式,通过形成一条交易信息的链条,彻底解决了“交易信任”的问题(如下图所示)。



不多,咳咳,今天讲得够多了,“制作交易哈希值”那么有趣的环节,还是留待下一篇再细细道来吧~


本篇快速总结

本篇核心知识点包括:


1. 中本聪在区块链技术中非常精妙的解决了四个最关键的问题:


核心问题1:交易信任问题(白话翻译:如何证明交易中我是我?)


核心问题2:隐私保护问题(白话翻译:如何在证明我是我的前提下不告诉别人我具体是谁)


核心问题3:防止交易欺诈问题(白话翻译:如何保证同一个电子货币没有被重复使用两次)


核心问题4:激励机制问题(白话翻译:如何保证吃瓜群众有动力主动去维护比特币系统及其权威而不是推翻它)


2. 为了解决这四个问题,中本聪相应的首创了交易哈希值(Transaction Hash),工作量证明(Proof-of-Work)和时间戳(Timestamp)等沿用至今的区块链关键技术。


3. “加密签字”和“交易哈希值”组合,共同完美的解决了“交易信任问题”。其中“加密签字”使用了非对称加密技术

作者介绍

刘朋:

诺基亚网络成都研发中心研发经理,成都研发中心ecosystem建设负责人,成都研发中心敏捷教练。10年+软件行业开发、团队教练和团队管理经验,在整洁代码、敏捷最佳实践和软件开发高效能团队有丰富的理论和实战经验。活跃于成都敏捷和技术社区,“天府软件园技术社区·整洁代码俱乐部”发起人,作为讲师多次参加敏捷之旅成都站、MPD成都站、中生代技术社区以及“天府软件园技术社区·整洁代码俱乐部”进行分享,并作为演讲嘉宾代表诺基亚在2015年“四川省第九届互联网大会”做主题演讲。

刘朋先生毕业于北京大学,分别获得理学学士和工学硕士学位。曾先后就职于IBM中国开发中心(CDL)以及爱尔兰国家软件工程研究院(Lero),拥有CSM和PMP认证。

刘朋先生写过代码,发过IEEE和ACM论文,做过敏捷教练,也管理过研发团队,目前专注于软件开发团队自组织和高效能团队建设,获得ICF(International Coach Federation)认证”Excellent Team Coach(卓越团队教练)”。 也非常期待和更多的业界朋友们一起分享经验心得,共同脑力激荡,共同探寻通向软件开发团队高效能和自组织之路。

刘朋在培训咨询方面有着丰富的经验,获Nokia企业内训师 “最佳讲师奖”,也为马士基、澳新银行、视达科,电子科大软件测试中心等企业和机构提供过敏捷、研发管理培训,同时也是四川省互联网大会、Top100Summit、敏捷之旅成都站、“中生代技术”成都技术社区、MPD工作坊的特邀演讲嘉宾。




版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部