nLocktime和CLTV都是绝对时间锁定,它们指定绝对时间点。下面的两个时间锁定功能是相对时间锁定,它们将消耗输出的条件指定为从块链接中的输出确认起的经过时间。 相对时间锁是有用的,...
精通比特币(17):公钥
椭圆曲线乘法 椭圆曲线乘法是密码学家称之为“陷阱门”功能的一种函数:在一个方向(乘法)很容易做,而不可能在相反的方向(除法)做。 椭圆曲线加密法是一种基于离散对数问题的非对称加密法。可以用对椭圆曲线上...
精通比特币(86):通过掷骰子来说明矿池的工作原理
个人矿工在建立矿池账号后,设置他们的矿机连接到矿池服务器。他们的挖矿设备在挖矿时保持和矿池服务器的连接,和其他矿工同步各自的工作。这样,矿池中的矿工分享挖矿任务,之后分享奖励。成功出块的奖励支付到矿池...
精通比特币(22):P2SH (Pay-to-Script Hash)和多重签名地址
P2SH (Pay-to-Script Hash) 传统的比特币地址从数字1开头,来源于公钥,而公钥来源于私钥。虽然任何人都可以将比特币发送到一个1开头的地址,但比特币只能在通过相应的私钥签名和公钥哈...
精通比特币(77):工作量证明算法
哈希函数输入一个任意长度的数据,输出一个长度固定且绝不雷同的值,可将其视为输入的数字指纹。 对于特定输入,哈希的结果每次都一样,任何人都可以用相同的哈希函数,计算和验证哈希结果。 一个加密哈希函数的...
精通比特币(18):公钥不同WIF格式导致的钱包兼容问题的解决方案
压缩格式公钥渐渐成为了各种不同的比特币客户端的默认格式,它可以大大减少交易所需的字节数,同时也让存储区块链所需的磁盘空间变小。然而,并非所有的客户端都支持压缩格式公钥,于是那些较新的支持压缩格式公钥的...
精通比特币(34):数字签名如何工作?
数字签名是一种由两部分组成的数学方案: 第一部分是使用私钥(签名密钥)从消息(交易)创建签名的算法; 第二部分是允许任何人验证签名的算法,给定消息和公钥。 创建数字签名 在比特币的ECDSA算法的实现...
精通比特币(38):多重签名以及应用
多重签名 多重签名脚本设置了一个条件,其中N个公钥被记录在脚本中,并且至少有M个必须提供签名来解锁资金。这也称为M-N方案,其中N是密钥的总数,M是验证所需的签名的数量。 例如,2/3的...
精通比特币(71):比特币发行方案
通过创造出新区块,比特币以一个确定的但不断减慢的速率被铸造出来。大约每十分钟产生一个新区块,每一个新区块都伴随着一定数量从无到有的全新比特币。每开采210,000个块,大约耗时4年,货币发行速率降低5...
精通比特币(21):加密私钥(BIP0038)
一种解决私有机密性和可用性的方案。提案地址:https://en.bitcoin.it/wiki/BIP_0038 BIP0038提出了一个通用标准,使用一个口令加密私钥并使用Base58Check对...