Bitcoin Forum
November 12, 2024, 11:17:04 AM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Is this how a single Bitcoin data looks like?  (Read 227 times)
bitcoinflea (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 4


View Profile
January 09, 2021, 04:51:11 AM
Merited by ABCbits (1)
 #1

We all know what a dollar bill is made of (some plant fibers, paper and proprietary cloth fiber according to US Treasury specs) and so is a quarter (an alloy of metals minted by the US Central Bank)

But I'm curious about that one coin of crypto-currency, like Bitcoin (BTC) or Bitcoin Cash (BCH)

The data that makes up crypto-currency like Bitcoin - what is it made of?
Is it like what my diagram says it to be?

https://imgur.com/OYQVVbH

Hope you guys here can help - I'm really curious about that....

ranochigo
Legendary
*
Offline Offline

Activity: 3038
Merit: 4420


Crypto Swap Exchange


View Profile
January 09, 2021, 04:59:53 AM
Last edit: January 09, 2021, 05:13:55 AM by ranochigo
Merited by vapourminer (1), ABCbits (1)
 #2

No.

There isn't any data that specifically represents a single Bitcoin. Rather, transactions references UTXOs (unspent transaction output) within transactions to send the funds. Every transaction, other than the coinbase transaction within a block contains a UTXO to be defined and spent. The UTXO set contains data like the TXID, TX index, block which it's in, script etc, amount, etc.

Bitcoin works like a ledger where the coins are originated from the coinbase transaction in a block but there is no actual representation of individual unique coins.

The ledger should not contain the private keys pairs for each pkh address. Transactions can only be spent by fulfilling the criteria as defined in the UTXO, be it corresponding signatures or specific conditions.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
bitcoinflea (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 4


View Profile
January 09, 2021, 05:25:49 AM
 #3

No.

There isn't any data that specifically represents a single Bitcoin. Rather, transactions references UTXOs (unspent transaction output) within transactions to send the funds. Every transaction, other than the coinbase transaction within a block contains a UTXO to be defined and spent. The UTXO set contains data like the TXID, TX index, block which it's in, script etc, amount, etc.

Bitcoin works like a ledger where the coins are originated from the coinbase transaction in a block but there is no actual representation of individual unique coins.

The ledger should not contain the private keys pairs for each pkh address. Transactions can only be spent by fulfilling the criteria as defined in the UTXO, be it corresponding signatures or specific conditions.


So, are you telling me it's formless - like, it doesn't have a format or anything?
It's not like this then:

 -------------------------------------------------------------------------------------------------
| index of owner's private key ||    index of latest Bitcoin ledger   ||   index of Bitcoin denomination    |
 -------------------------------------------------------------------------------------------------

(Sorry for the crude representation of my original graphic - just wanted to put it here for reference...)

But if the UTXO is that thing, how should the Bitcoin look like?
Sorry but I can't seem to form an image in my mind as to what it would look like....

ranochigo
Legendary
*
Offline Offline

Activity: 3038
Merit: 4420


Crypto Swap Exchange


View Profile
January 09, 2021, 05:37:08 AM
 #4

-------------------------------------------------------------------------------------------------
| index of owner's private key ||    index of latest Bitcoin ledger   ||   index of Bitcoin denomination    |
 -------------------------------------------------------------------------------------------------
Nope.

But if the UTXO is that thing, how should the Bitcoin look like?
Sorry but I can't seem to form an image in my mind as to what it would look like....
Transaction always references the UTXO that are created from the previous transaction.  UTXOs are stored within the chainstate for the reference client. The link for the more technical format is here[1].

You should have a read up on Mastering Bitcoin, it has plenty of visual references which should aid your understanding. Specifically to this question, you'll have to refer to this[2].

[1] https://en.bitcoin.it/wiki/Bitcoin_Core_0.11_(ch_2):_Data_Storage#The_UTXO_set_.28chainstate_leveldb.29
[2] https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch06.asciidoc


Edit: Link within the wiki is outdated and they changed the format of the chainstate from around 0.15.0 iirc.

You'll have to refer to this: https://github.com/bitcoin/bitcoin/blob/master/src/coins.h#L24 for the current format Bitcoin Core uses.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
bitcoinflea (OP)
Newbie
*
Offline Offline

Activity: 12
Merit: 4


View Profile
January 09, 2021, 05:50:47 AM
 #5

I've been scanning the references you sent...

The term "UTXO db"
          ... is that the very "coin" that I'm really looking for?

If that's the case, by dissecting it (that is "UTXO db"), I'd get to understand how a Bitcoin looks like and works - is that it? :-/
ranochigo
Legendary
*
Offline Offline

Activity: 3038
Merit: 4420


Crypto Swap Exchange


View Profile
January 09, 2021, 06:06:14 AM
 #6

I've been scanning the references you sent...

The term "UTXO db"
          ... is that the very "coin" that I'm really looking for?

If that's the case, by dissecting it (that is "UTXO db"), I'd get to understand how a Bitcoin looks like and works - is that it? :-/
Yes. That database represents all the unspent coins (or rather unspent outputs) that currently exist. If I've understood your question correctly, which is how Bitcoins are defined and represented at a protocol level. Reading the book would probably answer most of your queries.

█▀▀▀











█▄▄▄
▀▀▀▀▀▀▀▀▀▀▀
e
▄▄▄▄▄▄▄▄▄▄▄
█████████████
████████████▄███
██▐███████▄█████▀
█████████▄████▀
███▐████▄███▀
████▐██████▀
█████▀█████
███████████▄
████████████▄
██▄█████▀█████▄
▄█████████▀█████▀
███████████▀██▀
████▀█████████
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
c.h.
▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
▀▀▀█











▄▄▄█
▄██████▄▄▄
█████████████▄▄
███████████████
███████████████
███████████████
███████████████
███░░█████████
███▌▐█████████
█████████████
███████████▀
██████████▀
████████▀
▀██▀▀
HeRetiK
Legendary
*
Offline Offline

Activity: 3108
Merit: 2177


Playgram - The Telegram Casino


View Profile
January 09, 2021, 12:46:49 PM
 #7

I've been scanning the references you sent...

The term "UTXO db"
          ... is that the very "coin" that I'm really looking for?

If that's the case, by dissecting it (that is "UTXO db"), I'd get to understand how a Bitcoin looks like and works - is that it? :-/

Maybe taking a look at how a transaction looks like will also help you in your understanding:

https://www.oreilly.com/library/view/mastering-bitcoin/9781491902639/ch05.html

To reiterate what ranochigo already mentioend above, there is no "bitcoin" to look at. Bitcoins / satoshis are only accounting units. Transactions are as close as you get to "looking at one".

▄▄███████▄▄███████
▄███████████████▄▄▄▄▄
▄████████████████████▀░
▄█████████████████████▄░
▄█████████▀▀████████████▄
██████████████▀▀█████████
████████████████████████
██████████████▄▄█████████
▀█████████▄▄████████████▀
▀█████████████████████▀░
▀████████████████████▄░
▀███████████████▀▀▀▀▀
▀▀███████▀▀███████

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
 
Playgram.io
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀

▄▄▄░░
▀▄







▄▀
▀▀▀░░
▄▄▄███████▄▄▄
▄▄███████████████▄▄
▄███████████████████▄
▄██████████████▀▀█████▄
▄██████████▀▀█████▐████▄
██████▀▀████▄▄▀▀█████████
████▄▄███▄██▀█████▐██████
█████████▀██████████████
▀███████▌▐██████▐██████▀
▀███████▄▄███▄████████▀
▀███████████████████▀
▀▀███████████████▀▀
▀▀▀███████▀▀▀
██████▄▄███████▄▄████████
███▄███████████████▄░░▀█▀
███████████░█████████░░
░█████▀██▄▄░▄▄██▀█████░
█████▄░▄███▄███▄░▄█████
███████████████████████
███████████████████████
██░▄▄▄░██░▄▄▄░██░▄▄▄░██
██░░░░██░░░░██░░░░████
██░░░░██░░░░██░░░░████
██▄▄▄▄▄██▄▄▄▄▄██▄▄▄▄▄████
███████████████████████
███████████████████████
 
PLAY NOW

on Telegram
[/
odolvlobo
Legendary
*
Offline Offline

Activity: 4494
Merit: 3417



View Profile
January 09, 2021, 07:03:42 PM
 #8

I believe that a UTXO was called a "coin" in the original nomenclature, but that is very rare now. So, now a bitcoin is just an amount, just like a dollar (excluding paper money and coins).

Join an anti-signature campaign: Click ignore on the members of signature campaigns.
PGP Fingerprint: 6B6BC26599EC24EF7E29A405EAF050539D0B2925 Signing address: 13GAVJo8YaAuenj6keiEykwxWUZ7jMoSLt
Sanglotslongs2
Full Member
***
Offline Offline

Activity: 260
Merit: 129



View Profile
January 09, 2021, 07:08:52 PM
 #9

Fantastic website for technical explanations :

https://learnmeabitcoin.com/technical/
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4832



View Profile
January 13, 2021, 12:38:43 PM
Merited by ranochigo (6), DooMAD (2), Quickseller (2), ABCbits (1), NotATether (1)
 #10

The closest thing to a representation of value that you're going to find in bitcoins protocol is an Unspent Transaction Output (UTXO).  Perhaps this will help you form an image in your mind:


  • Transaction Hash: 387cdd97a3d32fcd679c6b7f3316afc346703e8973910b54461a4dcfba6c03bb
  • LIST OF INPUTS THAT PROVIDE VALUE TO THIS TRANSACTION
  • Previous output that is being spent: None, this is a newly mined output
  • Signature to prove I'm authorized to spend that transaction output:None needed, this is a newly mined output. Proof of work available in block header
  • NEW OUTPUTS
  • Output position in this transaction: First
  • Output Value: 772872951
  • Spending Requirement: Must provide a valid ECDSA signature verifiable with the public key that hashes to a value of a0a68a5e68854712b491f9777c9196b3bb27d70f when that public key is hashed first with SHA256 and then RIPEMD
Note, this is the 7.72872951 BTC that were mined in block 665869.  This means that they are part of a transaction that creates these outputs without spending any inputs.


Now, if you were the one that mined that block, then you would have the private key that is associated with that public key hash. As such, you could provide the necessary signature and spend that UTXO.  If you wanted to spend 1 BTC of that 7.72872951 BTC you would create a transaction that looks like this:
  • Transaction Hash: The SHA256 hash of this new transaction would be represented here
  • LIST OF INPUTS THAT PROVIDE VALUE TO THIS TRANSACTION
  • Previous output that is being spent: the first output in the transaction that is represented by hash value 387cdd97a3d32fcd679c6b7f3316afc346703e8973910b54461a4dcfba6c03bb
  • Signature to prove I'm authorized to spend that transaction output: Appropriate ECDSA signature would be provided here.
  • NEW OUTPUTS
  • Output position in this transaction: First
  • Output Value: 100000000
  • Spending Requirement: Must provide a valid ECDSA signature verifiable with the public key that hashes to a value of (the hash value associated with the address you intend to send to) when that public key is hashed first with SHA256 and then RIPEMD
  • Output position in this transaction: Second
  • Output Value: 672872951
  • Spending Requirement: Must provide a valid ECDSA signature verifiable with the public key that hashes to a value of (the hash value associated with a "change address" that you for which you have exclusive control over the private key) when than public key is hashed first with SHA256 and then RIPEMD
Note the original unspent transaction output is now considered "spent" since it has been referenced and signed as an input in this transaction. As such, it can NEVER be spent again. Meanwhile, 2 NEW UTXO have been created. One with a value of 100000000 (1 BTC), the other with a value of 672872951 (6.72872951 BTC).  The person that has control over the private key associated with the first UTXO of this transaction can reference that 100000000 output in a transaction input when they want to spend it.  You can reference the 672872951 in a transaction input when you want to spend some of that 6.72872951 BTC.
SKS5115
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
January 15, 2021, 11:14:47 PM
 #11

I had a lot of fun reading this conversation thread, I found several references to very useful websites.

But I don't think any of them really answer your question because they just can't.

In the system theory, there is something called emergent property, it refers to a property that only appears when different pieces make up a system, for example the blood flow only exists if you have a functioning blood system in a body, you can't see the flow outside this frame of reference.

The bitcoin itself does not exist outside of a blockchain, a bitcoin is a property that emerges from that system, to be able to see it, you must see the whole system itself.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3486
Merit: 4832



View Profile
January 17, 2021, 08:25:00 PM
 #12

The bitcoin itself does not exist outside of a blockchain, a bitcoin is a property that emerges from that system, to be able to see it, you must see the whole system itself.

The bitcoin does not even exist inside of a blockcchain.  It is not a property, but rather an abstraction. Using the words "a bitcoin" is just something that we humans do to make it easier to discuss the transfer of control over value.

Note, that the same is true of bitcoin ADDRESSES.  There are no bitcoin addresses in the blockchain. Addresses are a condensed representation of a set of instructions which are presented to us humans by wallet software as a way to make it easier to talk about transferring control over value.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!