Pages:
Author

Topic: Help a newbie; why is hashing not done once but twice during Bitcoin transaction (Read 1666 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
Bitcoin devs would shut down the network and roll it back to a particular checkpoint.

1. Bitcoin devs do not have capability to shutdown Bitcoin network.
2. Bitcoin protocol doesn't have checkpoint system.

Such a bug has already happened with bitcoin. It is known as the value overflow incident.

Also check block split during Bitcoin Qt 0.8 release and how the community handle it, https://bitcointalksearch.org/topic/alert-chain-fork-caused-by-pre-08-clients-dealing-badly-with-large-blocks-152030.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I think it's better if I fork the off-the-rails discussion about timestamps on to a Dev & Tech thread.
sr. member
Activity: 1190
Merit: 469
Not only would they not shutdown the network, but they can't. They have absolutely no power to do so because bitcoin is decentralized.

Apparently it wasn't very decentralized back then in 2010 since bitcointalk forum served as kind of a hub to tell people to stop generating new blocks so that they could roll back the blockchain and start over from a point before the bad transaction happened. It would be alot harder to control a situation like that now since bitcoin is truly more decentralized, as you say.

Quote
Such a bug has already happened with bitcoin. It is known as the value overflow incident. It happened in 2010, where someone created 184 billion bitcoin out of thin air. You can read about it here: https://bitcointalksearch.org/topic/strange-block-74638-822. Satoshi released a patch to Bitcoin Qt which soft forked the blockchain to undo the bug, but he was powerless to impose it on the network. Instead, we had to rely on nodes choosing to run the new client and then building a chain with enough work to overtake the other chain. That is how decentralized systems work - by consensus of the community, not by one or two people unilaterally deciding to shut down the network.

no one had a choice. that's why they went along with it. otherwise bitcoin would have been destroyed.  but even so, this fix wasn't without its serious issues. people had been sending and receiving bitcoin for about 4 hours until that fix rolled back the blockchain and deleted all their transactions. that's like going to someone's bank account and taking their money back out once it's been deposited and saying "sorry". if that same event happened today instead of 2010, that particular issue would be insanely more serious. how much money is transferred on the bitcoin blockchain in 4 hours? how do you delete that much money from peoples' wallets without a major consequence?


Quote
As pointed out, that does not provide any mechanism for you to trustlessly verify that my timestamps are accurate and not faked.
You don't like timestamps in bitcoin you said it's fine as it is. But look at the link you provided in particular this posting:

https://bitcointalksearch.org/topic/m.10332

This user tried the best he could to put timestamps on all of the events related to this overflow incident. He did the best he could with the data he had but that's proof right there that sometimes you need to know "when" and the more accurately you can know when things happened, the better you can understand it. So timestamps aren't so bad. The more accurate they can be the better.
legendary
Activity: 2268
Merit: 18711
what do you think would happen if some bitcoin bug happened where someone minted 1000 bitcoin out of thin air? And kept doing it all day long? Bitcoin devs would shut down the network and roll it back to a particular checkpoint. And then restart the blockchain once they had fixed the bug.
Not only would they not shutdown the network, but they can't. They have absolutely no power to do so because bitcoin is decentralized.

Such a bug has already happened with bitcoin. It is known as the value overflow incident. It happened in 2010, where someone created 184 billion bitcoin out of thin air. You can read about it here: https://bitcointalksearch.org/topic/strange-block-74638-822. Satoshi released a patch to Bitcoin Qt which soft forked the blockchain to undo the bug, but he was powerless to impose it on the network. Instead, we had to rely on nodes choosing to run the new client and then building a chain with enough work to overtake the other chain. That is how decentralized systems work - by consensus of the community, not by one or two people unilaterally deciding to shut down the network.

All you really need is some external time keeper.
As pointed out, that does not provide any mechanism for you to trustlessly verify that my timestamps are accurate and not faked.
sr. member
Activity: 333
Merit: 506
I'm not sure you would need that. All you really need is some external time keeper.

That external timekeeping source would be subject to the many manipulations that we've talked about, making it poor for global commerce.
sr. member
Activity: 1190
Merit: 469
but that's still no reason to be calling it a "shitcoin".
How about the fact that entire network has gone down for several hours on multiple different occasions, and that the devs have chosen to shut down the network for several hours on multiple other different occasions. It is centralized trash, and even then, it can't keep accurate timestamps.


what do you think would happen if some bitcoin bug happened where someone minted 1000 bitcoin out of thin air? And kept doing it all day long? Bitcoin devs would shut down the network and roll it back to a particular checkpoint. And then restart the blockchain once they had fixed the bug. It might takes hours or it might take longer to do that though so the bitcoin network could be offline for that time period.

Quote
They didn't just fire a satellite in to space with no goal or reason, just as we shouldn't try to shoehorn timestamps in to bitcoin with no goal or reason in mind.
OK.
 
Quote
You would need a new physics method, like quantum entangled communication that instantaneously communicated with nodes and wasn't hampered by distances in communicating messages, or time dilation from the speed of light for when nodes are put into space/orbit.

I'm not sure you would need that. All you really need is some external time keeper. For example, here on earth we use the sun as a rough measure of time. You can go outside look up in the sky and estimate what time it is. If you had a very accurate instrument to measure the sun's position then you could estimate the time even more precisely. Now that's not going to get you down to a very precise level. maybe seconds not sure but cosmic time synchronization can get things down to a more precise level and it doesn't require quantum physics. it's a working technology. but kind of a new kid on the block.

sr. member
Activity: 333
Merit: 506
If some new tech comes along and makes decentralized, trustless timestamps not only possible but also safe, secure, cheap, and fast, then I'm certain someone will launch an altcoin based on that, and it might even do well. But we are nowhere near that yet.

This is genuinely an interesting question in how you would do that.

If you had perfect trustless timestamping, you could have a new independent banking method. But I can't conceive of how it would work without the timestamp eventually being tampered with. With any currently conceivable method, a trustless, decentralized timestamp is impossible.

Besides tampering with code, you could modify the time stamp through any number of methods:
add an extra network routing node between the miner and network to cause a latency delay
add extra physical wire between the clock and computing hardware, causing a the node to appear nanoseconds later in time, which could cause collisions
put one of the nodes in orbit, making other nodes appear to sign after the space node which could appear to be a femto-nanoseconds earlier in time due rapid orbiting

Delays in either direction for a network that relies solely on timestamping would eventually result in collisions and insolvable headaches.

You would need a new physics method, like quantum entangled communication that instantaneously communicated with nodes and wasn't hampered by distances in communicating messages, or time dilation from the speed of light for when nodes are put into space/orbit. Current relativity physics says this is impossible to get around. Making a node appear moments in the future or past doesn't matter much for your currencies that don't matter much, but it puts a limit on the ultimate value of your network. Once the value becomes great enough, then someone will break it. No store of value is immune to that process of attempts at being broken as the currency grows in value, but the difference is that bitcoin has withheld its own whereas things like Solana regularly go down. There's no need to introduce more potential flaws to a network especially one that you want to hold immense value.
legendary
Activity: 2268
Merit: 18711
but that's still no reason to be calling it a "shitcoin".
How about the fact that entire network has gone down for several hours on multiple different occasions, and that the devs have chosen to shut down the network for several hours on multiple other different occasions. It is centralized trash, and even then, it can't keep accurate timestamps.

you need a very good reason for putting satellites in the sky multiple of them around the earth because that's costly. oh, gps. same type of idea. lets agree that bitcoin is fine without timestamps but that new tech always comes along and probably one day will improve upon bitcoin's (and solana's) timestamping capabilities. one day.
And even the very first satellite every launched in to orbit, Sputnik 1, had a clear defined purpose and contained instruments to measure the composition of the ionosphere, Earth's magnetic fields, and so on. They didn't just fire a satellite in to space with no goal or reason, just as we shouldn't try to shoehorn timestamps in to bitcoin with no goal or reason in mind.

If some new tech comes along and makes decentralized, trustless timestamps not only possible but also safe, secure, cheap, and fast, then I'm certain someone will launch an altcoin based on that, and it might even do well. But we are nowhere near that yet.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
but that's still no reason to be calling it a "shitcoin". reserve that for something that isn't innovative and just copies other peoples code.
Let's see.

  • "Solana is a fast, secure and censorship resistant blockchain", reminds me of something.  Roll Eyes
  • It isn't innovative. It uses another alibi, which is this meaningless Proof-of-History that is been discussed pages now, to bring more users to the crypto-space. In fact, PoH is their main aspect.
  • It has 400 millisecond block times and claims to be able to process up to 710,000 transactions per second. We've seen this in the past; it's neither innovative nor sustainable for decentralization.
  • It hypes up NFTs, which also reminds me of someone else' work.
  • There has been a network outage which I find justified, since they'd spent most of their time designing the website and improving their social media accounts' growth.
  • Solana doesn't have a hard cap. Instead, its supply increases based on this staking yield nonsense.
  • There's a "Solana Foundation".

It's the definition of shitcoin.
sr. member
Activity: 1190
Merit: 469
Sounds like a bug. Bitcoin has had bugs.
Pretty big bug to affect the fundamental process by which it supposedly runs, though. (Not to mention this is simply the latest in a never ending stream of critical bugs for this particular shitcoin.)
i just checked and solana is running a little over 2 hours behind real time on their timestamps.  Shocked

but that's still no reason to be calling it a "shitcoin". reserve that for something that isn't innovative and just copies other peoples code.

To do that, it takes alot more than just what solana is doing.

Given that implementing timestamps properly (decentralized, trustless, tamper resistant, etc.) is both difficult and costly, then you need a very good reason to do it, especially when bitcoin works just fine without them.

you need a very good reason for putting satellites in the sky multiple of them around the earth because that's costly. oh, gps. same type of idea. lets agree that bitcoin is fine without timestamps but that new tech always comes along and probably one day will improve upon bitcoin's (and solana's) timestamping capabilities. one day.
legendary
Activity: 2268
Merit: 18711
Sounds like a bug. Bitcoin has had bugs.
Pretty big bug to affect the fundamental process by which it supposedly runs, though. (Not to mention this is simply the latest in a never ending stream of critical bugs for this particular shitcoin.)

Still, my point here is mostly to point out that implementing timestamps is not an easy, straight forward process. As you say:
To do that, it takes alot more than just what solana is doing.

Given that implementing timestamps properly (decentralized, trustless, tamper resistant, etc.) is both difficult and costly, then you need a very good reason to do it, especially when bitcoin works just fine without them.
sr. member
Activity: 1190
Merit: 469

Sounds like a bug. Bitcoin has had bugs.

But I don't think solana was ever designed to produce timestamps that matched perfectly with real-world-time. To do that, it takes alot more than just what solana is doing.
sr. member
Activity: 1190
Merit: 469
Quote
It's not really a thing though, is it?
maybe not right now but i wouldn't bet against it becoming a thing sometime.
Quote
I can imagine the havoc from all of these flaws and am warning of that.
there's no flaw.


Quote
This thread has convinced me to avoid any and all networks that rely on timestamping. There are far too many flaws. So much for me to completely avoid ever investing in Solana!
yeah solana does go down sometimes. at least you know what to expect if you do plan to using it. Grin

Quote
It's been a useful reminder for why bitcoin has been implemented how it is, and why it should always refuse timestamping on transactions in the future.
bitcoin should try and stay the way it is. i wouldn't want it to change too much. but i would like to see more innovations like solana. people that do things differently. nothing wrong with that.


Quote
What are the pros of timestamps again?
i guess not any according to everyone here. ok so i'm done on that topic.

legendary
Activity: 2268
Merit: 18711
way outside of the norm such that they are really trying to abusing the network.
And you trust everyone in the world not to abuse the network for their own benefit when your proposal would make it so easy to do?

you may object to having to broadcast the transaction hash but that's the price you get to pay for having your timestamp mean something. and you might have to pay a small fee.
Unnecessary bloat for the blockchain to store a bunch of hashes which might never be referenced, makes pruned nodes impossible since they need to keep a record of all this bloat to cross check new transaction against, additional expense for everyone for no good reason, makes things like timelocked inheritance or Lightning channels where you repeatedly sign but don't broadcast transactions prohibitively expensive. What are the pros of timestamps again?
sr. member
Activity: 333
Merit: 506
Quote
Even with your cosmic ray updating of timing, there is nothing that would stop a malicious actor from planning an extra radiative source that caused earlier synchronizations and triggers to enable earlier timestamps on their transactions.
well if that technology was vulnerable to what you are suggesting then it wouldn't be a "thing". just imagine the havoc someone could wreak on such a system that replaced gps.
It's not really a thing though, is it?
I can imagine the havoc from all of these flaws and am warning of that.

who are you or me to decide they don't have a good reason for doing that.
You.. have decided that it's possible that they don't have a good reason in your next paragraph because "they are really trying to abusing the network."

Quote
The very simple flaw to your design would be to create a million non-broadcasted transactions, give them to a million people, and let the network update only with the last one. Even if the 999,999 others had an earlier timestamped transaction, that would mean nothing as soon after the one broadcasted transaction was involved in its next transactions -- unless you want to do a lot of extra accounting and reversing of later transactions.
well, anyone that would do what you are suggesting is doing something wrong. way outside of the norm such that they are really trying to abusing the network.
Yes, and you have no way to stop or detect it. It also doesn't require a malicious actor for this to happen, but a bug in code or forgetful person, all of which are reasons to avoid relying on timestamps. Can you imagine the number of reversed later transactions? It sounds like a nightmare for all of the network.

This thread has convinced me to avoid any and all networks that rely on timestamping. There are far too many flaws. So much for me to completely avoid ever investing in Solana! It's been a useful reminder for why bitcoin has been implemented how it is, and why it should always refuse timestamping on transactions in the future.
sr. member
Activity: 1190
Merit: 469

A transaction is not meaningful until it is broadcast.
i would beg to disagree. someone can sign something ahead of time and someone else could broadcast it at a later time for whatever reason. who are you or me to decide they don't have a good reason for doing that.

Quote
The very simple flaw to your design would be to create a million non-broadcasted transactions, give them to a million people, and let the network update only with the last one. Even if the 999,999 others had an earlier timestamped transaction, that would mean nothing as soon after the one broadcasted transaction was involved in its next transactions -- unless you want to do a lot of extra accounting and reversing of later transactions.
well, anyone that would do what you are suggesting is doing something wrong. way outside of the norm such that they are really trying to abusing the network.

Quote
Even with your cosmic ray updating of timing, there is nothing that would stop a malicious actor from planning an extra radiative source that caused earlier synchronizations and triggers to enable earlier timestamps on their transactions.
well if that technology was vulnerable to what you are suggesting then it wouldn't be a "thing". just imagine the havoc someone could wreak on such a system that replaced gps.

Quote
Once again, it doesn't. You have no mechanism which can detect whether I signed a transaction right now with a date of 5 years ago, or whether I actually signed it 5 years ago and simply stored it until now. Any time between UTXO creation and right now is valid as far as the network is concerned, which makes the whole timestamp thing meaningless.
there are mechanisms. but everything involves tradeoffs. for example, you could be required to broadcast the hash of your transaction at the time it was timestamped and signed. that hash would be incorporated into a merkle tree. then one day when you actually want to broadcast the transaction, it won't work unless the hash is part of that tree. there's more details than that but you get the idea. very simple.

you may object to having to broadcast the transaction hash but that's the price you get to pay for having your timestamp mean something. and you might have to pay a small fee.


legendary
Activity: 2268
Merit: 18711
you timestamp it and then sign it. then the timestamp is part of the signature. that tells you when the transaction was created.
Once again, it doesn't. You have no mechanism which can detect whether I signed a transaction right now with a date of 5 years ago, or whether I actually signed it 5 years ago and simply stored it until now. Any time between UTXO creation and right now is valid as far as the network is concerned, which makes the whole timestamp thing meaningless.

then once it is broadcasted, it is timestamped again and then signed again by the network.
"The network" isn't a single entity with the ability to sign anything. Either each node attaches their own timestamp, which leads us back to the argument before of which node and which timestamp is "correct", or you designate a single centralized entity to timestamp transactions, in which case you have just ruined the very nature of bitcoin.

i think transactions with an earlier timestamp might get put into a block first. before later transactions.
This could make double spending trivially easy.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
the atomic clock timestamps your transaction
You're looking for a "solution" to a problem that doesn't exist. Bitcoin works fine without needing an atomic clock to sign a transaction.
sr. member
Activity: 333
Merit: 506
that tells you when the transaction was created. then once it is broadcasted

A transaction is not meaningful until it is broadcast.

The very simple flaw to your design would be to create a million non-broadcasted transactions, give them to a million people, and let the network update only with the last one. Even if the 999,999 others had an earlier timestamped transaction, that would mean nothing as soon after the one broadcasted transaction was involved in its next transactions -- unless you want to do a lot of extra accounting and reversing of later transactions. Transacting based on a timestamp alone rather than causality would cause a lot of pain, even if you did figure out how to have untamperable signing of it (which I believe is also completely impossible).

Even with your cosmic ray updating of timing, there is nothing that would stop a malicious actor from planning an extra radiative source that caused earlier synchronizations and triggers to enable earlier timestamps on their transactions.
Pages:
Jump to: