私钥在密码货币的世界里是最敏感、最重要的东西。我们建议所有有志成为老手的用户学学私钥的本源、相关推理和作用。在本文中,我们会解释私钥是怎么来的,它跟你的密码学货币资产有何关联。
私钥对于密码学货币来说意味着什么
归根结底,持有密码学货币就是持有私钥。在现实世界中,拥有实物财产通常指的是拥有写有你的名字的契据或收据,但是在密码学货币世界中,拥有某个资产就是掌握某个信息。简言之,掌握了私钥就等于拥有了密码学资产。
-在密码学货币世界,“所知即所得”就是绝对真理-
TRON数字钱包科普资料《波场钱包的现在过去与未来》已上线:据最新消息显示,由TokenPocket联合波场TRON官方,以及 TokenPocket 社区志愿者共同撰写的《波场钱包的现在过去与未来》已正式上线。《波场钱包的现在过去与未来》又称为波场钱包小白书,详细介绍了当前TRON钱包与TRON生态密切结合的实例,是目前市面上最为详细的TRON数字钱包科普资料。波场钱包作为波场公链生态中极为重要的入口,是波场生态的重要构成要素。波场钱包从一开始只提供权限管理、转账收款、节点投票等基础功能,到如今不仅可以为用户提供法币交易、闪兑和去中心化交易所等方便快捷的交易服务,还能让用户直接在钱包上体验波场上DApp,挖矿、DeFi、Staking等资产增值服务。详情见原文链接。[2020/8/20]
所有资产都可以通过交易来操控。在现实世界,交易通常都需要签名授权。然而,在密码学货币世界,所有交易的授权都必须使用相关的私钥。私钥的作用是配合密码学算法,生成一笔交易的数字签名。签过名的交易表示私钥持有人许可了他人对自己所持有资产的权限。虽然任何人都能生成与你的数字资产相关的交易,但是只有持有对应私钥的人才能签署该交易。
人大附中物理老师李永乐科普拜占庭将军问题和区块链:5月14日,人大附中物理老师、科普视频网红李永乐在其公众号发布视频《拜占庭将军问题是什么?区块链如何防范恶意节点?》。李永乐老师在视频中对拜占庭将军问题和区块链进行了讲解,他表示,拜占庭将军问题本质上指的是,在分布式计算机网络中,如果存在故障和恶意节点,是否能够保持正常节点的网络一致性问题。在近40年的时间里,人们提出了许多方案解决这一问题,称为拜占庭容错法。例如兰波特自己提出了口头协议、书面协议法,后来有人提出了实用拜占庭容错PBFT算法,在2008年,中本聪发明比特币后,人们又设想了通过区块链的方法解决这一问题。区块链通过算力证明来保持账本的一致性,也就是必须计算数学题,才能得到记账的权力,其他人对这个记账结果进行验证,如果是对的,就认可你的结果。与拜占庭问题比起来,就增加了叛徒的成本。[2020/5/14]
虽然在现实世界中虚假签名是个问题,但是密码学货币世界的安全性受其密码学性质保护。迄今为止,还没有听说过哪个黑客在没有私钥的情况下成功签署交易的。
人民数字FINTECH推出区块链科普动画:人民日报数字传播发布微博称,人民数字FINTECH出品《趣味科普|区块链动画》。[2020/3/31]
-币圈有句名言“没有私钥,币就不是你的”,这是因为签名交易、转移资产的能力完全系之于私钥,拿到一把私钥之后,不管是谁,都能转走这把私钥对应的资产-
什么是私钥?
从实际角度来看,私钥就是一个数字,可以用来花费资金。从数学角度来看,私钥就是一个随机生成的正整数。以下是从技术角度给出的更准确的描述:
私钥是一个在特定的正数范围内通过随机数生成器得到的数字,具有密码学意义上的强随机性特点。
在大多数情况下,计算机使用伪随机数生成器生成这些随机正整数。PRNG是一种密码学加强型函数,需要输入一个熵足够大的值作为随机种子。
声音 | CNBC主持人:加密货币最大的缺点之一就是难以向外行快速科普:CNBC主持人Ran NeuNer近期发推称,加密货币最大的缺点之一就是很难向外行快速解释。当人们要求我向他们解释比特币时,我知道他们至少需要一个小时才能真正理解。[2019/9/10]
熵是一个复杂的概念,但是它的目的很简单:为函数带来不可预测性。通过使用安全的熵源,PRNG可以创建出伪随机数,其非随机性概率是可以忽略不计的。
-Linux系统中的“/dev/urandom”和MicrosoftWindows系统中的“rand_s”常作为PRNG的熵源,用来生成安全的随机数。在上图中,“range”既是数学概念里的范围,又指计算机用来生成随机数的字节大小。-
动态 | 央行官微旧文重发“再科普”:范一飞详解数字货币:据中国经济网消息,今日,央行官微公众号头条重新发布央行副行长范一飞在2018年1月25日题为《关于央行数字货币的几点考虑》的文章,对央行数字货币再次进行科普。同时,微信公众号第二条发布支付司副司长穆长春8月10日在第三届中国金融四十人伊春论坛上的演讲。近年来,各主要国家和地区央行及货币当局均在对发行央行数字货币开展研究,新加坡央行和瑞典央行等已经开始进行相关试验,人民银行也在组织进行积极探索和研究。[2019/8/21]
在创建以太坊或比特币私钥时,PRNG的取值范围是从1到2256-1。由于这个范围很大,生成两个相同私钥的概率低到可以忽略不计,这就是为什么其他用户不太可能创建出跟你一模一样的私钥。你的私钥是从一个巨大的整数集合中选出来的——几乎与整个宇宙中可见原子的总数差不多。
-比特币和以太坊都采用了1到2256-1的范围,在这两条链的公钥生成算法下是可行的。例如,以太坊采用椭圆曲线来生成公钥。在最初的黄皮书中,GavinWood博士将私钥定义成是在范围内随机选出的正整数。关于所有正式定义,请查阅黄皮书。-
私钥、公钥和地址
由于私钥必须保密,我们还需要一种机制来标记发帐的目的地。因此,所有区块链都引入了地址这一概念。地址就是密码学资产的存储位置,可以分享给任何人,这样他们就能知道你的密码学资产余额。
区块链地址是通过公钥创建的,以确保你是这个地址的所有者。再往回推,公钥是通过私钥生成的。这个过程是单向的,也就是说你可以通过私钥计算出账户地址,但是不能通过账户地址倒推计算出私钥。
私钥可以推出公钥,公钥可以推出区块链地址。但是,区块链地址无法用来推出公钥,公钥也无法用来推出私钥。
这一单向过程是通过密码学陷门函数实现的。陷门函数是一种单向函数,一个输入值只能导致唯一的输出值,但是不能根据输出值倒推原始的输入值。不同的区块链生态系统采用不同的单向函数。例如,最流行的区块链系统使用基于椭圆曲线的代数结构来生成公钥。无论这些代数结构具备哪些特征,其结果始终是确定的:公钥是与私钥一一对应的,同一个私钥永远只能生成同样的公钥。
-虽然比特币或以太坊等流行的区块链使用ECDSA算法,用椭圆曲线secp256k1上的固定点乘以私钥,即得出公钥。其它区块链项目也采用类似的方法。例如,门罗使用的是EdDSA算法和Curve25519曲线,Polkadot和Substrate使用的是sr25519算法和Ed25519曲线。所有这些区块链都基于1到2256-1范围内的私钥生成公钥。-
区块链地址也是用单向函数计算出来的,用的就是所谓的哈希函数。比特币和以太坊地址都是在公钥的基础上通过一个或多个密码学加强型哈希函数创建的,只不过不同的区块链会采用不同的算法。鉴于这些哈希函数的运作方式,你绝对可以相信你的公钥和私钥对应的区块链地址是唯一的。
-以太坊账户是公钥的Keccak-256哈希值,但是只保留计算结果最右边的20个字节。比特币私钥使用SHA-256和RIPEMD-160,Polkadot和ZCash使用Blake2b。所有这些哈希函数都是抗碰撞的,因此两个公钥生成同一个账户地址的可能性很低,而且保证了用地址反推私钥的唯一方式是经济效率极低的暴力破解。我们并不能保证这些哈希函数不会被破解,但是迄今为止,还没有哪个区块链使用的哈希函数已被证明遭到破解。-
一点点数学就可以保守秘密
密码学资产的安全性源自私钥背后的密码学和数学——只要我们保管好自己的私钥即可。迄今为止,还没有人可以通过暴力破解方式找到与你的区块链地址对应的私钥,因为这需要消耗的能量比太阳存储的能量都多。在Portis,我们采取了谨慎的措施,来确保你的私钥是基于只有你知道的数据安全生成的。
在下一篇文章中,我们将探索流行的区块链生态系统以及公钥生成背后的数学知识。我们将提供一些代码示例,以便你根据每个区块链描述的过程计算出密钥,并使用一些代码库来让生成过程变得更加简单。敬请关注!
原文链接:https://medium.com/portis/part-one-understanding-private-keys-311389737fbe作者:JoseAguinaga翻译&校对:闵敏&阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。