Bitcoin Basics - Discussion

Welcome to the discussion thread about this lecture section. Here you can feel free to discuss the topic at hand and ask questions.

Question about using different mediums to send a transaction to a miner

So, in the scenario that you don’t use the internet to get a transaction to a miner and instead use a handwritten letter or SMS, you’d have to flat out give them your private key, correct? So in that case you’d want to generate a new address and then have only the funds you want to send within that address? On top of that, couldn’t the miner turn around and just steal your funds? Is this only a situation you’d do if you knew the miner and trusted them? Thanks to anyone that can maybe help.

Got answers here if anyone else wants to know in the future: https://bitcointalk.org/index.php?topic=5185236.0;topicseen

Furthermore, here are some more links to help with the understanding, since I had to do more research after getting those clues from Bitcoin Talk.

You can create raw transactions in hex, by following this format: https://medium.com/coinmonks/how-to-create-a-raw-bitcoin-transaction-step-by-step-239b888e87f2

This shows you how you can get hex data of transactions: https://bitcoin.stackexchange.com/questions/70825/are-there-any-blockchain-explorers-that-provide-raw-tx-data-and-block-headers

Raw hex code transaction decoder: https://live.blockcypher.com/btc/decodetx/

1 Like

@filip

In the video lecture on hosted wallets, it explains how the private keys are stored on the exchange’s server and also in cold storage wallets. Does this mean there are two sets of private keys? Are there private keys linked more directly to individual customers and stored on the server (exposed to the internet) to provide quick access to funds and meet short-term customer demand? Are the majority of funds pooled and held in cold storage as a security measure in case the server is hacked?

1 Like

Hi guys. So far it’s looking clear. I like the explanation on functions and hashes. Regarding the private and public keys, there is a good example from the book about the Winklevoss twins on how they generated their random private key using dice. It’s very interesting to read.

1 Like

@filip

When I send and receive bitcoin with my Ledger hardware wallet, there is a count of confirmations. As I’m operating an SPV, when I’m receiving funds, are these confirmations the number of full nodes that have confirmed the transaction now exists in their copy of the blockchain? And when I’m sending funds, are they the number of full nodes that have validated my sent transaction (i.e. that I own the funds I’m spending) before propagating it further to other nodes in the network, and before it is added to the blockchain within a mined block?

I’m trying to think about how Ivan’s explanation in the videos relates to what I see actually happening in practice, in my wallet.

If I operated a full node, would I only see confirmations like this for sent transactions? I’m thinking that with a full node I would have a copy of the entire blockchain, so my wallet would just need to check this for any received funds, rather than having to query other nodes (as an SPV has to). :thinking:

I’m not 100% sure what @ivan was talking about in the video. Generally when you have hosted wallets you don’t have your own private key. The exchange keeps track of which funds belong to who but has them stored in a few wallets.

Some of the coins of an exchange or hosted wallet are stored in hot storage. These are coins that is needed for daily liquidity that are easily accessible for the exchange in order to serve customers that want to trade or withdraw.

Some of the coins are stored in cold storage. This means they are stored in for example hardware wallets, that are not connected to the internet. This is a safety measure. Then they will transfer funds from the cold wallet to the hot wallet if it runs empty and vice versa.

1 Like

Once again, I’m not 100% sure what @ivan was talking about in the video. But I can answer parts of the question at least.

The confirmation number you see is how many blocks have passed since your transaction was put into the blockchain. So it has nothing to do with the amount of nodes that have received your tx.

When your tx get put into the blockchain, it is in the newest block. Then it has 0 confirmations. When the next block has been created you have 1 confirmation, since now there has been another block appended after your tx, meaning the miners are continuing to build on the chain which your tx is in.

When you are up to about 6 confirmations, you are generally safe from double spend attacks. Which is why you are recommended to wait for confirmations.

1 Like

Regarding the topic on number of confirmations, SPVs and Full Nodes.

The number of confirmations doesn’t have anything to do with the number of nodes an SPV is talking to.

The number of confirmations is how many blocks were appended to the blockchain after the block in which your transaction was included.

If a full node and an SPV both check the number of confirmations for the same transaction they both get the same answer. The only difference is that the full node will read the information about how many blocks have been appended after the block with the transaction from the blockchain it has in memory while an SPV will request that same information from other nodes.

Hope that clarifies.

1 Like

That’s exactly what @ivan explained in the video. Your additonal comments on the difference between the exchange’s hot and cold wallets has now clarified that part for me, and is pretty much what I suspected :+1:

1 Like

@filip

Thanks, for both of your detailed clarifications. :+1:

1 Like

In case anyone couldn’t find the blockchain simulator website that @ivan uses in video 17 Mining Visually Demonstrated, I think this is the one:

https://anders.com/blockchain/

The URL isn’t visible in the video and, correct me if I’m wrong, but I don’t think he mentions it.

Click on Blockchain in the menu bar for the simulator Ivan uses.

1 Like