中本聪的愿景是让比特币成为全球范围内的电子点对点现金。为了使这一愿景成为现实,随着比特币网络越来越大,使用比特币的服务和商户需要一个更快捷的手段来处理付款。中本聪的解决方案是简易支付验证(SPV),它使得服务只处理与其相关的交易。在最近的一段视频中,比特币专家Joshua Henslee化繁为简地剖析了SPV的相关内容以及它是如何将中本聪的愿景变为现实的。
正如Henslee所指出的,比特币白皮书指出,人们不必作为单个商户运行一个完整的比特币节点。“你可以只运行一个小型的SPV节点,只处理区块头。基于区块头,给定一个特定的交易哈希值后,你可以知道它是不是在区块中。”他指出。
在对商户的付款中,其所做的交易一开始没有被确认,因此,它不在一个区块中,也没有区块头。这就带来了一项需求,即商户要保证客户没有骗他(例如,在您的银行账户没有足够资金的情况下就开支票)。
客户有他的未使用的交易输出(UTXO),这可以在区块链上“用交易哈希和输出索引的组合”来被查找到。然后他把这些原始交易发送给商户,商户根据Merkle根查找区块头,以验证它们是否在一个区块中。
虽然这使得商户确保UTXO在一个区块中,但他们无法确定这些UTXO尚未被发送给其他用户。但据Henslee所述,就像支票系统一样,很少有客户从根本上是不诚实的并会进行欺诈。此外,钱包将发挥其作用,钱包不允许用户持有已经被花费的UTXO。
一旦商户确认UTXO在一个区块上,它们就会被广播给交易处理器。
SPV不仅使商户能够快速处理比特币付款,也使客户能够进行离线支付。
“关键在于要知道,商户方的软件可以检查到给定的区块头和给定的交易哈希值,这取决于区块中的Merkle根,它被用来确认一笔交易【是否】在给定的区块头信息中。”Henslee解释道。
请您前往
科技十二月 10, 2021
Steve Kaaru