区块链中的交易是如何工作的?一步步解析

3

我对区块链和比特币的工作原理非常陌生,而且我真的找不到任何详细介绍区块链交易如何工作的单一来源。下面是我从许多网站搜集到的内容,但我仍然不确定是否正确,因为每个人似乎都在说不同的事情。如果我有错误,请务必告诉我:

用户将拥有一个比特币钱包,它实际上并不是一个真正的钱包。它存储您的钱包地址或公钥。此公钥可用于查看您已完成的所有交易以及您是否具有所需的金额进行交易。您还需要一个私钥。

如果您想进行交易,则需要将您的私钥和交易详细信息散列在一起以创建签名。

此签名被广播给网络中的所有成员,即节点。

网络或节点的成员可以使用我的公钥和广播的签名来验证交易是否有效。

一旦验证成功,我的签名或交易的哈希与我的私钥一起发送到矿工那里,他们还会收到许多其他交易。这些交易使用默克尔树进行散列,最后创建一个块头。其他矿工将检查块头以查看其是否有效。如果是,则将其添加到区块链中。

块头基本上是根哈希、前一个块的哈希和随机数的哈希。


1
你已经总结得很好了,不确定你还在寻找什么? - jeanluc
1个回答

1
一个用户会有一个比特币钱包,实际上不是真正的钱包。它存储您的钱包地址或公钥。此公钥可用于查看您曾经进行了多少交易以及是否拥有所需的交易金额。您还有一个私钥。
正确,但不完全准确。您可以拥有多个公钥,这些公钥属于单个私钥。私钥本质上是您的“钱包”,也是计算属于您的所有硬币所必需的。它可以访问您所有的资金。
交易可以通过网络成员或节点验证,以查看我是否拥有我发送的资金。这是使用我的公钥和广播的签名完成的。
在这里,您还需要您的私钥,因为您可以从多个输入发送(链接)
您在此处交替使用验证,但我想有两种验证方式:
  • 创建有效的交易(可以使用您的密钥离线完成)

  • 通过网络验证交易(在线完成,当它被包含在区块中时)

一旦验证成功,我的签名或者交易哈希以及我的私钥会被发送给矿工...

我希望你的私钥不要被发送到任何地方。您发送的是包含您的公钥并用私钥签名的交易。再次强调,这可以并且鼓励离线完成,以免暴露您的私钥。已签名的交易可以安全地发送到网络,而不会暴露任何密钥。这是Ledger等硬件钱包的安全功能。

...他们还会收到很多其他的交易。

它将被发送到内存池中,内存池是未确认但已签名交易等待矿工验证的队列。当矿工通过解决nonce找到一个区块时,它会从内存池中选择一些交易。然后这些交易会被写入区块并从内存池中移除。

这些交易使用Merkle树进行哈希处理,最终创建一个区块头。其他矿工会检查该区块头是否有效。如果有效,则将其添加到区块链中。

谢谢。我想进一步了解,加密货币的创建者(管理员)能否看到其全部交易历史记录? - gseattle
@gseattle 首先,像比特币和以太坊中所见的区块链是一种分散的点对点系统。没有所谓的管理员。如果确实有中央管理员,则基本上只是一个非常高级的数据库。其次,每笔交易都是公开可见的,比如 https://www.blockchain.com/explorer。每个想要参与的完整节点都必须验证每个交易,至少要从第一笔开始(对于比特币而言)。 - mchl18
有趣的链接。 显示数量,而非人员、物品或地点。 当然,例如哈希地址是不可逆的。 我的理解是...牵涉到密钥对。 这意味着可以允许多个人访问的密钥链。 就像文件系统ACL一样不过度。 当然,在这样公开呈现时,会进行哈希处理,但是在该层下面的真实数据是否具有交易细节、加密。 理解的第一步:您能否以明文查看自己的BTC交易历史记录? - gseattle
@gseattle 在右下角,有最近的交易记录。点击其中一个哈希值,可以看到涉及的公钥和金额。例如 https://www.blockchain.com/btc/tx/6b1f40c8f7eaf9691c5b698205edc2012991d2bab03a9f63de254230765af3ca每个人都可以看到别人的交易记录,这是一份公共账本。我认为你可能需要了解一些基本的比特币说明文档。 - mchl18

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接