加密货币如何运用密码学?

密码学初学者指南
当比特币协议在2009年上线时,世界呈现出一种全新的货币系统,这种系统的安全性和发行方式与传统货币截然不同。
法定货币如美元或日元是通过对传统银行系统的信任来保障的,并由各国的中央银行发行。任何新货币的流通都是基于各国政府决定的灵活货币政策。从某种意义上说,法定货币是基于对各国金融实力及保护该实力的军队的信任。
另一方面,比特币以及随后在比特币推出后创建的所有加密货币,都是通过“密码学”的科学实践来保障和发行的。
最终,比特币在一个预定的、计算机控制的货币政策下运行,任何个人、公司或政府都无法更改。比特币用户并不是将信任寄托在政府或机构上,而是将信任寄托在密码学和协议的透明规则集上,这使其能够可靠地运作,无论市场价格或市场情绪如何。

什么是密码学?
密码学是研究加密和解密信息的学科。简而言之,它是改变信息的实践,以便只有发送者和预期的接收者能够理解。
如果加密信息被意外接收者截获,密码学将使得截获者几乎不可能理解其中包含的信息。
密码学的最早例子之一可以追溯到公元前7世纪,当时古希腊人将写有秘密信息的皮革条缠绕在木棒上,这种加密方法被称为斯凯塔尔。一旦解开,皮革条上会有一串字母,只有拥有相同直径木棒的人才能解读。
在战争时期,密码学在保障可能被分散部队截获的通信中发挥了至关重要的作用。在第二次世界大战中,使用密码学解密来自恩尼格玛密码机的纳粹无线电传输被证明对结束欧洲的入侵至关重要。
快进到今天,密码学在像比特币这样的加密货币的安全性和发行中发挥了基础性作用。
密码学是加密货币的重要组成部分,用于:
- 创建加密钱包密钥对
- 通过挖矿过程发行新比特币
- 数字签名交易消息
比特币如何使用密码学?
网络安全
用于挖掘比特币的计算资源总和有助于保护网络免受网络攻击。这被统称为网络的“哈希率”。网络上的矿工越多,哈希率越高,压倒网络所需的计算能力也越大,达到51%的多数。
51%攻击是公共区块链网络面临的最大威胁之一。能够集中足够资源以控制区块链哈希率至少51%的恶意代理,获得阻止传入交易、改变交易顺序和双重花费资金的能力。然而,通过使过程计算上变得困难,比特币网络防止恶意行为者控制网络。
不可变性
SHA-256哈希也负责使基于区块链的交易不可变。
一旦交易被打包成新块并由网络中的所有其他志愿者验证,每个交易消息都使用SHA-256密码算法进行哈希处理。
这些已经哈希的交易随后成对系统性地哈希在一起,创建一个被称为“梅克尔树”的东西。交易对被一起哈希,直到最终区块内的所有交易都由一个单一的哈希值表示。这个单一的值成为梅克尔根,并存储在区块头中。
由于哈希是确定性的——意味着相同的输入总是会产生相同的唯一输出值——任何恶意行为者试图更改交易块的尝试将导致一个全新的梅克尔根值。系统中的其他志愿者能够看到与有效区块相比的更改梅克尔根,并拒绝它,统一防止腐败。
无信任操作
密码算法的确定性特性允许网络用户在不需要可信中介验证和处理支付的情况下进行比特币交易。
通过保持去中心化,消除人为干预,交易可以显著更快地处理,费用通常比传统银行解决方案便宜得多。
比特币使用什么密码学?
生成私钥和公钥
比特币使用椭圆曲线密码学(ECC)和安全哈希算法256 (SHA-256) 从各自的私钥生成公钥。
公钥用于创建接收入站交易的加密钱包地址,而私钥则用于签署交易并证明资金的所有权。
你可以把私钥想象成你的银行密码,而公钥则像你的银行账户号码。黑客需要两者才能对你的财务做出不当行为。
私钥是密钥对中至关重要的部分,存储在加密钱包中。从技术上讲,加密钱包存储一个人对其加密资金的访问权限——而不是实际的加密货币。资金本身只是记录在区块链上的数据条目,可以使用存储在你钱包中的密钥进行识别和解锁。
椭圆曲线密码学
ECC是使用一种特殊的数学曲线,该曲线是水平对称的。如果你在这条曲线上画任何一条线,它最多会与形状相交三次。ECC是加密货币的重要组成部分,它使用户能够生成公钥。
要生成比特币密钥对,你必须首先创建一个私钥。
比特币私钥是一个随机生成的256位数字(在1到2²⁵⁶之间,或2的256次方——一个极其庞大的数字!)。在像Kraken这样的服务上,这个数字在设置新的加密钱包时会自动生成。
然后,公钥是通过椭圆曲线乘法从这个数字生成的。这涉及到在椭圆曲线上取一个起始点(称为生成点),并将其乘以随机私钥数字,以产生曲线上的新点。
这个新点成为具有特定x和y坐标的公钥。在知道公钥的情况下找到私钥几乎是不可能的,因为猜测一个随机的256位数字是非常困难的。正确的机会大约是1/150,000万亿亿亿亿亿亿亿亿。
理论上讲,找到这个数字需要一个拥有超过13,000,000个物理量子比特的量子计算机,才能在一天内找到。迄今为止,世界上最先进的量子计算机之一,IBM Eagle处理器,仅拥有127个量子位(或所需量子位的0.00097%)。
换句话说,当前加密货币使用的系统是完全安全的。
SHA-256
要创建比特币钱包地址,x和y坐标需要通过SHA-256算法处理。
这个加密哈希函数是由美国国家安全局(NSA)在2001年开发和发布的,基本上将任何输入(在这种情况下是公钥坐标)转换为一个独特的、固定长度的256位代码。
该代码以64个字符的十六进制格式呈现,包含数字0到9和字母A-F的混合。
ECC和SHA-256加密函数被称为“陷门”或“确定性”函数。这意味着它们只能单向工作,无法逆转以揭示原始输入。
虽然可以从私钥创建公钥,但无法逆转该过程以揭示私钥。尝试发现用于创建比特币钱包地址的公钥也是如此。只有公钥持有者拥有该信息,并可以用它来证明比特币钱包地址的所有权。
需要更好的理解方式吗?想象一下,有人将从150,000亿亿亿亿亿亿亿亿个选项中混合出各种不同颜色的油漆,以创建一种独特的颜色。
如果你知道正确油漆的确切数量,你就能够再现完全相同的颜色。但如果你不知道呢?试图逆转这个过程几乎是不可能的。
这本质上就是这些陷门加密函数的工作原理,以及它们的输入在与输出相比时如何变得不可识别。
发行新比特币
挖矿是比特币区块链采用的工作量证明共识机制的一部分,用于选择诚实的参与者以添加新的数据块。
它通过使用SHA-256哈希来实现这一点。成千上万的网络志愿者——被称为挖矿 节点——使用专门构建的计算机相互竞争,每秒生成数万亿个哈希值。
矿工首先获取区块头——包含有关区块的所有顶级信息的部分,包括其时间戳、矿工需要超越的目标值和其他关键组件——从链中最新的区块中,并调整一个称为 随机数 的数字。
随机数是一个助记符,表示 仅使用一次的数字。这是区块头的一部分,可以更改以创建新的哈希值。
基于密码学的挖矿竞争的目标很简单。矿工使用他们的机器自动调整区块头中的随机数,并通过 SHA-256 哈希算法运行它以生成一个值。
无论哪个矿工生成的值在前面有与目标值相同或更多的零,就赢得了比赛。如果该值未能超越目标值,矿工再次调整随机数,重新哈希区块头并生成一个新值。
这个过程会重复,直到有人成功。
新铸造的比特币根据其创建者中本聪预先编程到比特币源代码中的固定发行计划,奖励给每个成功的矿工。
密码学在处理比特币交易和通过挖矿过程保持网络安全方面发挥着至关重要的作用。您可以查看 Kraken 学习中心的文章 什么是比特币挖矿? 以了解更多信息。
数字签名
数字签名对于允许发送者证明他们拥有特定公钥对应的私钥至关重要,而无需 向他人透露他们的私钥。
比特币使用椭圆曲线数字签名算法 (ECDSA) 来加密批准和发送来自加密钱包的交易。
这涉及到发送者获取一个哈希交易消息——其中包含接收者的钱包地址、发送的 BTC 数量、任何附加费用以及比特币的来源——将其私钥添加到其中,并使用另一种单向数学过程创建数字签名。
更具体地说,这涉及到一个类似于上述从私钥创建公钥的过程,并增加了一些额外的步骤。
生成一个随机数(类似于私钥),然后将其与用于创建钱包公钥的相同生成点相乘,以在椭圆曲线上创建一个新点。我们称这个点为 A 点。
A 点的 X 坐标然后与发送者的私钥相乘,并添加到哈希交易消息中。所有这些都被起始生成的随机数除以,以产生一个新值。这个值作为数字签名。
为了验证数字签名,接收者在椭圆曲线上推导出两个点。首先,消息被数字签名值除以,以获得生成点。然后,生成点的X坐标被数字签名值除以,以揭示曲线上的第二个点。
最后,通过这两个点绘制一条线,产生椭圆曲线上的第三个最终点。这个最终点的X坐标应该与点A完全相同,从而证明数字签名是使用正确的对应私钥创建的。
幸运的是,数字加密钱包自动执行所有这些验证过程,无需用户输入。
密码学为什么重要?
密码学在不仅保护加密货币网络免受腐败方面发挥着重要作用,还提供了一种不可否认的方式来证明资金的所有权,而不强迫用户放弃其敏感的私钥信息。
没有它,加密货币网络可能被迫依赖可信的集中中介来保护其信息和促进支付——这完全违背了基于公共区块链的加密货币的去中心化特性。
现在你了解了支持加密货币的技术,是时候开始使用最透明和可信的数字资产交易所了。
开始使用Kraken
您准备好通过可信且透明的交易所进行加密世界之旅的下一步了吗?点击以下按钮,立即加入 Kraken!