私钥(Private key)在密码货币的世界里是最敏感、最重要的东西。我们建议所有有志成为老手的用户学学私钥的本源、相关推理和作用。在本文中,我们会解释私钥是怎么来的,它跟你的密码学货币资产有何关联。
归根结底,持有密码学货币就是持有私钥。在现实世界中,拥有实物财产通常指的是拥有写有你的名字的契据或收据,但是在密码学货币世界中,拥有某个资产就是掌握某个信息。简言之,掌握了私钥就等于拥有了(这把私钥所能掌控的)密码学资产。
在密码学货币世界,“所知即所得” 就是绝对真理?
所有资产都可以通过交易来操控。在现实世界,交易通常都需要签名授权。然而,在密码学货币世界,所有交易的授权都必须使用相关的私钥。私钥的作用是配合密码学算法,生成一笔交易的数字签名。签过名的交易表示私钥持有人许可了他人对自己所持有资产的权限。虽然任何人都能生成与你的数字资产相关的交易,但是只有持有对应私钥的人才能签署该交易。
火币推出《一分钟读懂DeFi》系列科普视频:据官方消息,8月24日,火币推出《一分钟读懂DeFi》系列科普视频,并与微博财经合作冠名播出,布道DeFi认知,助力行业发展《一分钟读懂DeFi》是由火币成长学院打造的业内首个系统全面讲解DeFi的系列科普动画,继推出《区块链100问》后的再续佳作。《一分钟读懂DeFi》系列动画对DeFi的发展进行系统梳理,适合想要由浅入深、全面系统了解区块链DeFi的人们轻松了解DeFi。目前视频已由火币网官方微博发布。[2020/8/24]
虽然在现实世界中虚假签名是个问题,但是密码学货币世界的安全性受其密码学性质保护。迄今为止,还没有听说过哪个黑客在没有私钥的情况下成功签署交易的。
币圈有句名言 “没有私钥,币就不是你的”,这是因为签名交易、转移资产的能力完全系之于私钥,拿到一把私钥之后,不管是谁,都能转走这把私钥对应的资产?
IMF今日发布的加密货币科普视频实为两年前旧闻,且存在诸多疏漏:国际货币基金组织IMF今日在推特上发布了一条关于加密货币的科普视频,这段时长两分钟的视频最初发布于2018年6月。该视频称加密货币是“货币进化的下一步”,但没有特别提到DLT、区块链,甚至是代币名称等术语。BTC、XRP和ETH只出现在说明加密交易的图形中。尽管这段视频到目前为止已经获得了超过13.7万的点击量和2900个赞,但来自加密社区的许多反应都是批评的,他们指出了信息中的漏洞和似乎具有误导性的措辞。
Reddit用户nanooverbtc称:“他们犯了很多错误,比如把私钥称为密码。”该视频也没有讨论挖矿或加密货币供应。Kraken策略师Pierre Rochard等知名人士表示:“可证明的稀缺性是比特币有趣的原因,你忘了提这一点。”(Cointelegraph)[2020/8/24]
从实际角度来看,私钥就是一个数字(这个数字的大小在一定范围内),可以用来花费资金(这就是我们为什么要好好保管私钥的原因)。从数学角度来看,私钥就是一个随机生成的正整数。以下是从技术角度给出的更准确的描述:
动态 | 人民日报官方微博科普区块链 强调区块链不等于比特币:人民日报官方微博今早发表9图科普区块链。其中涉及区块链的特点有:1、安全;2、不可篡改;3、可访问;4、无第三方。区块链对未来的影响:1、不需繁琐个人证明;2、看病避免反复检查;3、旅行消费更加便捷;4、交易无需第三方。同时强调,区块链不等于比特币。比特币只是区块链技术的一种应用,区块链还有医疗卫生、食品安全、版权保护等诸多应用领域。[2019/10/28]
私钥是一个在特定的正数范围内通过随机数生成器得到的数字,具有密码学意义上的强随机性特点。
在大多数情况下,计算机使用伪随机数生成器(PRNG)生成这些随机正整数(真正的随机数生成器很难找到。这些生成器通常需要专门的硬件,并使用物理源,如电路中的热噪声或盖革计数器的精确计时)。PRNG 是一种密码学加强型函数,需要输入一个熵足够大的值作为随机种子。
熵是一个复杂的概念,但是它的目的很简单:为函数带来不可预测性。通过使用安全的熵源,PRNG 可以创建出伪随机数,其非随机性概率是可以忽略不计的(在可接受的特定范围内)。
动态 | 币安科普MimbleWimble算法:币安官方推特今日发布隐私算法Mimblewimble的科普贴,在下方留言区大量网友留言猜测是否是基于 Mimblewimble算法的隐私币Grin或者Beam即将登陆币安交易所,其中猜测Grin的呼声更高。[2019/9/2]
Linux 系统中的 “/dev/urandom” 和 Microsoft Windows 系统中的 “rand_s” 常作为 PRNG 的熵源,用来生成安全的随机数。在上图中,“range”既是数学概念里的范围,又指计算机用来生成随机数的字节大小。(由图可看出,RPNG 的作用就是在一个很大的范围内取出一个值;而熵保证了这个过程是足够随机的)?
在创建以太坊或比特币私钥时,PRNG 的取值范围是从1 到 2256?- 1(想象一个由数字 0 到 9 组成、长达 78 位的密码锁)。由于这个范围很大,生成两个相同私钥的概率低到可以忽略不计,这就是为什么其他用户不太可能创建出跟你一模一样的私钥。你的私钥是从一个巨大的整数集合中选出来的 —— 几乎与整个宇宙中可见原子的总数差不多。
声音 | 中科院姚建铨:要加快推进区块链与物联网融合的科普 培训:据新华网消息,日前,在区块链与物联网融合发展峰会上,中国科学院院士姚建铨说,关注区块链技术里面的大数据,跟区块链技术结合起来进行测量和检测,能更好地提升激光清洗技术。姚建铨建议,无锡今后要加快推进区块链与物联网融合的科普、培训,正确引导广大人民群众对技术的认知;同时,建立专业、权威,但又普适、成套的理论体系和标准,以此切入区块链的实际应用。[2018/9/18]
比特币和以太坊都采用了 1 到 2256?- 1 的范围,在这两条链的公钥生成算法下是可行的。例如,以太坊采用椭圆曲线(尤其是SECP-256k1)来生成公钥。在最初的黄皮书中,Gavin Wood 博士将私钥定义成是在 [1, secp256k1n ? 1] 范围内随机选出的正整数(大端格式下长度为 32 的字节数组)。关于所有正式定义,请查阅黄皮书。
由于私钥必须保密,我们还需要一种机制来标记发帐的目的地。因此,所有区块链都引入了地址(根据私钥计算出的一串独一无二的数字)这一概念。地址就是密码学资产的存储位置,(如有需要)可以分享给任何人,这样他们就能给你转账(也能知道你的密码学资产余额)。
区块链地址是通过公钥创建的,以确保你是这个地址的所有者。再往回推,公钥是通过私钥生成的。这个过程是单向的,也就是说你可以通过私钥计算出账户地址,但是不能通过账户地址倒推计算出私钥(哪怕是您自己,也做不到)。
私钥可以推出公钥,公钥可以推出区块链地址。但是,区块链地址无法用来推出公钥,公钥也无法用来推出私钥。
这一单向过程是通过密码学陷门函数(cryptographic trapdoor function)实现的。陷门函数是一种单向函数,一个输入值只能导致唯一的输出值,但是不能根据输出值倒推原始的输入值。不同的区块链生态系统采用不同的单向函数。例如,最流行的区块链系统使用基于椭圆曲线的代数结构来生成公钥。无论这些代数结构具备哪些特征,其结果始终是确定的:公钥是与私钥一一对应的,同一个私钥永远只能生成同样的公钥。
虽然比特币或以太坊等流行的区块链使用 ECDSA 算法,用椭圆曲线 secp256k1上的固定点乘以私钥,即得出公钥。其它区块链项目也采用类似的方法。例如,门罗使用的是 EdDSA 算法和 Curve25519 曲线,Polkadot 和 Substrate 使用的是 sr25519 算法和 Ed25519曲线。所有这些区块链都基于 1 到2256?- 1 范围内的私钥生成公钥。
区块链地址也是用单向函数计算出来的,用的就是所谓的哈希函数。比特币和以太坊地址都是在公钥的基础上通过一个或多个密码学加强型哈希函数创建的,只不过不同的区块链会采用不同的算法。鉴于这些哈希函数的运作方式,你绝对可以相信你的公钥和私钥对应的区块链地址是唯一的。
以太坊账户是公钥的 Keccak-256 哈希值,但是只保留计算结果最右边的 20 个字节。比特币私钥使用 SHA-256 和 RIPEMD-160,Polkadot 和 ZCash 使用 Blake2b。所有这些哈希函数都是抗碰撞的,因此两个公钥生成同一个账户地址的可能性很低,而且保证了用地址反推私钥的唯一方式是经济效率极低的暴力破解。我们并不能保证这些哈希函数不会被破解,但是迄今为止,还没有哪个区块链使用的哈希函数已被证明遭到破解。
密码学资产的安全性源自私钥背后的密码学和数学——只要我们保管好自己的私钥即可。迄今为止,还没有人可以通过暴力破解方式找到与你的区块链地址对应的私钥,因为这需要消耗的能量比太阳存储的能量都多。在 Portis,我们采取了谨慎的措施,来确保你的私钥是基于只有你知道的数据安全生成的(欲知详情,请阅读我们的白皮书)。
在下一篇文章中,我们将探索流行的区块链生态系统以及公钥生成背后的数学知识。我们将提供一些代码示例,以便你根据每个区块链描述的过程计算出密钥,并使用一些代码库来让生成过程变得更加简单。敬请关注!
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。