[9. 价值的组合和分裂]
Normally there will be either a single input from a larger previous transaction or multiple inputs combining smaller amounts, and at most two outputs: one for the payment, and one returning the change, if any, back to the sender.
[译] 通常来说,从一个先前价值较大的交易中获取的比特币的单一输入,或从小额交易中获取的多笔输入(即输入既可以是一个大笔的金额,也可以是多个小额的金额的组合),输出最多有两个:一个输出是用来支付,另外一个返回给发送者(即找零)。
[注] 目前的比特币的发送形式有很多,可以是一对一、也可以是多对一,也可以是一对多。这里与白皮书上有些差异:即可一个输入对应多个输出。如下面的一个例子:我在使用比特币水龙头(不用挖矿免费领取比特币,当然很少)提取比特币的一次的交易记录,可以看到下面的交易信息。这显然是一对多的一次交易。
在之前的钱包中,如果只写入一个地址,没有填写找零地址(即自己的地址),则会把输入的比特币剩余的钱当成比特币的手续费。目前一些新的钱包会默认设置手续费,从而避免这种不当的操作。
另外,比特币的手续费并不是按照交易的比特币的金额决定的,而是按照交易的字节大小决定的。
There is never the need to extract a complete standalone copy of a transaction's history.
[译] 虽然一笔交易的输入需要通过前面的交易记录来验证,前面的交易又需要通过更早的交易记录来验证。但是没有必要一层层进行校验。
[注] 区块形成的过程中,就是不断的验证的过程。所以,这里不会对后面的每一笔交易进行重复的验证。都是基于前面的交易是确定的,验证通过的条件下的。
[问题] 那么有些交易记录没有得到足够的确认,那么这笔交易对应的接收方的金额是能够进行使用的吗?还是说虽然目前的这笔交易可能不在最长的链上,但是交易的信息已经在网络上进行广播,这个广播已经能够进行双重支付的校验。并且,即使目前的这个链可能不是最长的链,是分叉,之后会被舍弃掉。但是交易记录仍然在网络中,仍然会被打包加入到区块链中,只是交易的时间延长了。
我之前在以太坊进行转账时遇到了转账失败,原因是转账超时。不确定比特币是不是有同样的问题。
[10. 隐私]
传统的第三方的隐私保护是靠行业间的自律,如银行里面讲保护隐私作为一条规则。但是有时也无法抵抗行政命令。而比特币的世界里,只有地址,没有将地址和个人对应起来,也没有将地址和个人的其他信息对应起来。只有地址和地址对应的私钥。因此,如果不知道这个对应,则无法知道某个人有多少比特币地址。但是如果知道了这个对应,则就知道了他这个地址里面的所有的比特币的资产。
为了避免这种情况,可以对每一笔交易使用新的地址A。但是新创建的地址上是没有比特币的,也是需要从有比特币的地址B上进行转账到地址A。这样增加了溯源的难度,因为还要再判断地址B是否和地址A对应同一个人,还是地址B是其他人的。
As an additional firewall, a new key pair should be used for each transaction to keep them from being linked to a common owner.
但是由于地址越来越多,每个地址上的比特币越来越少。可能进行一笔交易时,需要使用多个地址中的比特币来进行支付,就形成了多个输入的比特币交易。这个时候就可以确认这些比特币对应同一个人。
Some linking is still unavoidable with multi-input transactions, which necessarily reveal that their inputs were owned by the same owner.
[注] 还有一些数字货币增加了隐私保密的功能。如达世币和门罗币,达世币通过混币的方式来进行保障匿名性(即有十个人每人转账2个币给另外十个人,则把这20个币混合在一块,另外十个人每人领到2个币,这样就不知道谁转个谁了),门罗币通过环形签名的方式提供匿名性。
[11. 计算]
An attacker can only try to change one of his own transactions to take back
money he recently spent.
[译] 攻击者即使拥有了超过51%的算力,也无法作威作福。最多只能更改自己的交易信息,拿回刚刚支付出去的比特币。
[注] 当然如果攻击者有压倒性的算力优势,可以进行一些其他的攻击,如前面章节中介绍的隐藏出块攻击。即本质上攻击者无法对其他交易者攻击,或对网络攻击。但是可以对其他的矿工进行攻击,形成不正当的竞争。
本章接下来的就是使用概率的方法计算攻击者成功的概率。这里就不再描述了。
[12. 总结]
比特币使用电子签名提供数字资产所有权的证明,工作量证明机制来防止双重支付。并提供打包交易即挖矿可以获得比特币的激励,并且这种发行权确定了比特币的总量是固定的,预防了货币的通货膨胀。
自己在写文章时,会有一些思考,也会解答之前遇到的问题。这种方式还是比单纯的去读白皮书有更好的理解。接下来回读一下《精通比特币》,以及继续看以太坊和EOS的白皮书。希望加快进度,今早去研究程序代码。