最近看了挺多区块链相关的论文,发现有挺多是解决比特币的一些问题的。仔细一看,发现这些问题我也能够想到,但是前提是对比特币的了解足够清楚。因此想着最近多看一看比特币的相关原理。

由于我在之前和同学尝试做过一点很微小的比特币原型,当时一个很疑惑的点就是比特币钱包的开发,现在看了一些内容,先来总结这个吧。

钱包

钱包需要实现的核心功能需要包括备份钱包,导出钱包以及把钱包信息存储的信息导出出来供用户查看

交易

用户身份

比特币钱包维护着一个地址池,用户的交易地址可以从这里面获取发送给别人进行交易。

交易信息

钱包最基本的内容肯定包括查询交易的详细信息,其中在bitcoin-cli中实现了简化交易,以及查询全部的交易,包括raw data和decode data

区块信息

比特币钱包既然能够查询交易,区块查询的功能也是必不可少的。 通过区块的高度来查找区块以及通过区块的hash查看区块的具体内容,这些是关于区块操作的基本功能。

UTXO交易

钱包必须能够实现交易,而且由于钱包用户仅仅包括自身用户,只需要实现维护自身的UTXO就好了,其他用户的可以不用维护。 除此之外,钱包还可以生成一笔交易,对交易进行签名并且将交易信息广播到整个区块链网络中。

结束

本文写的比较草率,主要目标是对mastering bitcoin相关内容的整理,希望在以后的学术学习中可以随时随地进行查看。