本文目录
01. 比特币里没有币
02. 再看交易输入和输出
03. 交易费怎么算
01. 比特币里没有币:真实比特币长什么样
在精读「Mastering Bitcoin(精通比特币)」2 | 交易及记账 (上) 中,用了下图来帮助理解比特币系统中是如何记账以及交易链如何形成。
同样是在精读「Mastering Bitcoin(精通比特币)」2 | 交易及记账 (上) 中,还展示了一笔交易在浏览其中长什么样子。下图就是上图中第二笔交易(Alice付给Bob 0.0150个BTC)在浏览器中的展示, 其交易号为0627052b6f28912f2703066a912ea577f2ce4da4caa5a5fbd8a57286c345c2f2
:
但是,我们在页面上看到的这些地址、输入、输出等,在比特币的系统中脱掉“外衣”后,全都长另外一幅样子:
这个可以简单的理解为面对不同对象时,说不同的语言:一种是对人说的语言,就是我们在网页上看到的那个样子;一种是对机器说的语言,就是用计算机编解码后的样子。
通过计算机把比特币交易信息解码后,可以看到比特币其实就是一串代码:
In bitcoin, there are no coins, no senders, no recipients, no balances, no accounts, and no addresses. All those things are constructed at a higher level for the benefit of the user, to make things easier to understand. 在比特币里,没有币,没有发送者,没有收据,没有余额,没有账户,没有地址。这些东西呈现成这样是为了让用户更便于理解。
02. 再看交易输入和输出
让我们以本文开头截图中的第二笔交易,也就是交易号为0627052b6f28912f2703066a912ea577f2ce4da4caa5a5fbd8a57286c345c2f2
的交易为例,看看在复式记账、网页前端及在比特币系统中这笔交易的呈现形式——
03. 交易费
就像在银行转账需要手续费一样,在比特币系统中的每笔交易也需要手续费。比特币系统中的手续费不是按照每笔交易所包含的币数量来计算,通过上面几个章节的分析,可以知道比特币及系统中交易,其实是一串串代码。比特币系统中的手续费是根据交易在网络上所占大小(以千字节为单位)来计算。把每笔交易想象成一个txt文本就好理解了,如果一笔交易所含字节多,所需手续费相应也会高。在待确认的交易中,矿工会优先选择处理手续费高的交易。
Transaction fees are calculated based on the size of the transaction in kilobytes, not the value of the transaction in bitcoin.
在https://bitcoinfees.earn.com/#fees 这个网上可以查到整个比特币系统的交易费费情况,在http://bitcoinfees.21.co/api/v1/fees/recommended页面下可以查到当前最佳交易费用为多少。
当然,如果使用手机钱包客户端,一般会自动推荐合适的交易费用。
参考文献
[1] Mastering Bitcoin 第二版 https://github.com/bitcoinbook/bitcoinbook
[2] http://learnmeabitcoin.com
ChangeLog
- 20180316 标题更改为“小白学比特币”, 增加参考文献
- 20180314 修改标题
- 20180228 首次公开发布