比特币交易流程
- 所谓比特币交易就是从一个比特币钱包向另一个中转账,每笔交易都有数字签名来保证安全。一个交易一旦发生那么就是对所有人都公开的,每个交易的历史可以最终追溯到相应的比特币最初被挖出来的那个点。
- 比特币交易是比特币系统中最重要的部分。根据比特币系统的设计原理,系统中任何其他的部分都是为了确保比特币交易可以被生成、能在 比特币网路中得以传播和通过验证,并最终添加入全球比特币交易总账簿(比特币区块链)。比特币交易的本质是数据结构,这些数据结构中含有比特币交易参与者价值转移的相关资讯。比特币区块链是全球复式记账总账簿,每个比特币交易都是在比特币区块链上的一个公开记录。
- 比特币交易是不可逆的,任何比特币交易都是不可撤销的,只能由收款人退回比特币。这意味着你需要注意,与你了解和信任或者已经建立的信誉的个人和组织交易
- 比特币并不是匿名的,在使用比特币的时候保护你的隐私需要花费一些精力。所有的比特币交易都公开且永久地存储在网路中,意味着任何人都能查看任何一个比特币地址的余额和交易记录。然而,除非在购买过程中或者其他状况下透露了身份资讯,比特币地址背后的真实身份是保密的。这也就是建议一个比特币地址仅使用一次的原因之一。永远记住养成良好的习惯来保护你的隐私是你自己的责任。

比特币交易流程
- 一旦一笔比特币交易被发送到任意一个连接至比特币网路的节点,这笔交易将会被该节点验证。如果交易被验证有效,该节点将会将这笔交易传播到这个节点所连接的其他节点;同时,交易发起者会收到一条表示交易有效并被接受的返回资讯。如果这笔交易被验证为无效,这个节点会拒绝接受这笔交易且同时返回给交易发起者一条表示交易被拒绝的资讯。
- 比特币网路是一个点对点网路,这意味着每一个比特币节点都连接到一些其他的比特币节点(这些其他的节点是在启动点对点协议时被发现的)。整个比特币网路形成了一个松散地连接、且没有固定拓扑或任何结构的“蛛网”——这使得所有节点的地位都是同等的。比特币交易相关资讯(包括交易和区块)被传播——从每一个节点到它连接的其他节点。一笔刚通过验证且并被传递到比特币网路中任意节点的交易会被发送到三到四个相邻节点,而每一个相邻节点又会将交易发送到三至四个与它们相邻的节点。以此类推,在几秒钟之内,一笔有效的交易就会像指数级扩散的波一样在网路中传播,直到所有连接到网路的节点都接收到它。
- 创建账户
- 比特币创建全部是匿名账户,在比特币中其实所谓的账户就是用非对称加密算法(比特币使用的椭圆曲线算法)创建的一对秘钥,分为公钥和私钥。 首先私钥是一个随机数,随机选取一个32字节的数,然后再使用椭圆曲线加密算法(ECDSA-secp256k1)对这个私钥压缩生成公钥。 也就是说比特币的账户本质上就是一个随机数而已,没有其他任何信息了,这也就为后来有人利用 比特币洗黑钱带来了前所未有的便利性。所以私钥一定要安全保管,不能让其他人知道,它是你拥有比特币的唯一凭证。公钥是可以暴露给别人的,事实上我们 通常发送给别人的钱包地址就是公钥通过一系列的 hash 计算和Base58编码得到的。但是钱包地址不等于公钥, 因为以上过程全部是不可逆的, 也就是说你不能通过钱包地址推算出公钥,也不能通过公钥反推算出私钥。其实从私钥到地址,中间经过了9个步骤的计算处理,所以私钥是绝对安全的,不可能 被破解。
- 我们简单把比特币的账户生产过程总结如下
- 生成一个 32 字节的随机数作为私钥
- 把私钥使用椭圆曲线算法加密,生成公钥
- 把公钥进行一系列的 hash 计算生成公钥摘要
- 使用 Base58 编码技术对公钥摘要进行编码得到地址(这一步是可逆的)
- 假如有A, B 两个账户, 他们的账户信息分别如下
- A私钥,公钥,地址=> address为:private-key-A, public-key-A,0xxxxxx
- B私钥,公钥,地址=> address为:private-key-B, public-key-B,0qxxxxxxx