LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 科普 | 了解私钥

科普 | 了解私钥

2021-04-16 FilCloud 来源:区块链网络

私钥在加密货币的世界里至关重要。我们建议所有经验丰富的加密用户了解他们的本源、理由和价值。在本文中,我们会解释私钥的来源及其与加密的关系。


私钥及其在加密中的作用

归根结底,拥有加密货币归根结底就是持有私钥。在现实世界中,拥有实体财产通常需要拥有带有自己名字的契据或收据,而在加密世界中,拥有某个资产就是掌握某个信息。简而言之,掌握了私钥就相当于拥有加密资产。


知识就是力量”这句话从来没有像加密世界里那样正确。

所有资产都可以通过交易进行操纵。在现实世界中,这些交易通常需要您的签名才能授权。

然而,在加密世界中,这些交易只能使用私钥进行授权,私钥用于对这些交易进行加密签名。

签署的交易表示授予对连接到这些私钥的资产的访问权。尽管任何人都可以生成涉及您的数字资产相关的交易,但只有与他们相关联的私钥所有者才能对交易进行签名,从而验证交易。

虽然假签名在现实世界中是一个问题,但加密世界受到其基本密码学性质的保护。迄今为止,还没有已知的黑客允许别人在没有你的私钥的情况下签署你的资产交易。


“没有私钥,币就不是你的”这句话很有说服力,因为任何人只要拥有私钥,就可以在这些资产上签署任何交易,从而随心所欲地转移或移动它们。

什么是私钥?

从实用的角度来看,私钥是特定范围内的数字,允许资金使用(这就是为什么保密是如此迫切的原因)。从数学的角度来看,私钥只是一个随机的正整数。以下是一个更专业、更准确的描述:

私钥是使用随机数生成器在给定定义的正范围内获得的加密强随机数。

大多数情况下,计算机使用伪随机数生成器(PRNG)来生成这些随机正整数(真正的随机数生成器很难获得)。这些生成器通常需要有专门的硬件,并使用物理源,例如电路中的热噪声或盖革计数器的精确定时。

PRNG 是一种密码学加强型函数,需要输入一个熵足够大的值作为随机种子。

熵是一个复杂的概念,但它的目标很简单:为函数提供不可预测性。通过使用安全熵源,PRNG 可以创建出伪随机数,其非随机性概率是可以忽略不计的(在可接受的特定范围内)。


Linux 中的“/dev/urandom”或Microsoft Windows中的“rand_s”通常用作 PRNG 的熵源,以实现安全的随机数生成。在这个图表中,术语“范围”被随意地用来表示范围的数学概念和计算机生成随机数所需的字节大小。

为 PRNG 提供的安全创建有效的以太坊或比特币私钥的范围是1到 2256-1(设想一个由数字0-9组成,长度为78位的密码锁)。

由于这个范围很大,生成两个私钥的概率可以忽略不计,这就是为什么您的私钥不太可能由其他用户创建的原因。

从你的钥匙中选择的整数集是一个巨大的数字-几乎与整个宇宙中可见原子的总数差不多。


比特币和以太坊都采用了1 到 2256-1的范围,这要归功于这两个区块链创建公钥所使用的数学策略。例如,以太坊使用椭圆曲线(特别是SECP-256k1)生成公钥。在最初的黄皮书中,Davin Wood 博士将私钥定义为在[1,secp256k1n?1]范围内随机选择的正整数(表示为长度为32的大端形式的字节数组)。有关所有正式定义,请参阅实际的黄皮书。


私钥、公钥和地址

由于私钥是必须保密,因此我们需要一种不同的机制来允许其他人找到我们的资产,也让我们找到他们的资产。因此,所有区块链都引入了地址的概念,从您的私钥计算出的唯一数字。

这些地址是您的加密资产的位置,可以与任何您需要了解您的加密资产余额的人共享(如果您愿意)。

区块链地址是使用公钥创建的,以确保您是该地址的所有者。反过来,这些公钥是从您的私钥生成的。

此过程是单向的,即您可以使用私钥计算出账户地址,但不能通过账户地址倒推计算出私钥。

私钥可以派生公钥,公钥可以推出区块链地址。但是,区块链地址无法用来推出公钥,公钥也无法用来推出私钥。

一单向过程是通过密码陷门功能完成的。陷门函数是一种单向函数,一个输入值只能导致唯一的输出值,但是不能根据输出值倒推原始的输入值。根据区块链生态系统的不同,这些单向功能会有所不同。

例如,最流行的区块链系统使用基于椭圆曲线的代数构造来生成它们的公钥。与这些特征无关,结果始终是确定的:公钥对于其对应的私钥是唯一的,并且私钥总是生成相同的公钥。


虽然像比特币或以太坊这样的流行区块链使用 ECDSA 上椭圆曲线 secp256k1 的固定点乘以私钥来获得其公钥,但其他区块链项目使用不同的策略。例如,门罗使用的是 EdDSA 算法和 Curve25519 曲线,Polkadot 和 Substrate 使用的是 sr25519 算法和 Ed25519 曲线。所有这些区块链都基于1 到 2256-1范围内的私钥生成公钥。


区块链地址还使用单向函数,称为哈希函数。比特币和以太坊地址是通过公钥上的一个或多个加密强哈希函数创建的,此外,还根据特定的区块链创建特定的数学运算。

由于这些哈希函数的运作方式,你绝对可以相信你的公钥和私钥对应的区块链地址是唯一的。


以太坊帐户是公钥的 Keccak-256 哈希值,此外还获取此类计算的最右边的 20 个字节。比特币私钥使用 SHA-256 和 RIPEMD-160,而 Polkadot 和 ZCash 使用 Blake2b。所有这些哈希函数都是抗碰撞的,降低了从两个公钥生成相同帐户的可能性,并确保从输入重新生成帐户的唯一方法是通过经济低效的暴力手段。我们不能保证这些哈希函数不会被破解,但是迄今为止,还没有任何区块链使用的哈希函数已被证明遭到破解。


学点数学就能保守秘密


私钥背后的密码学和数学是我们的加密资产安全的原因,只要我们保持私钥的安全。迄今为止,还没有人可以通过暴力破解方式找到与你的区块链地址对应的私钥,因为这需要消耗的能量比太阳存储的能量都多。


视频链接:https://www.youtube.com/watch?v=S9JGmA5_unY

在下篇中,我们将介绍流行的区块链生态系统以及公钥生成背后的一些数学原理。

我们将提供一些代码示例,让您尝试从每个区块链描述的过程中计算密钥,并使用一些代码库来让生成过程变得更加简单。

End

非常感谢您对 IPFS&Filecoin 项目的持续支持。我们很高兴继续与您一起,为人类信息建立一个强大的,去中心化和高效的基础。

FilCloud 帮你迅速了解 IPFS 领域的热点技术和应用公众号:filcloud

—-

编译者/作者:FilCloud

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...