0

In Satoshi Nakamoto's diagram:

enter image description here

Consider the Hash block in the first transaction block above:

How is that Hash value calculated? I see arrows from an Owner's Public Key and another arrow, so it's confusing. Is the arrow coming from the Owner's Public Key saying that the Hash is encrypted with the owner's public key? If yes, then what is the other arrow? Is that involved during the encryption with the public key? In other words, does the previous transaction's hash get somehow combined with a new hash before being encrypted with the public key? What exactly is going on here?

Thank you.

2

Firstly, transactions are not blocks, and blocks are not transactions. They are two distinct data structures that you seem to think are the same thing.

How is that calculated?

By performing SHA256 double on the transaction.

I see an arrow coming from the left (I'll get to that in a moment)--it seems to depict the Hash of the previous transaction block. But the arrow coming from Owner 1's Public Key confuses me too. Is this diagram saying that owner 1's public key is hashed together with the previous block's hash value? Is that what actually happens in Bitcoin, or is there more detail?

Yes, the public key is part of the data that is hashed in a transaction.

'd like to see the original block in the depicted hash chain because that original block wouldn't have a previous block hash to reference. So would that mean that the first block's hash is just a hash of the owner's public key?

A transaction is more than just a public key and an output. But the first transaction in that transaction chain does not have any inputs so it does not have any previous transactions that it references. This transaction is known as a coinbase transaction or a coin generation transaction. It is created by miners and essentially produces Bitcoin out of nothingness.

Are there any good resources that go into more technical detail about the first block in the transaction hash chain and how these hashes are calculated?

Bitcoin.org's developer guide explains most of Bitcoin's details.


Is the arrow coming from the Owner's Public Key saying that the Hash is encrypted with the owner's public key?

No, it is saying that the public key is used to verify Owner 1's signature. This public key is specified in the previous transaction. In order to know what the previous transaction is, we place the hash of it in the current transaction (Owner 2's transaction). That way we can quickly lookup Owner 1's transaction to retrieve Owner 1's public key.

There is no encryption that happens in the Bitcoin protocol. Nothing is encrypted.

In other words, does the previous transaction's hash get somehow combined with a new hash before being encrypted with the public key?

Yes, the previous transaction's hash is combined with the other data in the current transaction to produce the current transaction's hash.


Instead of trying to understand the technical details and diagrams that Satoshi put in the whitepaper, you should try to understand how Bitcoin actually works today based on the code and other documentation available. The whitepaper does not describe how Bitcoin actually works; it was written months before the first release and lots of details changed between the concepts in the whitepaper and the actual implementation of those concepts.

  • Correct me if I am wrong but I am not talking about blocks on the blockchain--I know the difference between that block and a transaction block. I am talking about transaction blocks on the transaction hash chain the tracks a digital asset from genesis across all owners. Can't each link (data object) in this transaction-chain be called a "transaction block"? – Jazimov May 23 '18 at 17:27
  • 1
    No, it is not a transaction block. It is just a transaction. Calling them blocks or transaction blocks will just create more confusion. Just call it a transaction. Also, Bitcoin does create chains of transactions. A transaction input directly references the txid (aka hash) of a previous transaction. – Andrew Chow May 23 '18 at 17:52
  • 1
    Each transaction has its own hash. That hash is not part of the transaction itself because it is computed directly from the transaction. Each transaction (except for coinbase transactions) also contain the hash of a previous transaction. In the diagram, the hash that is shown is a different hash each time, it is the hash of the previous transaction. – Andrew Chow May 23 '18 at 18:23
  • 1
    The solid arrow means that the public key AND the previous transaction are hashed together. Note that this is not how Bitcoin (or any coin that I am aware of) works and is completely unnecessary. – Andrew Chow May 23 '18 at 18:28
  • 1
    Yes. The public key is in the transaction only for signature validation. – Andrew Chow May 23 '18 at 18:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.