用 golang 从零开始构建简易的区块链,这是系列文章的第5篇 : 地址
简要介绍以太坊的签名算法 secp256k1
本文讨论了在以太坊智能合约中使用 RSA 算法替代 ECDSA 来实现地址白名单的方法,并详细介绍了 RSA 的工作原理、实现细节及其在区块链应用中的优势。
这篇文章详细介绍了以太坊中的签名可塑性问题,特别是如何利用ECDSA签名来绕过安全措施。文章首先解释了签名可塑性的概念及其来源,接着通过Solidity和JavaScript示例演示了如何实现恶意签名操作。最后,文章还给出了防止签名可塑性的方法,例如使用OpenZeppelin库及其他最佳实践。整体内容深入且结构清晰。
本文深入探讨了以太坊中的数字签名和公钥加密技术,强调了密码学在区块链系统中的重要性。文章详细介绍了公钥密码学的基本原理、数字签名的生成和验证过程,以及如何利用EIP-712标准来解决常见的问题如重放攻击和签名可变性。
本文详细介绍了基于椭圆曲线的数字签名方案,包括ECDSA、EdDSA和Schnorr,分析了它们的原理、实现和应用,并比较了它们在区块链中的使用情况。
这篇文章深入介绍了如何使用 PHP 生成新的以太坊地址,详细阐述了以太坊地址的概念、生成原理及步骤,包括相关的 PHP 代码示例。此外,还提供了 PHP 的基本信息及其安装依赖的指导,适合希望使用 PHP 进行区块链开发的开发者。
本文介绍了如何使用Ruby创建以太坊地址,详细解释了以太坊地址的生成过程,包括私钥和公钥的创建,以及使用ruby-eth库的步骤。文章结构清晰、内容丰富,并提供了相关代码示例和附图,适合对以太坊和Ruby编程有基础知识的读者。
本文是系列文章的第一篇,讨论了在比特币中使用Taproot和假设的CAT操作码实现契约(covenant)的技术。文章详细介绍了如何利用Schnorr签名的数学特性来模拟CHECKSIGFROMSTACK的功能,并探讨了ECDSA和BIP340签名在契约中的应用。
CAT
CHECKSIGFROMSTACK
本文探讨了在Sei Protocol的区块链中优化ECDSA签名验证的挑战,尤其是在使用零知识证明(ZK)时的潜在解决方案。文章详细介绍了ECDSA的签名内容、签名过程、恢复和验证的机制,以及使用ZK证明签名的可行性和挑战。尽管实现原型显示出优化的潜力,工程团队发现通过基础代码改进提供了更为直接的解决方案,并设想未来在后量子密码签名方案的应用中进一步使用ZK技术。
本文详细介绍了阈值签名(Threshold Signatures)的工作原理,这是一种多方参与的签名方案,允许在不需要所有参与者签名的情况下生成有效的签名。文章涵盖了密钥生成、签名和验证的步骤,并讨论了多项式和椭圆曲线在其中的应用。
本文介绍了在ECDSA离散对数合约(DLC)中使用适配器签名的协议,详细解释了其工作原理和实现步骤,并比较了基于适配器的DLC与传统基于惩罚的DLC在安全性、隐私性和简单性方面的优势。
本文深入解析了椭圆曲线数字签名算法(ECDSA)的工作原理及其背后的数学原理,逐步推导了算法的实现过程,并讨论了其安全性和潜在漏洞。
本文讨论了安全随机数生成的重要性,特别是在生成敏感数据(如非ces和私钥)时。文章介绍了不同类型的随机数生成器,包括伪随机数生成器(PRNG)和加密安全伪随机数生成器(CSPRNG),并分析了实际案例中的安全漏洞,如与比特币开发工具相关的漏洞。最后,提供了生成安全随机数的最佳实践。
这篇文章深入探讨了多方计算(MPC)钱包的工作原理、组成部分以及安全性挑战。文章从传统加密学的基础知识入手,解释了如何通过MPC协议安全地管理私钥,同时揭示了实际的攻击案例以强调实现过程中可能存在的安全漏洞。