Author

Topic: What is the actual point of the many working parts of Bitcoin/blockchains? (Read 193 times)

Ucy
sr. member
Activity: 2674
Merit: 403
Compare rates on different exchanges & swap.
Well, I think there are working parts that are unnecessary, or can be done in better and more efficient way without compromising on security of the Bitcoin system. But it's probably going to challenging to "modernize" some part of an old vehicle without modernizing other parts. I think a complete overhaul may be necessary without changing the brand or model.
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
I get that first-come-first-served alone is just a beacon for frauds, but I still don't get how the mining makes it more secure (yes, I am that dense. Sorry...). I may need to watch the B3B1 video a few dozen more times....
Keyword is consensus.

When Bitcoin transactions are made, they are not sent to another central authority but to a Bitcoin node[1]. Due to this, each node will see a transaction at a different timing. As such node A may see it first while Node B can take a few seconds (say 5s) for it to be finally relayed to it(TX A). In this short 5s, since node B hasn't seen the transaction yet, it allows the attacker to spend another transaction and this time its a different transaction (TX B) that spends the same inputs but the outputs have different spending requirements (or to be sent to different address). The problem now is that since, 50% of the network has seen TX A but not TX B and vice versa. Essentially, they cannot agree on the same transaction that is relayed first. To both, TX A is first seen by half and TX B is seen by the other half and both think that they saw it first. Since you would very much rather not trust what another node says, there is a fairly significant deviation from the unix time for most of the nodes and thus the time received by each node cannot be taken as is. Nodes are independent entities that do not trust each other.

What mining essentially does is to ensure consensus by making everyone follow the same set of Blockchain with the same set of transactions. The disagreements are now solved by this common Blockchain that is recognized by all of the nodes as valid. By enforcing the rule that the Blockchain with the longest PoW is valid, you essentially makes it such that for someone to alter the Blockchain, they have to expend resources to make an alternative chain with a different transaction at that point to make nodes accept it as valid[2]. Since it is more expensive for an attacker to reverse a transaction than to just mine with the honest miners, the game theory makes it such that people are disincentivized to attack.


So for example, TX A is included in the Blockchain at Block 10 and the current Block height is 20. The attacker will create another blockchain with a block that includes TX B in Block 10 and attempt to mine 11 blocks after that. As a result, the attacker has to expend additional resources just to outpace the network by at least one block. Such attacks won't usually go unnoticed and would probably cause a price crash which makes this attack much more unprofitable.


[1] Full node being defined as a client that validates transactions and blocks and enforcing protocol rules in the process, usually running Bitcoin Core or similar implementations.

[2] See 51% attack.
member
Activity: 868
Merit: 63
The working parts that you are talking about is a helpful deterrent for people who will try to attack bitcoin but doesn't have the intimate knowledge about the inner workings which will get them confused because they do not know where this thing goes and that other thing goes, that is just my wacky theory but most of the time these complex system in other industries are used in that fashion. To me, the actual point why there is a lot of moving parts in bitcoin is because it is difficult to condense everything into a simpler and smaller system which is susceptible to attacks and if they were to make the system more simpler then they will reduce the problems that they will cover.
newbie
Activity: 8
Merit: 0
The bank ABSOLUTELY makes sure that the cheque is real and valid before they even bother looking to see if there's enough money registered to the account that it is drawn against.
I honestly assumed cheques were printed to be unique, making the piece of paper the proof in itself. I never used cheques in my life, so assumptions are all I have, sadly...

How do we designate an "official decider" that gets to choose which transaction actually IS first?
I get that first-come-first-served alone is just a beacon for frauds, but I still don't get how the mining makes it more secure (yes, I am that dense. Sorry...). I may need to watch the B3B1 video a few dozen more times....
legendary
Activity: 3472
Merit: 4801
But with a bank, they would simply confirm the first cheque cashed (Dave), when there was money enough, and deny the second (Betty), when the account was too low. Right? There is no real evaluation of either cheque's validity, just first come first served, and maybe some consequence for the writer of the cheques.

No.  If they didn't verify the validity of the cheque, then anyone could just walk in with a plain piece of paper, cut it into the shape of a cheque, draw a sloppy picture of a cheque drawn against someone else's account, and then cash it.  The bank ABSOLUTELY makes sure that the cheque is real and valid before they even bother looking to see if there's enough money registered to the account that it is drawn against.

Sorry for being dense (it is an old crse of mine...), but I still fail to see how the mining truly adds to the validity/trust in the included transactions. I think I am missing some clever detail. To me, speedy confirmation and thus spreading information on a transaction makes the difference, just as it would with the two cheques example.

Speedy confirmation by whom?  Who gets to be the "official decider" of which transaction is the "first" one?  If you first receive a transaction saying that franky1 paid you, and I first receive a transaction saying that franky1 paid me, then who gets to decide which was actually first?  If John first sees the transaction from franky1 to you, and Bobby first sees the transaction from franky1 to me, we now have multiple people that all believe that you were paid, and multiple people that all believe that I was paid.

How do we designate an "official decider" that gets to choose which transaction actually IS first?

This actually puts a bit more of a point on it, but still leaves some.... confusion. Demanding PoW means a 'bank' cannot simply pack doubles by the thousands. Which ever 'cheque' gets cashed into a block supported by PoW gets confirmed. And if later blocks have the other cheque, they get discarded as doubles. I kiiinda get that. But how is this an improvement over the initial spread of the transaction through the network? First come is still first served, it seems. The blocks just cements one batch of transactions over another. The network should have already weeded out doubles by discarding the later transaction.

How does "the network" decide?  "The network" isn't a single entity. It's millions of individual nodes/peers that each may have received a different transaction first.  If a node/peer on the network receives 2 competing transactions, and it just chooses whichever it receives first, how can it know that ALL other nodes on the network ALSO received that same transaction first?  They could ask a few of the nodes/peers that they happen to be connected to, but how do they know that there aren't some other nodes that they aren't connected to which saw the other transaction first?

I suppose we could require that every node ask every other node about every transaction, but how would a node know when it has talked to ALL other nodes?  What about nodes that are offline? And what's to keep an attacker from just firing up a few thousand (or million) super cheap, bare minimum, virtual servers that all always switch which transaction they tell other nodes they saw first?

"First into a block = first served" fixes this problem.  When you get a block that has met the minimum proof of work requirements you just assume that everyone else also got that same block.  You continue to assume that so long as you never hear of a different chain of blocks with a higher total proof of work.  If you do receive a chain of blocks with a higher total proof of work, then you abandon the chain you currently have, and accept the new chain as the "real" chain. The only way an attacker can keep you on a false chain is to either:
1. Completely isolate you from EVERY other node on the network. Even then, he'd need to have enough hashing power to continue to feed you valid blocks, otherwise you'd quickly become suspicious of the fact that you haven't received a block in a VERY long time.
or
2. Maintain more hashing power than the entire rest of the world combined so that he can continue to outpace the rate at which they create blocks.

Since the quantities of hash power needed to pull off either of these attacks is expensive, the attacker has nothing to gain unless your transaction is more valuable that all that hash power.  Furthermore, since that hash power could have been used to gain block rewards through honest participation (mining), the attacker risks all that potential revenue by spending time on attempting any type of attack. These financial incentives make it too expensive to even try attacking for small amounts.  For higher value transactions, the recipient of the payment can simply increase the number of "confirmations" (blocks) that they require before they'll release whatever is being exchanged. This increases the amount of time that the attacker must keep up the attack, which significantly increases his costs AND prolongs the amount of time that he won't receive the mining rewards he could have gotten instead (increasing the attacker's risk and losses)

I know the basics, the problem is that I am not quite getting how this exact method adds significantly to the validity. The overall theory makes perfect sense and is, in a way, beautiful, but there are just some aspects that I feel a need to really pick apart to get a firm grasp on. This is one such aspect.

I'm really surprised that the 3B1B video didn't get you there.  He explains each step of the solution 1-by-1 and at each step he shows exactly why that step is needed AND how it overcomes the problem that it is intended to solve.
newbie
Activity: 8
Merit: 0
ok.. back to basics
I know it isn't all that fun for pros to explain it that basic, so THANK YOU for taking your time! It is highly appreciated, and I want you to know that!
Those nodes cummulatively contribute to the decentralization and alos the digitization of the ledger system. Normally, these things were been done by one person or institution in the regular regional way of finance but looking at it from a decentralised system, it eliminates the need for trust and also the possibility of an easy hack. it is necessary to have all those nodes as they all help to make the network safer.
I know the basics, the problem is that I am not quite getting how this exact method adds significantly to the validity. The overall theory makes perfect sense and is, in a way, beautiful, but there are just some aspects that I feel a need to really pick apart to get a firm grasp on. This is one such aspect.
full member
Activity: 1442
Merit: 106
Those nodes cummulatively contribute to the decentralization and alos the digitization of the ledger system. Normally, these things were been done by one person or institution in the regular regional way of finance but looking at it from a decentralised system, it eliminates the need for trust and also the possibility of an easy hack. it is necessary to have all those nodes as they all help to make the network safer.
legendary
Activity: 4410
Merit: 4766
ok.. back to basics

imagine i have a chequebook.. and i wrote out a cheque. i have $500 and i write a cheque to dave for $400
dave holds onto it. and seen i had $500 so it must be good.. right..??

however 2 minutes later i write another cheque to betty for $450
betty also seen my bank balance of $500 so thinks her cheque is good..

.. both cant be right
so a cheque is not cleared until the bank makes the transfer where only one recipients cheque is going to clear. (as it should be)

so.. the mining is replacing the bank clearing house.
.. this answers your first question in first post about why users cant just collect transactions and deem them as valid independently

.....
different mining groups(clearing houses) collect cheques and decide which get to be in their list.

they put them into their own batch making sure there is no:
double payments.
payments using empty accounts
the signature matches the funders ID
the signature is unique to the cheque to ensure the cheque hasnt been edited

this batch of cheques is given a unique ID
the unique ID is made up of a complex calculation of all cheque numbers.
and the previous confirmed batch ID.

now to stop other bank clearing houses making multiple batches in milliseconds declaring them the sole central bank
the batch ID have to go through a lengthy process of of calculations. to get a special batch id with several leading zeros.

the first bank clearing house to get this result. and check that the data and ID correspond. wins
and that batch(block)) is declared the confirmed block. and all the transactions listed within it are declared as confirmed(cleared)

inshort dont accept a payment as final/cleared until its confirmed and in a block
newbie
Activity: 8
Merit: 0

Perhaps rows and rows of text to read isn't how you learn best. If you're more of a visual or auditory learner, then this might help:

https://www.youtube.com/watch?v=bBC-nXj3Ng4

3B1B is soooo good, his was one of the first videos I watched back in the day on the topic!! If you know more like him, let me know, he is a king in my book!

its not just a 10minute relay race of first passed the finish line
the winner also has to pass a drug test to make sure there is no nasty stuff(bad transactions) inside their body(block)

the first winner with a clean test(transaction list) result is accepted.

everyone then keeps that list(result) and memorialises it. and then the next race begins

a malicious miner at race 2 who wants to edit the results of race 1. has to run race 1 and then do race 2
but by that time malicious miner is at race 2 honest racers are on their 3rd race. so the malicious runner has to run 2x speed to catch up

it costs alot to run 2x the number of systems as the network. so he better be sure he can win and not get caught if he hopes to take the lead and get himself declared the new victor of the last few races and previous victors declared void

This.... makes an awful lot of sense to me. I'm not sure I am quite there, but this makes me think of it in a more compact and meaningful way, thank you! Could you perhaps elaborate on the metaphor? I may also have uestions based on that metaphor, but I need to chew on this a bit...
legendary
Activity: 4410
Merit: 4766
its not just a 10minute relay race of first passed the finish line
the winner also has to pass a drug test to make sure there is no nasty stuff(bad transactions) inside their body(block)

the first winner with a clean test(transaction list) result is accepted.

everyone then keeps that list(result) and memorialises it. and then the next race begins

a malicious miner at race 2 who wants to edit the results of race 1. has to run race 1 and then do race 2
but by that time malicious miner is at race 2 honest racers are on their 3rd race. so the malicious runner has to run 2x speed to catch up

it costs alot to run 2x the number of systems as the network. so he better be sure he can win and not get caught if he hopes to take the lead and get himself declared the new victor of the last few races and previous victors declared void
legendary
Activity: 3472
Merit: 4801
I will reread the paper, maybe I just overlooked something the first seven times.

Perhaps rows and rows of text to read isn't how you learn best. If you're more of a visual or auditory learner, then this might help:

https://www.youtube.com/watch?v=bBC-nXj3Ng4
newbie
Activity: 8
Merit: 0
(Not going to quite everyone due to post length, but to Poker, Franky and Ranochigo, thanks, it all helps me zero in on what I am failing to understand!)

What I get at this point is that PoW takes effort, hence the source seems more serious/honest. Like the woman putting on high heels that she hates to show that she respects the host of the party enough to make an effort. But not every transaction is performed by someone mining a hash, so I still do not entirely get how a mined block verifies the individual transaction better than the network confirmation?

I will reread the paper, maybe I just overlooked something the first seven times. I'm not known as the brightest bulb, but I get tired of my buddy being all smug about me handing him money to invest without me knowing what he does, that smug little s.o.b. :p
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
... I still don't fully see the connection. Is it that PoW makes one version of a blockchain more credible because someone invested the work? That kinda makes sense, what my ex called "the high heels proof". While I get the immediate notion of that, it seems like a leap to make one equal the other?
It's more like a game theory in a sense. To reverse a transaction that is included in a block within a blockchain that is X blocks deep, an attacker has to build another blockchain from the block before that and include another transaction that is spending the same coins but is sent to another address instead. Now, since nodes only accept the blockchain with the largest PoW, the attacker has to effectively outpace the rest of the network and be able to mine X + 1 block. Remember that the rest of the network is also mining at the same time and lengthening the blockchain. As such, it is both prohibitively expensive as well as unprofitable to do so.

Consensus is an important aspect with any distributed systems. The concept is difficult to explain if you don't understand the workings of Bitcoin. It'll be great if you could skim through the whitepaper and clarify if you don't understand anything.

https://bitcoin.org/bitcoin.pdf
newbie
Activity: 8
Merit: 0
I guess you want it all explained to you but if you feel like reading something for yourself, read up on the Byzantine fault.
I'd love to have it all explained to me in perfect detail, but I am realistic enough to simply accept my own ignorance and try to work from there. The link was good, very interesting and lots of background, thanks!! However...
Quote
Blockchain and PoW solved it, giving security to the system as @ranochigo has explained.
... I still don't fully see the connection. Is it that PoW makes one version of a blockchain more credible because someone invested the work? That kinda makes sense, what my ex called "the high heels proof". While I get the immediate notion of that, it seems like a leap to make one equal the other?

Again, I apologize for my dullwittedness, I know it grinds against some people. I just feel like I am grappling with a very big horse from the wrong end. That... can end badly :p
legendary
Activity: 4410
Merit: 4766
just having block distributed does show they are valid. if all users agree on the content and then show they have the same block info

but then comes the risk of a malicious user saying heres 2 new blocks i found and seeing as im ahead of you by 2 blocks. follow me and keep my blocks.

so a mechanism has to be made to make it hard for anyone to just make a bunch of blocks instantly and game the other users

so in came the PoW. to ensure that a block was made by someone that put roughly 10minutes of highspeed power into it. thus unable to make 20 blocks in 1 second to cause network conflicts every second

by making it hard to make a chain of multiple blocks. its even harder to go back 5 blocks. edit the content of those blocks and then make a chain of 7 different blocks to overtake the average network and try getting them to delete their 5 for the new superior 7 height

with it taking hundreds of thousands of systems to create a blocks mined hash. some single person with their pc cant jsut edit it and get people to follow.
with it taking huge cost of hundreds of thousands of systems to mine a block. even malicious users wont be malicious as the costs for them are high if their trick doesnt work. so easier to play by the rules and get honest rewards
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
I never quite got why PoW makes one possible chain more valid than others? Comparing chains would make it possible to track it back to the divergence, right? And aren't there timestamps in place that can then determine which chain was 'diverged' last, hence would be the copy?
Nodes will always want to follow the chain with the largest proof of work. By doing so, it ensures that an attacker cannot broadcast a different chain with a significantly lower Proof Of Work (ie. Much lesser efforts) that replaces the transactions in the chain with the largest PoW.

Timestamps are not followed strictly within Bitcoin and there is a fairly big deviation allowed from the median time. I'm not really sure what you mean by tracing the divergence or how it'll help in this case?

Edit: Satoshi actually explained the gist of how the network works in his white paper. I think your confusion lies within how the network functions rather than on PoW itself.
legendary
Activity: 1372
Merit: 2017
I never quite got why PoW makes one possible chain more valid than others?

I guess you want it all explained to you but if you feel like reading something for yourself, read up on the Byzantine fault.

Blockchain and PoW solved it, giving security to the system as @ranochigo has explained.
newbie
Activity: 8
Merit: 0
Nope. Proof Of Work is essential in making Bitcoin work in the first place. It acts as a consensus mechanism among nodes to decide which are the transactions to be accepting and considered as valid.
(warning: I may be incredibly dense here, treat me like the slow but sincere child in the playground)

I never quite got why PoW makes one possible chain more valid than others? Comparing chains would make it possible to track it back to the divergence, right? And aren't there timestamps in place that can then determine which chain was 'diverged' last, hence would be the copy?
legendary
Activity: 3038
Merit: 4418
Crypto Swap Exchange
My main reason for thinking this is that the idea of simply having transactions validated across the blockchain (feel free to fry me if I am being ignorant about how things work) seems to be enough to make the entire concept work. Mining, the long hashes, all the other stuff I barely even fathom, it all seems like just painting flames on your bike to make it go faster. It seems unnecesary. If I make a transaction and that transaction has to be confirmed by dozens of nodes that track all the transactions, isn't that a pretty hard thing to outsmart already?

I'm not saying the other things should not be done, I just would like to understand the value they add to the whole process. Because every wallet essentially meeting up to check if a transaction is a-okay seems like the best system to me, all on its own!
Nope. Proof Of Work is essential in making Bitcoin work in the first place. It acts as a consensus mechanism among nodes to decide which are the transactions to be accepting and considered as valid. It builds the blockchain and provides security to the transactions that are included in the blocks; as the confirmation increases, so does the security as it is the amount of work that an adversary has to do in order to reverse those blocks.

Without a system like that, someone can just broadcast two different transactions spending the same coins. Which transaction should the node then consider to be valid? How does every node on the network consider that transaction valid and not the other transaction? In Bitcoin, transactions are thus included in blocks and the nodes will always follow the blockchain with the largest cumulative proof of work. This ensures that the same coins are never spent twice and all of the nodes will recognize the same set of transactions as valid.
newbie
Activity: 8
Merit: 0
Trigger warning: I am a complete noob at bitcoin, just trying to wrap my head around a lot of it.

I'm watching a string of videos on bitcoin, and a thought keeps popping up in my head: Is this whole ting a bit too overly complicated?

My main reason for thinking this is that the idea of simply having transactions validated across the blockchain (feel free to fry me if I am being ignorant about how things work) seems to be enough to make the entire concept work. Mining, the long hashes, all the other stuff I barely even fathom, it all seems like just painting flames on your bike to make it go faster. It seems unnecesary. If I make a transaction and that transaction has to be confirmed by dozens of nodes that track all the transactions, isn't that a pretty hard thing to outsmart already?

I'm not saying the other things should not be done, I just would like to understand the value they add to the whole process. Because every wallet essentially meeting up to check if a transaction is a-okay seems like the best system to me, all on its own!
Jump to: