LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 比特币网络交易过程

比特币网络交易过程

2020-01-11 大姐 来源:区块链网络

2010 年比特币的价格从最初 10,000 个比特币只能买 2 个披萨(大约 30 美金),到 2017 年最高 20,000 美金一个比特币。8 年,比特币已经涨了 6,666,667 倍。如此的投资收益是每个人都想获得的,但如何抓住这样的机遇?

一旦一笔比特币交易被发送到任意一个连接至比特币网络的节点,这笔交易将会被该节点验证。如果交易被验证有效,该节点将会将这笔交易传播到这个节点所连接的其他节点;同时,交易发起者会收到一条表示交易有效并被接受的返回信息。如果这笔交易被验证为无效,这个节点会拒绝接受这笔交易且同时返回给交易发起者一条表示交易被拒绝的信息。

比特币网络是一个点对点网络,这意味着每一个比特币节点都连接到一些其他的比特币节点(这些其他的节点是在启动点对点协议时被发现的)。整个比特币网络形成了一个松散地连接、且没有固定拓扑或任何结构的「蛛网」——这使得所有节点的地位都是同等的。比特币交易相关信息(包括交易和区块)被传播——从每一个节点到它连接的其他节点。一笔刚通过验证且并被传递到比特币网络中任意节点的交易会被发送到三到四个相邻节点,而每一个相邻节点又会将交易发送到三至四个与它们相邻的节点。以此类推,在几秒钟之内,一笔有效的交易就会像指数级扩散的波一样在网络中传播,直到所有连接到网络的节点都接收到它。

涉及名词解释

加密:公钥和私钥。公钥加密,私钥解密;私钥签名,公钥验签。

私钥:实际上是一组随机数。

公钥:对私钥进行椭圆曲线加密算法生成,但是无法通过公钥倒推得到私钥。公钥的作用是在和对方交易时,使用自己的私钥加密信息,然后对方使用自己的公钥解密获得原始信息,这个过程俗称签名。

地址:由于公钥太长,在交易中不方便使用,就对公钥哈希进行 SHA256、RIPEMD160、Base58 算法加密生成地址。

对称加密,比如:小 A 要将信息传给小 B,但是通讯的网络是有可能被窃听的,为了解决这一问题,小 A 和小 B 事先商量好一个秘钥,小 A 用秘钥将信息加密传给小 B,小 B 收到信息后再用这个秘钥进行解密,因为加密解密用的是同一个秘钥,所以称为对称加密。但是这样做的前提是小 A 小 B 之间要有足够安全的通信渠道,来保证秘钥的传输,显然这是对称加密的一个不足之处。

非对称加密:用公钥加密,用私钥解密。小 A 传信息给小B时,需要用小 B 的公钥对信息进行加密,小 B 收到信息后用自己的私钥进行解密。也就是加密和解密用的都是接收方的公钥和私钥。由于公钥是公开的,发信息时只需要知道对方的公钥,而私钥不需要彼此透明,因为它是用来解密的。

假设这样一个场景:某一天,小 A 转了 10 个比特币给小 B,然后广播到区块链上,那其他人怎么知道这笔交易确实是小 A 操作的呢,会不会是有其他人冒名顶替?这时候就需要用到公私钥了,为了解决这个问题,小 A 需要在发布交易的时候用自己的私钥对这笔交易进行签名,其他人收到交易的信息之后用小A的公钥验证这笔交易签名的正确性,来确定这笔交易就是小 A 操作的。

使用『私钥』对交易进行签名

比特币钱包间的转账是通过交易(Transaction)实现的。交易数据是由转出钱包『私钥』的所有者生成,也就是说有了『私钥』就可以花费该钱包的比特币余额。生成交易的过程如下:交易的原始数据包括“转账数额”和“转入钱包地址”,但是仅有这些是不够的,因为无法证明交易的生成者对「转出钱包地址」余额有动用的权利。所以需要用『私钥』对原始数据进行签名。生成“转出钱包公钥”,这一过程与生成『钱包地址』的第 2 步是一样的。将「转出签名」和「转出公钥」添加到原始交易数据中,生成了正式的交易数据,这样它就可以被广播到比特币网络进行转账了。

—-

编译者/作者:大姐

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...