Bitcoin Basics - Discussion

yea, I’m still using it. But I had them before the hack :sweat_smile:

1 Like

What about quantum computers when be operative probably they will be able to compute any and each private key, Bitcoin will be over.

Hi all,

Maybe a bit of a technical question…we talk about Bitcoin being permission-less and does not require central bank, however thinking of the barrier to entry…as an average person on the street, how do I get a wallet/private key for someone to receive bitcoin?..is there an official bitcoin wallet?

Off the top of my head, I can only think of…

  • Open an account with an exchange…however, this could potentially need proof of identification to be evidenced, so is not permission-less, and is hosted wallet so has its risks.

Therefore, what are the easiest/minimum steps to get started?

Don’t know if I’m making my question clear, or thinking about this in the wrong way.

Thanks in advance for any input.

Ok I have several questions that are interspersed in summaries of what i think i know at this point…

  1. PRIVATE/PUBLIC KEYS: when a wallet is created, two keys are created…the private key and the public key. more precisely, how is the private key created and how does one access that key…let’s use the context of an exodus wallet…you set up the wallet, and you create a pincode to access the wallet from your cellphone…in addition, they give you a 12 word password phrase that you store safely. is the private key a sha256 encryption of the 12 word phrase? and what role does the pin code to the exodus wallet play in the private key? intuitively, i thought that the pincode and the 12 word phrase were both the private keys since they both enable you to spend the coin. however, i am sensing that that is not the case with the pincode. it seems like the private key is something you never see and actually use in terms of typing and clicking stuff on your device. please clarify.

  2. UTXO’S: my public key is also the address to my bitcoin account and people can send money to it. and every time bitcoin is sent to it, each chunk of bitcoin is stored in this one address. and each chunk is called a utxo (unspent transaction output). so is my public key/address an aggregation of utxo’s? is there a limit to the number of utxo’s that can be stored in a given address? and why are utxo’s not blended into one number, the way it appears when i log in to my wallet on my cellphone?

  3. ACCIDENTAL BLOCKS AND THE 6 BLOCK RULE: my understanding is that it takes 10mins for a miner to confirm a block, and that it takes 6 blocks to confirm/resolve accidental forks (and render the other one an orphaned stale block that goes back into the mempool), does that mean it really takes 60mins to permanently and accurately confirm a bitcoin transaction and permanently add it to the blockchain? does the system apply the 6 block rule to all transactions, or only to those accidental fork situations?

  4. MINERS VS FULL NODES vs LIGHT NODES: so basically, i have a light node and i decide to buy something with my bitcoin so my wallet looks to see that the aggregate of utxo’s in my public address is greater than the amount i wish to spend, and also confirms that address i am sending to is real…so then i put the transaction into the mempool where miner full nodes who have created their own blocks go in to try to win that transaction…the first one to guess the block id-nonce gig wins. in addition to the miners, there are also non-miner full nodes that also verify that the transaction makes sense in relation to the blockchain. so does the block creation have to proceed first before the non-mining full nodes can verify it, or can the non-mining full nodes see the transaction in the mempool and verify it and then the mining full nodes start to sweep up the transactions into their own blocks and try to win the nonce guessing game?

There is no “official” wallet per se. The closest thing I guess would be Bitcoin core, but you probably don’t want to use that on the street :stuck_out_tongue:
There are a lot of wallets to choose from, I guess the best way to find one that fits you would be to try this: https://bitcoin.org/en/choose-your-wallet
Personally I use a ledger hardware wallet.

The easiest way is to get Bitcoins on an exchange but as you mentioned you need to provide proper identification. There are other ways to but Bitcoins privately like using a dex like Bisq or finding someone on LocalBitcoins that would sell them to you. :slight_smile:

1 Like

The pin code is just for security to lock the app you’re using. The mnemonic code is a method to generate the private key using common words as described in BIP39. Mnemonics are commonly used in conjunction with BIP32 which defines a hierarchical deterministic wallet structure where the master key (one derived from the mnemonic phrase) is used to derive other private keys in a hierarchical structure. This means you only need to back up the mnemonic because all future keys will be derived from that key.
A cool website you can play around how this process works: https://iancoleman.io/bip39/ beware not to use your mnemonic on this site. If you want to see your private keys, I would suggest cloning the website from source and trying it out offline.

UTXOs are just values stored on the blockchain that are linked to an address. They cant be combined into one number because that would mean changing the block where the UTXO is stored thus breaking immutability of the chain. This is why wallets were invented to hide this complexity from the end user and show the user just the remaining balance instead and not require them to pick the UTXOs manually. You can have as many UTXOs in an address as you want.

Yes 6 confirmations takes approximately an hour. The rule is not specified anywhere and is just a rule of thumb. Realistically most of the tx will be settled after one or two confirmation and if you’re buying coffee shouldn’t worry about that. However if you’re buying a Lambo then its a good idea to wait.

Every node has its own mempool and not all of them are necessarily the same because not all tx propagate to all nodes at the same time. Each full node verifies incoming transactions and blocks independently regardless if its a miner or not and will reject if either of them is not complying to the nodes consensus. :slight_smile:

2 Likes

Hello everyone, I have a question!
If I have X amount of BTC deriving from 10 UTXO, is there a way to know what specifiC UTXO am I using in a transaction? For example if I send 0.2 BTC, am I going to use the first UTXO associated to my private key chronologically speaking or there are other criteria? Is it random?

It depends on the wallet how it picks UTXOs for you. Best way to find out which ones it picked is to use an explorer. :slight_smile:

1 Like

Thanks Alko.

Did a little hunting around and have found information about using bitaddress.org…don’t worry I am not going to use it, but I just wanted to understand the lowest barrier to entry, even if its not the most user friend or risky.

Does bitcoin programming require a few programming languages? Also, is solidity for bitcoin programming or only on ethereum?

It depends on what you want to develop. If you want to develop Bitcoin source code, the reference implementation is written in C++ although other implementations also exist.
If you want to develop transactions you use the Bitcoin script language.
There is no Solidity on Bitcoin, it was primarily developed on Ethereum, but other blockchains also utilize EVM so you can develop Ethereum smart contracts on them. :slight_smile:

Thanks, so there’s no chance to decide what UTXO spend in a transaction, right? Using an explorer I can see the UTXO used only once the transaction has made? Or it is possible to predict which one will be spend from the wallet?

It depends on the wallet. Most user friendly wallets do this behind the scenes so the user is not even aware of this. A more advanced wallet might allow features that enable a user to pick the UTXOs by themselves. I can’t recommend you any wallet like this because I haven’t used them.

You can also create a raw transaction in Bitcoin core, where you construct a transaction entirely by hand. I wouldn’t recommend using this approach though. But you can learn how to do it in our Bitcoin programing course. :slight_smile:

Hey all,

Trying to wrap my head around this longest chain concept and how it works practically…some other ways of thinking of it would be welcome.

Here’s where I am having a mental block, struggling to piece everything together…using the illustration below if we have a fork at block 4:

1–>2–>3–>4A–>5A–>6A
1–>2–>3–>4B–>5B

  • is it that all nodes will have “visibility” of both blockchains at block 4 to decide which is the longest chain?..then decide which blockchain to continue with?
    Never will block 5A or 5B be created until longest chain at block 4 has been decided?
    Otherwise what is the cut off point to decide when a longest chain has to be chosen?
  • at what point are all nodes back in sync?..how long does is take for a blockchain to propagate through the network?

As always thanks for any help.

At the time blocks occur there is no way of knowing two exist on either side of the world. Miners will pick the block that propagated first to them. If they receive another one they will store it but continue mining on the first one.

There is a chance both of these blocks will be found, which wold mean miners again found a new block at the same time on both chains, the fork is not yet resolved. This is why its recommended to wait 6 confirmations, which means 5 additional blocks after the tx.

The longest chain will not be chosen until there is a clear winner, meaning a miner will find a block first on either of these chains and the block has time to propagate through the network.

There is no way of knowing for sure due to physical distances the blocks can take time to propagate. Once they do and there is no competing block on the other chain, the fork is considered resolved. :slight_smile:

1 Like

Hi team hope everyone is well. Just wanted to say that I am very impressed on how easy it is to follow Ivan’s video and how simply he explains the blockchain. Don’t have any questions really just happy to be part of the academy. Thank you everyone for your support.

1 Like

I fully agree with previous student Partalos Crypto :smiley:.
No regrets and still enjoy :smiling_face_with_three_hearts: learning from this academy.

1 Like

How are coins increased in value?

Question regarding transactions/wallets - Think I understand that the wallet doesn’t actually hold bitcoins, but rather sums your UTXOs which are recorded on the blockchain. But if that’s the case, what happens to the coin itself? Or are there no coins on the blockchain, and just a record of transactions?

Sorry if this is already covered elsewhere. Thanks!

By increased demand.