比特币相关的基础术语有哪些
比特币客户端(钱包):是处理发送和接收比特币的软件。最流行的是从bitcoin官网下载的客户端。还有其他一些选择。
钱包:有两层含义,1、是指比特币客户端(客户端一般指桌面客户端;钱包一般指轻量级的客户端或在线钱包);2、是指存储比特币地址和私钥的文件。
比特币地址:是一个诸如 “13ignD31FysQbaBBVJUzffcQoFxxEuEcbE”的字符串,你可以从接收方获得。用客户端创建一个地址同时生成对应的私匙。
私匙:在比特币的背景下,私匙 是和对应地址相关联的(从技术上讲,地址是私钥 所对应的公钥 的哈希值),并且存储在底层,并允许您转移当前地址所拥有的比特币。请注意,因为Bitcoin的使用的ECDSA 加密算法,它能够生成从私钥生成对应的公钥和地址。
交易:交易是指一个通知整个比特币网络的信息,告诉全网交易的发生,允许接收者使用这些钱,防止发送者双重支付。
比特币是如何记账的
根据中本聪的思路设计发布的开源软件以及建构其上的P2P网络。比特币是一种P2P形式的虚拟的加密数字货币。点对点的传输意味着一个去中心化的支付系统。
与所有的货币不同,比特币不依靠特定货币机构发行,它依据特定算法,通过大量的计算产生,比特币经济使用整个P2P网络中众多节点构成的分布式数据库来确认并记录所有的交易行为,并使用密码学的设计来确保货币流通各个环节安全性。P2P的去中心化特性与算法本身可以确保无法通过大量制造比特币来人为操控币值。基于密码学的设计可以使比特币只能被真实的拥有者转移或支付。这同样确保了货币所有权与流通交易的匿名性。比特币与其他虚拟货币最大的不同,是其总数量非常有限,具有极强的稀缺性。
比特币用分布式账本摆脱了第三方机构的制约,中本聪称之为“区块链”。用户乐于奉献出CPU的运算能力,运转一个特别的软件来做一名“挖矿工”,这会构成一个网络共同来保持“区域链”。这个过程中,他们也会生成新货币。买卖也在这个网络上延伸,运转这个软件的电脑争相破解不可逆暗码难题,这些难题包含好几个买卖数据。第一个处理难题的“矿工”会得到50比特币奖赏,相关买卖区域加入链条。跟着“矿工”数量的添加,每个迷题的艰难程度也随之进步,这使每个买卖区的比特币生产率保持约在10分钟一枚。
交易及记账(上) | 小白学比特币之二
在 精读「Mastering Bitcoin」1 中, 提到比特币不仅是一个 电子现金 (系统),也是一个公开的账本,这账本上记录了每笔交易的信息。用比特币交易,其实就跟我们用人民币或者美元交易买卖东西一样。作者给比特币交易行为的定义是:
那么,在比特币系统里,是以什么样的形式将这些交易记录下来的呢?
跟传统记账一样,在比特币系统中也对交易采用复式记账的方法 (double-entry bookkeeping ledger),直白点翻译就是双入口记账。复式记账,简单理解就是以下两点 [1] :
每一笔交易都要至少在两个账户上进行记录 ,在会计记账中有三个基本账户也就是资产账户、负债账户以及所有者权益账户,跟会计等式 资产(Assets) = 负债 (Liabiliteis) + 所有者权益 (Equity) 是一一对应的。那么单独每个账户又是以怎么样的方式呈现出来的呢?方法是每个账户都需要记录这个账户的debits和credits(见上图):
说完复式记账,再回到《Mastering Bitcoin》(精通比特币) ,在书中,作者给出的记账例子如下面那张截图;一笔交易中可以包含多个Input和output。这里的Input和output如何理解呢?
总结一下:
通过作者这句话, 可以看到比特币系统其实执行的是价值交易。更进一步地,可以理解为价值的输入和输出。
上笔交易和下笔交易之间会形成一个“无形的链”:
作者用一张图形象的说明了什么是“交易链”。
对于同一个地址而言,上一笔交易中的output将会作为下一笔交易的输入,这样就形成了一个交易链。
在上面的交易截图中,我们可以看到这几笔交易里有 spent 、 unspent 和 change 。 change 为找零地址,为什么会有找零地址呢?
比特币系统中的找零概念和平时用现金交易的找零概念是一样的,如果你要买一个1块钱的包子,但是你身上只有一张20块钱的纸币,这个时候就需要包子铺老板找给你19元零钱。
在比特币系统中,每一个input就相当于一定面值的纸币。如果一笔交易中只包含一个Input,为20个BTC,当这个地址向其他地址支付1个BTC时候,就需要对方找还19个BTC。不同的是,比特币不像纸币那样只有几种面值固定的纸币,比特币系统可以随时创建“新面值”。
出于保护隐私的考虑,找零地址没必要跟原先的付款地址一样,通常钱包会生成一个新的找零地址。
在真实应用中,并不会在找零地址旁边标注 change 的字样,如下图显示(截图来自blockquanchain.info上的某笔交易),
比特币系统可以随时创建“新面值”来用于找零,而且这“零钱”可以用于下次交易。在每个输出(output)记录里,可消费的比特币数量会被标记成 unspent ,这样的输出有一个专门的名字叫做 Unspent Transaction Outputs (UTXO)。可以把unspent的输出理解为面值不同的、可用于下次消费的纸币,就好像10元面值纸币、100元面值纸币那样。
[1] Mastering Bitcoin 第二版 https://github.com/bitcoinbook/bitcoinbook
[2] http://learnmeabitcoin.com
什么是比特币找零机制?
比特币在生意时会把消费时所用的地址(消费地址)的余额置零。当需付的金额小于可用余额时,生意信息中有必要告诉比特币网络零钱将被发送至的地址,即“找零地址”。找零地址或许是也或许不是原先消费时所用的地址。
怎么进行比特币交易和找零
比特币是一种数字货币,可以进行交易,具有非常高的信誉度,一起来看看比特币找零机制是什么样的吧。1比特币的转账可以一次把多个地址的余额转出。
2可以一次转入多个地址。
3当需要支付5个比特币给牛牛。
4每个地址的余额都不足以支付5个比特币。
5可以发起一笔转账,将三个地址的比特币全部转账给牛牛。
6当地址中有5个比特币,只需要转1个给牛牛。
7可以告诉矿工,1个转给牛牛,4个转给自己。
8转给自己的可以转回原地址,可以转到新建地址。