美文网首页学区坊
比特币背后好玩的密码学原理!

比特币背后好玩的密码学原理!

作者: 黄药师blockchain | 来源:发表于2019-01-10 16:23 被阅读2次

 上一篇我们已经了解了比特币网络的基本思想,就是为每一个比特币建立完整公开的历史交易记录,来解决重复支付的问题,也叫双花问题,整个比特币网络其实都是围绕这么一个核心问题展开。那么接下来就来看看它到底是怎么实现的,这一讲我们会先重点说说账号密码体系,你也会了解到什么是非对称加密?

比特币肯定也得有账号密码对吧,不然没法明确产权到底是谁的,转账的时候跟银行转账差不多,输入账号密码,转给谁,转多少,就可以了。

说到账号密码,过去我们传统的模式大概都是这样,比如你去某个网站注册个账号,先选个账户名,系统判断只要别人没用过就可以注册,然后设置密码。以后每次登陆的时候,网站就判断你输入的和他们之前存储的用户数据能不能匹配上。这就是传统的中心化方式,有个权威的第三方中心来管理。

 但是比特币是去中心化网络,所以它并没有一个类似银行的第三方权威,来去管理和核实这些。但是矿工在记账打包区块的时候,它又必须得确认每一笔交易是不是由一个有效账号的主人所发起的。而且显然你也不能把密码发给矿工,因为他无非就是个最近十分钟解出了数学题的幸运用户而已,你给他的话,回头钱就被他取走了。

 所以在一个没有中心权威的情况下,到底怎么注册账号,又怎样让大家在不知道你的密码的情况下,还能知道你输的密码是对的呢?

 这就要用到非对称加密机制,可以完美的解决上面说的问题。在理解非对称加密之前,首先我们要了解下什么是对称加密。对称不对称这个说法有点抽象,可以简单理解成一个是单密码,一个是双密码。

平时常用的对称加密,加密和解密用的是同一个密码,它很像暗号,比如黄天盖地虎,下一句是宝塔镇河妖。现在很多聊天的时候也喜欢用叠词,比如嗯,和嗯嗯就是不一样的含义。在这几个例子里面,双方都知道暗号的规则,用的是同一个密码解密,这个就叫对称。这种对称加密最大的风险,在于双方都得知道密码,所以在传输密码的过程中就会有很大的泄漏风险。人类历史上几千年以来基本上都在用的都是这种对称加密方式。

直到1977年,三个美国mit的教授才发明了新的非对称加密方式,叫做RSA,R、S、A分别是这三个人的名字的首字母。

怎么个非对称呢,非对称加密有两个密码,一个是不公开的,叫私钥,只有你自己保管。还有一个公开了也没关系的密码,叫公钥。他的机制是,私钥加密的东西,不能用私钥解密,而只能用公钥解密。反过来也是,公钥加密的东西,不能用公钥解密,而只能用私钥解密。每一个公钥只有唯一的一个私钥跟他对应。基于这种机制,比特币就把那个公开的密码直接当作了账号,通常也叫地址。所以可以理解成,原本密码是密码,账号是账号。现在呢,不但密码是密码,账号也具备密码的功能。

当你发起转账的时候,你只要用私钥加密一段信息,任何人拿到以后,都可以用你公开的公钥,去解密一下,看看解出来的是不是和你说的一样就行了。举个例子,为了证明我是某个公开账户的所有者,我就用私钥加密一段话,比如“比特币就是数字黄金”这么一句话,我把这句话和加密后的那段乱码两个都发布出去,任何收到这个信息的人,不需要知道我的私钥,他们就可以用公开的账户,也就是公钥,解密下那段乱码,发现解出来的真的是“比特币就是数字黄金”这句话,就可以相信我是这个账户的真正所有者。你看,比特币就是基于这么一种巧妙的密码学原理,一次性同时解决了账号的建立和密码的保密问题。

这样一套体系安不安全呢?这个就要说到非对称加密背后的数学原理,那就是大数分解难题。

大数分解难题,指的就是给你一个超级大的数字,找不到捷径把他拆成两个质数相乘。我们知道,计算机把两个很大的数字相乘很容易,但是如果要把一个很大的数字反拆回来是极其困难的。比如把手机通讯录里面随便挑200个手机号码连在一起成一个220位的数字,你想想如果要把它拆成两个质数相乘,除了穷举一个个试没有更好的办法,而这个运算量是及其巨大的。大到哪怕宇宙大爆炸就开始算,到今天也还仍然没有穷举完。

非对称加密,就是把两个很大的几百位的质数相乘,然后把这个乘出来的结果当作公钥,公开给大家,然后把那相乘的数字做一些加工变成私钥。谁也没有办法通过公钥猜出私钥,但是要验证是否匹配却很容易。

你可能会问,量子计算出来了会怎样,量子可以同时存在不同的空间,可以支持并行计算,所以它可以秒解这种数学难题。

那怎么办?首先这东西还早着呢,其次就算实现了,也有比比特币更值得攻击的东西。因为其实非对称加密并不是只有比特币在用,目前全世界几乎所有的金融和通信等重要的系统都在用非对称加密。比如我们都知道苹果是封闭系统,只有苹果审核通过的应用才能安装在苹果手机上,那就是通过非对称加密,每个手机上已经就有公钥,苹果保管那个私钥,一个app只有被苹果那个私钥加密过,才能被手机上的公钥识别出来。包括网银用的那个u盾,用的时候不是要安装证书吗,其实就是给你装一个公钥,这样才能保证你发送的账户信息在发送过程中,即使被截获也没关系,因为只有银行服务器的私钥才能解的出来。

所以如果量子计算出来的话,显然攻击其他金融和通信系统回避攻击比特币更有利可图。而且,等他快出来的时候,大家也会重新升级新的标准来适应量子时代。

总结一下,这一篇我们介绍了比特币网络的账号密码机制,以及背后的非对称加密技术原理。

要解决的事,在一个没有中心权威机构的情况下,怎样建立账号,同时又要在不给任何人透露密码的情况下,能够证明某个账号的归属权。因此采取了非对称加密机制,对称加密只有一个密码,双方都必须知道,所以传输的时候容易泄漏。而非对称加密有两个密码,一个是自己保管的叫私钥,一个是公开的叫公钥,私钥加密的信息只能用公钥解密,公钥加密的信息只能用唯一的私钥解密。比特币网络将公钥当成账号来使用,向所有人公开,矿工只要能够用公钥,正确解密私钥加密的信息,就证明发起交易的人就是账号的主人。

非对称加密是基于大数分解困难这个难题建立的,其实比特币用的并不是标准的rsa算法,而是升级后的椭圆曲线加密算法,这个讲起来太复杂了,有兴趣的可以自己去了解。本质上跟rsa的原理一样,他的基础就是一道非常难解的数学难题。这个是比特币网络唯一用到的两个数学原理之一。这种机制已经广泛应用在各种重要的银行、通信等等系统当中,所以即使量子计算出现,要攻击也轮不到比特币。所以不管从数学的角度还是从市场博弈的角度来讲,比特币的账号密码体系都是非常安全的。

你看他又是沿着一个特定问题找解决办法的自然推到过程,是不是有所启发呢。

相关文章

  • 比特币背后好玩的密码学原理!

    上一篇我们已经了解了比特币网络的基本思想,就是为每一个比特币建立完整公开的历史交易记录,来解决重复支付的问题,也叫...

  • Comunion 区块链深度学习系列|密码学基础之哈希算法的应用

    本系列内容包含:基本概念及原理、密码学、共识算法、钱包及节点原理、挖矿原理及实现。 挖矿 以比特币网络为例,比特币...

  • 比特币背后的密码学原理

    〇、序言 货币由于其天然属性决定了其与安全不可分割的联系,从最早的金库、保险柜、镖局到后来的ATM机、运钞车;从存...

  • 比特币之密码学应用

    由于比特币的去中心化安全机制是完全建立在密码学基础之上的,所以比特币家族又被称为“密码学货币”,可以说密码学是比特...

  • 自学区块链(一)

    咱先了解下比特币的密码学原理 主要用到了密码学中的哈希和签名, 这个哈希函数(密码学中要求)的主要性质是 1、首先...

  • Hash的应用

    了解比特币以及了解学习比特币背后的区块链技术必然离不开对哈希值的学习,对于有编码功底以及密码学功底的人来说是是最简...

  • 区块链学习

    比特币中的密码学 比特币主要应用了密码学中的两个技术:哈希、签名 哈希 哈希函数性质:collision resi...

  • [day7 风子890] 比特币背后的密码学技术(哈希函数

    比特币是一种加密型的数字货币,对比特币来说,密码学是比特币体系的重要组成部分。比特币也是在密码朋克圈子里讨论、产生...

  • 201951-数字账本技术

    想知道比特币(和其他加密货币)的原理吗? 比特币和区块链啥原理?矿机挖矿咋回事?李永乐老师讲比特币(1) 比特币交...

  • 研读比特币白皮书(下)

    上次我们研读了《比特币白皮书》,介绍了“比特币网络”、“比特币网络交易原理”、“时间戳服务”、“节点的工作原理”等...

网友评论

    本文标题:比特币背后好玩的密码学原理!

    本文链接:https://www.haomeiwen.com/subject/gamarqtx.html