Block Validation and incorporation of TX timestamp as part of block validation(Double-spent) #8893

issue Poseidonn77 opened this issue on October 5, 2016
  1. Poseidonn77 commented at 10:49 AM on October 5, 2016: none

    Currently, all new blocks are handled as an absolute truth should the requirements be met as is. I propose we add one more validation method. Using the transaction in my nodes memory and there related timestamps. Ensure that this new block didn't accept any older TX that shouldn't be there.

    Expected behavior

    Tell us what should happen: The block shouldn't be accepted as it's malicious, regarding "double - spending."

    Actual behavior

    Tell us what happens instead The Block gets accepted "as is." Even if the current node(your node) has the original and first TX.

    Proposal: Validate timestamps of all transactions in a given block before accepting the block.

  2. sipa commented at 10:51 AM on October 5, 2016: member

    Transactions do not have timestamps, and there is no way in a decentralized network to unambiguously determine the first seen time of transactions. In fact, if there were, we wouldn't need a blockchain at all.

  3. MarcoFalke added the label Brainstorming on Oct 5, 2016
  4. MarcoFalke added the label Consensus on Oct 5, 2016
  5. MarcoFalke commented at 10:59 AM on October 5, 2016: member

    The Block gets accepted "as is." Even if the current node(your node) has the original and first TX.

    As mentioned by @sipa there is no way to determine which is the "original and first TX" for the whole network.

    Closing, as this is the wrong place to start discussing consensus changes.

  6. MarcoFalke closed this on Oct 5, 2016

  7. Poseidonn77 commented at 11:00 AM on October 5, 2016: none

    Is it possible to allow the original node that broadcast the TX to send and hash the time along with the transaction. This would then be used across the decentralized network as elementary proof of the time the original server accepted the TX. So should my Node in say, Africa, only accept the transaction after 30sec( a long time) the original time would be passed along with the TX. And we would still need the BTC blokchain to validate the TX.
    Edit: Consensus should play an role. Also their is no need to keep all tx's in Volatile memory.

  8. MarcoFalke commented at 11:06 AM on October 5, 2016: member

    Is it possible to allow the original node that broadcast the TX to send and hash the time along with the transaction.

    And nothing prevents you from just backdating your TX. You'd need something like OpenTimestamps... But OpenTimestamps depends on the block chain, so you can just use it directly "as is", instead of walking in circles.

  9. Poseidonn77 commented at 11:44 AM on October 5, 2016: none

    I did note that a while ago. Like when a sibling would try and convince you of time-travel. And as This is such a simplistic yet hard problem. Could it be that a solution is staring you in the face? Such as authentications of nodes? Don't allow nodes with wrong times to connect to your node. Hence if your node is wrong it would simply not be able to connect to any other node. Effectively eliminating itself. Using a cluster of approved ntp-servers could then form part of node validation on the network. I understand that some countries does have high latency and that some idea/s like this is the only feasible manner to address the this issue. Or some how "Lock" the transaction but this would require all miners to accept this. Any miner could still generate blocks as is and would still be accepted. And as not all the nodes on the network are core nodes. The original problem remains. Or I have simply explained the system as it functions today...

  10. sipa commented at 11:48 AM on October 5, 2016: member

    Please move this discussion to stackexchange or IRC, or the mailing list if you have a concrete proposal.

  11. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-21 21:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me