区块链中的密码学2025年6月5日 | 阅读 15 分钟 引言加密技术是 区块链 技术的核心,对于保护去中心化网络中交易的隐私和完整性至关重要。它使用数学技术来编码和保护数据,使得未经授权的用户几乎不可能更改或访问敏感信息。在区块链的上下文中,加密机制在没有中心化机构的情况下提供了交易安全性、数据保密性和用户身份验证。 加密技术是使用区块链技术创建安全、无需信任的数字交易环境的关键。它允许参与者在没有中介的情况下进行资产或信息的交换。通过加密算法,区块链网络保证数据记录不可更改或删除,具有不变性。这种特性对于构建由数学证明保证信任而非仲裁者保证信任的去中心化系统至关重要。 历史与演变1976年 – 公钥加密的诞生- 公钥加密由 Whitfield Diffie 和 Martin Hellman 提出,使得双方无需共享任何密钥即可安全通信。通过这一突破,非对称 加密 被引入,其中一个密钥用于加密,另一个密钥用于解密。这是现代加密技术的基础,区块链在此基础上实现交易安全和身份验证。
1991年 – 哈希算法在数字安全中的应用- 密码学家 Ralph Merkle 提出了 Merkle 树,旨在使数字交易完整且快速。Merkle 树对于通过安全的区块链网络保护大量数据集至关重要,因为它们可以用非常少的计算资源来验证大量数据集。后来,这项创新被 比特币 和其他加密货币采纳,以实现区块链交易的高效验证和防篡改。
1993年 – 数字签名在安全交易中的应用- 美国国家标准与技术研究院 (NIST) 推出了数字签名算法 (DSA),用于验证数字传输的消息。区块链将数字签名的概念作为其基本组成部分,以便只有授权用户才能在交易中提供批准。这是区块链网络所依据的重要概念,用户可以使用它来对交易进行加密签名,以防止伪造或未经授权的更改。
2008年 – 比特币和 SHA-256 哈希算法- 第一个去中心化加密货币比特币由中本聪推出,它使用了 SHA 256 哈希和椭圆曲线数字签名算法 (ECDSA) 等加密函数来确保交易安全。SHA-256 确保交易数据不可更改,而 ECDSA 确保所有权并防止欺诈。这些加密方法很快成为在没有中心化机构的情况下确保区块链交易和共识的安全“黄金标准”。
2013年 – 智能合约和加密创新- 以太坊是由 Vitalik Buterin 提出的一个概念,他提出了在区块链平台上运行的、基于加密原理的自执行程序——智能合约。 以太坊 使用 Keccak-256 哈希,提高了数字交易的安全性和降低了漏洞。除了金融应用,智能合约还将区块链的应用范围扩展到金融领域之外,并能够基于加密证明在没有中介的情况下安全地使用去中心化应用程序 (DApps)。
2016年 – 增强隐私的加密技术 (ZKP 和环签名)- 零知识证明 (zk-SNARKs) 是一种加密方式,可以在不泄露发送方、接收方和交易细节的情况下验证交易,这是 Zcash 提出的。此外,Monero 引入了环签名,将交易来源与其他交易混合,使得追踪原始交易的准确归属变得困难。通过引入这些增强隐私的加密技术,区块链网络中的匿名性有所提高,同时又能进行可验证的保密交易。
2020年 – 量子计算后的密码学在区块链中的应用- 随着量子计算的进步,对 RSA 和 ECDSA 等常见加密算法的量子威胁引起了研究界的警觉。为了应对这些风险,许多区块链开发人员开始围绕量子计算后的密码学进行开发。为了确保即使在量子计算机进行大规模计算时区块链网络仍然安全,人们正在研究抗量子方法,例如基于叶片的加密和基于哈希的签名。
2024年 – 向量子计算后的密码学过渡- NIST 公布了首批标准化后的量子计算后密码学算法,这是区块链网络免受量子攻击的关键一步。因此,区块链开发人员开始在其系统中添加抗量子密码学方案,以实现数字交易的未来安全性。与此同时,人们引入了 CRYSTALS-Dilithium 和 Falcon 等加密创新,以确保区块链的安全在量子时代能够持续。
哈希在加密技术中的应用哈希的概念及其重要性- 哈希是一种单向加密函数,它接受输入(数据)并生成一个唯一的固定长度的输出,称为哈希。这样,即使输入中的微小变化也会产生一个完全不同的哈希,从而保证数据的完整性。在区块链中,哈希用于保护交易记录,以便其他区块链用户可以检测到数据的更改。由于哈希函数总是确定性的(相同的输入总是产生相同的输出),因此它们是验证和保护存储数据的可靠方法。
哈希在区块链交易中的作用- 在区块链网络中进行的每一笔交易,在添加到账本之前都会进行哈希处理。当用户发起一笔交易时,区块会以哈希的形式存储交易数据。这个哈希是一个独特的数字指纹,无法被篡改或修改,从而使该交易独一无二。此外,新区块的哈希包含前一个区块的哈希,这使得能够构建一个区块链,从而提高安全性并防止篡改。
SHA-256:区块链中使用的哈希算法- 使用 SHA-256 (安全哈希算法 256 位) 哈希函数的区块链网络包括比特币以及许多其他网络。SHA-256 生成一个 64 个字符的固定长度的哈希,足以保护浏览器免受网络威胁。它是计算上不可逆的,这意味着给定其哈希,无法恢复原始输入。由于这一特性,SHA-256 是完美的区块链安全特征,因为它意味着一旦交易完成,就无法被更改或撤销。
在工作量证明 (PoW) 共识机制中- 在使用工作量证明 (PoW) 共识机制的区块链网络中,哈希处理是挖矿的关键环节。为了生成满足特定条件的哈希,矿工们会相互竞争,寻找一个好的公式。解决哈希难题的过程描述了一个需要大量计算能力的过程。找到这样一个哈希后,矿工会报告它,将其添加到区块链(并获得奖励),然后重新开始。这种机制可以防止欺诈活动并确保网络的安全。
哈希指针和区块链的不可篡改性- 不可篡改性是区块链的关键部分,意味着数据一旦记录就无法更改。但为了实现这一点,我们需要哈希指针,以便我们可以将每个区块链接到前一个区块的哈希。在这种情况下,区块包含数据,但是,例如,如果黑客想要修改区块中的任何数据,该区块的哈希就会改变,并使所有后续区块无效。这导致区块链无法被篡改,因为即使是单个交易的更改也需要重新计算整个区块链,这是一项计算上不可行的任务。
共识机制与加密安全共识机制中的加密技术- 共识机制以加密技术为基础,即安全、不可篡改和可验证的交易。使用公钥加密来验证交易的真实性。通过哈希算法来保护数据或使其免受篡改。区块链网络需要加密安全来防止任何可能被恶意行为者操纵的攻击,甚至可以破坏共识。真正去中心化的环境通过加密技术来保证安全,确保去中心化环境的信任,使点对点交易尽可能安全。
权益证明 (PoS) 和数字签名- 权益证明 (PoS) 取代了能源消耗巨大的工作量证明 (PoW) 过程,该过程规定只有消耗能源进行计算机计算的矿工才能参与。相反,在权益证明 (PoS) 中,只有验证者所质押的加密货币数量决定了谁能参与网络。交易通过数字签名和加密密钥进行验证,确认只有正确的节点才能提议和验证区块。这种机制的好处在于可以最大限度地减少 Sybil 攻击的风险并提高网络的效率。PoS 用于保护 Cardano 和 Ethereum 2.0 提案中的交易,降低能耗。
拜占庭容错 (BFT) 和安全通信- 为了保护区块链网络免受一群恶意行为节点的影响,拜占庭容错 (BFT) 被用来保持其运行。双花攻击和交易真实性验证需要加密安全。诸如实用拜占庭容错 (PBFT) 等共识算法使用数字签名来认证来自节点的报文,以确认它们确实来自该节点,并检测和拒绝欺诈交易。为此,Hyperledger Fabric 使用 PBFT 为企业区块链解决方案提供增强的安全性。
共识机制中的零知识证明- ZKP 通过允许一方在不泄露任何敏感细节的情况下证明交易的知识来增强加密安全性。它被用于需要处理私有和匿名交易的区块链网络。然而,在无许可的区块链环境中编码,同时保持交易的可验证性并满足用户隐私需求,需要使用诸如 Zcash 中的 zk-SNARKS(零知识简洁非交互论证)等共识机制,因为这些机制非常适合安全的区块链。
加密投票和委托权益证明 (DPoS)- DPoS(委托权益证明)在 PoS 的基础上进行改进,将其转变为一个代币持有者投票选出委托验证者的过程,从而改进了代币持有者的投票机制。投票受到加密技术的保护,例如哈希和加密,以确保公平透明且不受操纵。一些使用 DPoS 的区块链,如 EOS 和 TRON,将其作为其他共识机制的替代方案;它能效高,但通过加密验证与其他机制一样安全。
混合共识和多层加密安全- 有些区块链网络提供了混合共识机制,其中结合使用不同的加密安全方法以提高安全性。加密哈希函数被用于保护 PoW + PoS 混合证明,使得质押用户能够验证交易。此外,多层安全模型结合了加密、数字签名和哈希函数来防止攻击。Algorand 和 Polkadot 都在实施混合解决方案,这些解决方案几乎是可扩展的、高度去中心化的且加密安全的。
Merkle 树和加密中的数据完整性Merkle 树的结构和加密哈希- 它是一个二叉树,其中每个叶节点都有一个数据块的加密哈希,而每个非叶节点是其子节点哈希的哈希,一直处理到顶部的单个哈希即 Merkle 根。整个数据集的根哈希充当其唯一指纹,使得通过它有可能检测到任何形式的篡改,因为对数据的任何更改都会导致一个完全不同的根哈希。
区块链中的数据完整性验证- 它被广泛用于区块链技术中,以确保数据的完整性和安全性。当创建新区块时,其交易会被哈希并组织成 Merkle 树;然后,Merkle 根存储在区块头中。在验证过程中,Merkle 根足以让节点验证交易未被篡改。它允许在区块链上进行高效验证,而无需下载整个账本。因此,它使得区块链数据安全且可扩展。
使用 Merkle 树的高效证明 (Merkle Proofs)- Merkle 证明允许人们在不透露完整数据集的情况下验证数据的一部分。之所以有用,是因为轻量级区块链客户端(例如比特币中的简化支付验证 (SPV) 节点)可以使用区块头而不是整个区块链来验证交易。
防篡改和加密安全- 任何一个数据块的哈希在被更改后都会影响到所有父节点,直到 Merkle 根。因此,无法在不被检测到的情况下修改数据。比特币和以太坊中交易的 Merkle 根是通过 SHA-256 或 Keccak-256 等加密哈希函数获得的,即使是很小的更改也会产生一个截然不同的 Merkle 根。
Merkle 树在分布式系统和云安全中的应用- 分布式系统也使用 Merkle 树来确保区块链以外的数据完整性。例如,云存储提供商使用 Merkle 树来验证存储的文件没有被未经授权的实体修改。Merkle 树用于 IPFS (星际文件系统) 等文件系统和 Google 的 Certificate Transparency 等数据同步协议,以确保防篡改日志,并保证存储和传输数据的真实性。
可扩展且高性能的加密系统- Merkle 树通过实现高效的数据验证和存储,提高了加密应用程序的可扩展性。验证者无需检查整个数据集,而是检查一部分哈希。这减少了计算开销。在大规模区块链网络和安全通信系统中,对快速可靠的数据完整性检查有强烈需求。
区块链网络中的身份标识加密 (IBE)身份标识加密 (IBE) 的概念- 通过 IBE 加密,用户可以通过从其身份中派生出公钥来获取公钥,而不是使用随机生成的密钥。一个受信任的私钥生成器 (PKG) 会将私钥分发给用户,以建立安全连接。使用这种方法消除了对区块链中复杂证书颁发机构 (CA) 的需求,使得去中心化应用程序 (DApps) 和智能合约的加密更加易于访问且效率更高。
区块链中的简化密钥管理- 目前区块链中使用的加密技术要求用户安全地存储和分发他们的公私钥对。IBE 通过将加密密钥与用户身份关联来实现这一功能,从而减轻了密钥管理系统的负担。这些网络中的安全功能通过创建高效的多用户访问系统来造福许可链,这些系统在没有外部密钥管理器的情况下运行,从而提高了可扩展性和运行速度。
增强去中心化身份 (DID) 系统- 通过区块链技术,用户可以通过使用去中心化标识符 (DIDs) 来完全控制他们的数字身份。IBE 通过使身份可以直接用作加密密钥来增强 DID 系统,从而保护系统免受未经授权的访问。用户可以通过这种方法验证身份,因为它既能保护隐私又能保证安全,同时避免不必要的个人数据暴露。身份标识加密 (IBE) 的加密能力使自我主权身份 (SSI) 解决方案能够防御未经授权访问用户密钥,同时保持身份验证的可访问性。
安全消息传递和智能合约- 通过 IBE,用户可以建立端到端加密 (E2EE),从而保护基于区块链的消息传递和验证交易。智能合约中的消息或交易的加密取决于接收者的身份,而不是传统上需要手动交换公钥的要求。实施 IBE 可以通过启用机密计算来消除密钥漏洞风险,从而将加密信息访问限制在授权的接收者。
加密攻击与对策暴力破解攻击- 暴力破解攻击是指尝试所有可能的密钥或密码直到找到正确的密钥。密钥的长度和复杂性会影响此攻击的可行性;较短的密钥更容易被破解。对策:采用强大、高度复杂的密码以及 256 位加密密钥,以使暴力破解攻击在计算上不可行。一种预防措施是实施账户锁定机制,以阻止重复尝试破解账户。
中间人 (MitM) 攻击- 中间人 (MitM) 攻击是指攻击者在不被双方知情的情况下拦截并可能操纵通信。因此,这直接导致数据泄露或未经授权的交易。解决方案:使用端到端加密,并确保仅使用 HTTPS 等安全通信协议。构建相互认证机制,以确保通信方身份可验证。
选择明文攻击 (CPA)- CPA 攻击是指当攻击者可以加密任何明文并观察相应的密文时,旨在泄露加密密钥或加密算法的弱点。语义安全和 CPA 抗性保证,即利用随机初始化向量的加密方案,是对此类攻击的对策。定期轮换加密库(以及该库使用的所有加密密钥),以便及时解决已知漏洞。
侧信道攻击- 侧信道攻击是指从物理辐射(例如,时序信息、功耗)中提取加密设备秘密密钥的攻击。通过诸如常数时间算法等方法来避免泄漏,这些算法依赖于输入不是参数。至少添加噪声和一些随机化来隐藏可能被利用的规律性。
重放攻击- 重放攻击是指攻击者捕获有效的传输数据,然后利用它们来执行未经授权的操作,例如进行重复的金融交易。解决方案是为每笔交易实施会话令牌和时间戳,以确保没有交易被重复或延迟。可以在通信协议中使用 Nonce 值(一次性随机数)来避免重复使用捕获的数据。
量子计算威胁- 新兴的量子计算机有可能破解一些加密算法,因为它们能够比当前计算机更快地解决复杂的数学问题。可以采取的对策是:过渡到抗量子密码学算法,这些算法能够抵御量子攻击。及时了解抗量子标准的最新进展,并调整加密实践。
未来趋势基于格的密码学的发展- 基于格的密码学展示了作为开发具有量子抗性的加密方案的坚实基础的潜力。美国国家标准与技术研究院已经从包括 CRYSTALS-Dilithium 或 Falcon 在内的群体中选出了抗量子的数字签名算法进行标准化,这些算法利用格问题。该框架授权使用基于格的方法作为保护措施,以防御区块链平台未来的量子威胁。
通过去中心化标识符 (DID) 增强身份管理- 去中心化标识符 (DIDs) 正在兴起,它们作为用户声明对其数字身份所有权的方式,而无需由中心化机构控制。通过区块链的不可篡改性、加密基础和 DIDs,身份管理得以安全、可验证且保护隐私。因此,这可能构成一种根本性的方式,可以取消手动身份验证设置,并减少对负责其数字环境中数据的人的信任和权力。
向量子计算后的密码学过渡- 量子计算将对当前加密算法构成挑战,因为量子计算机能够破解量子区块链和数十亿美元的加密资产。通常被称为 NIST 的美国国家标准与技术研究院一直在忙于标准化抗量子密码学算法以应对这一挑战。NIST 于 2024 年 8 月发布了首批三项抗量子密码学标准,这是迈向抗量子区块链系统的第一步。
零知识证明 (ZKP) 的采用- ZKP 是“在不泄露任何信息的情况下证明一个陈述为真”的一般化,其中一方被允许向另一方证明一个陈述为真,而无需透露任何信息。这使得区块链交易具有隐私性,而无需暴露底层数据。ZKP 已被整合到许多加密货币中,如 Zcash,以使用户能够享受额外的匿名服务,同时持续的研究正在努力改进 ZKP,使其在广泛的区块链用例中更有效和可扩展。
同态加密的集成- 同态加密意味着我们可以在密文上执行计算,并将结果以密文的形式返回,同时保持整个过程的私密性。这意味着在区块链中,智能合约是一种可以在加密输入上运行的代码,以确保数据机密性。从计算上看,完全同态加密非常密集,但它正变得越来越实用,这可能意味着可以在开源区块链上执行机密数据处理,而无需泄露敏感数据。
结论加密技术在去中心化系统中的作用至关重要,这正是区块链所宣称的,因为它保证了系统的安全性且无需信任。为了避免恶意篡改和未经授权访问交易,区块链利用了诸如哈希函数、数字签名和公私钥加密等加密技术。哈希确保数据不可更改,而数字签名用于验证用户身份。对于任何安全的点对点交易,都必须使用公钥加密。 通过运用这些加密方法,区块链能够抵抗欺诈,这得益于交易参与者的身份验证和可靠性。随着区块链用户数量的增加,区块链保持数据和交易安全的能力(这是关键)将由加密技术来维持,因为它将能够实现从金融到医疗保健的每一个主要行业的安全交易和数据交换。
|