Action taken when data of a block gets tampered with

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
2
down vote

favorite












Let's say we have a Blockchain consisting of 10 blocks, indexed from 0(Genesis Block) to 9(The last block).



If the data of a block, say block 5, is changed(maliciously), the data stored on the block, as well as subsequent blocks, becomes invalid.



What happens next?



It is impractical to drop the blockchain entirely. It is also impractical to recalculate all the hashes, in case of larger chains.



So, how is data of the current block, as well as that of other blocks, preserved in the event of an attack on a single block?







share|improve this question






















  • What do you mean with "data of a block is changed"? Do you mean one node maliciously changes its block data?
    – Lauri Peltonen
    Aug 17 at 8:17










  • @LauriPeltonen Yes, that's exactly what I mean to say.
    – Susmit Agrawal
    Aug 17 at 8:27






  • 2




    I highly recommend this video: youtube.com/watch?v=bBC-nXj3Ng4.
    – smarx
    Aug 17 at 8:31










  • @smarx Thanks a ton for the video! It really cleared up several concepts!
    – Susmit Agrawal
    Aug 17 at 9:08














up vote
2
down vote

favorite












Let's say we have a Blockchain consisting of 10 blocks, indexed from 0(Genesis Block) to 9(The last block).



If the data of a block, say block 5, is changed(maliciously), the data stored on the block, as well as subsequent blocks, becomes invalid.



What happens next?



It is impractical to drop the blockchain entirely. It is also impractical to recalculate all the hashes, in case of larger chains.



So, how is data of the current block, as well as that of other blocks, preserved in the event of an attack on a single block?







share|improve this question






















  • What do you mean with "data of a block is changed"? Do you mean one node maliciously changes its block data?
    – Lauri Peltonen
    Aug 17 at 8:17










  • @LauriPeltonen Yes, that's exactly what I mean to say.
    – Susmit Agrawal
    Aug 17 at 8:27






  • 2




    I highly recommend this video: youtube.com/watch?v=bBC-nXj3Ng4.
    – smarx
    Aug 17 at 8:31










  • @smarx Thanks a ton for the video! It really cleared up several concepts!
    – Susmit Agrawal
    Aug 17 at 9:08












up vote
2
down vote

favorite









up vote
2
down vote

favorite











Let's say we have a Blockchain consisting of 10 blocks, indexed from 0(Genesis Block) to 9(The last block).



If the data of a block, say block 5, is changed(maliciously), the data stored on the block, as well as subsequent blocks, becomes invalid.



What happens next?



It is impractical to drop the blockchain entirely. It is also impractical to recalculate all the hashes, in case of larger chains.



So, how is data of the current block, as well as that of other blocks, preserved in the event of an attack on a single block?







share|improve this question














Let's say we have a Blockchain consisting of 10 blocks, indexed from 0(Genesis Block) to 9(The last block).



If the data of a block, say block 5, is changed(maliciously), the data stored on the block, as well as subsequent blocks, becomes invalid.



What happens next?



It is impractical to drop the blockchain entirely. It is also impractical to recalculate all the hashes, in case of larger chains.



So, how is data of the current block, as well as that of other blocks, preserved in the event of an attack on a single block?









share|improve this question













share|improve this question




share|improve this question








edited Aug 17 at 8:28

























asked Aug 17 at 8:01









Susmit Agrawal

1134




1134











  • What do you mean with "data of a block is changed"? Do you mean one node maliciously changes its block data?
    – Lauri Peltonen
    Aug 17 at 8:17










  • @LauriPeltonen Yes, that's exactly what I mean to say.
    – Susmit Agrawal
    Aug 17 at 8:27






  • 2




    I highly recommend this video: youtube.com/watch?v=bBC-nXj3Ng4.
    – smarx
    Aug 17 at 8:31










  • @smarx Thanks a ton for the video! It really cleared up several concepts!
    – Susmit Agrawal
    Aug 17 at 9:08
















  • What do you mean with "data of a block is changed"? Do you mean one node maliciously changes its block data?
    – Lauri Peltonen
    Aug 17 at 8:17










  • @LauriPeltonen Yes, that's exactly what I mean to say.
    – Susmit Agrawal
    Aug 17 at 8:27






  • 2




    I highly recommend this video: youtube.com/watch?v=bBC-nXj3Ng4.
    – smarx
    Aug 17 at 8:31










  • @smarx Thanks a ton for the video! It really cleared up several concepts!
    – Susmit Agrawal
    Aug 17 at 9:08















What do you mean with "data of a block is changed"? Do you mean one node maliciously changes its block data?
– Lauri Peltonen
Aug 17 at 8:17




What do you mean with "data of a block is changed"? Do you mean one node maliciously changes its block data?
– Lauri Peltonen
Aug 17 at 8:17












@LauriPeltonen Yes, that's exactly what I mean to say.
– Susmit Agrawal
Aug 17 at 8:27




@LauriPeltonen Yes, that's exactly what I mean to say.
– Susmit Agrawal
Aug 17 at 8:27




2




2




I highly recommend this video: youtube.com/watch?v=bBC-nXj3Ng4.
– smarx
Aug 17 at 8:31




I highly recommend this video: youtube.com/watch?v=bBC-nXj3Ng4.
– smarx
Aug 17 at 8:31












@smarx Thanks a ton for the video! It really cleared up several concepts!
– Susmit Agrawal
Aug 17 at 9:08




@smarx Thanks a ton for the video! It really cleared up several concepts!
– Susmit Agrawal
Aug 17 at 9:08










2 Answers
2






active

oldest

votes

















up vote
3
down vote



accepted










Please note that I'm not 100% fluent with blockchain details but the basic idea in this answer is correct and probably most of the details are also correct.



If one node changes its history data, not much actually happens. All other nodes still contain the correct data and all subsequent hash values represent the correct data. Even the one node with incorrect history data might not even notice it and continues with correct hashes for the correct data even - I don't think a node revalidates its own history. As for the whole network, consensus data is correct.



I think the only problem might arise if someone queries your malicious node for history data and gets the incorrect data. They could just check whether the data is consistent with future hashes and notice it's not, but I'm not sure if clients actually bother with this kind of checks. If a single node is malicious it can probably succeed in providing you with malicious data.



But, still, the network as a whole wouldn't probably even notice the malicious data and the malicious data wouldn't even be available anywhere else except the one malicious node.






share|improve this answer




















  • One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
    – Susmit Agrawal
    Aug 17 at 8:53










  • Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
    – Lauri Peltonen
    Aug 17 at 8:56

















up vote
2
down vote













Blockchain uses a data structure called Merkle Tree for efficient and secure verification of content in a large body of data. If a single detail in any of the transactions or the order of the transactions changes, so does the Merkle Root. Using a Merkle tree allows for a quick and simple test of whether a specific transaction is included in the set or not. Read this article to understand Merkle trees.



So if any node maliciously changes the data of block it's Merkle root hash will be different from the Merkle root hash of honest nodes. A malicious node could not reach a consensus for the changes that have been done by that node and those changes will be simply discarded by the blockchain.






share|improve this answer






















    Your Answer







    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "642"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    convertImagesToLinks: false,
    noModals: false,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













     

    draft saved


    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f56741%2faction-taken-when-data-of-a-block-gets-tampered-with%23new-answer', 'question_page');

    );

    Post as a guest






























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    3
    down vote



    accepted










    Please note that I'm not 100% fluent with blockchain details but the basic idea in this answer is correct and probably most of the details are also correct.



    If one node changes its history data, not much actually happens. All other nodes still contain the correct data and all subsequent hash values represent the correct data. Even the one node with incorrect history data might not even notice it and continues with correct hashes for the correct data even - I don't think a node revalidates its own history. As for the whole network, consensus data is correct.



    I think the only problem might arise if someone queries your malicious node for history data and gets the incorrect data. They could just check whether the data is consistent with future hashes and notice it's not, but I'm not sure if clients actually bother with this kind of checks. If a single node is malicious it can probably succeed in providing you with malicious data.



    But, still, the network as a whole wouldn't probably even notice the malicious data and the malicious data wouldn't even be available anywhere else except the one malicious node.






    share|improve this answer




















    • One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
      – Susmit Agrawal
      Aug 17 at 8:53










    • Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
      – Lauri Peltonen
      Aug 17 at 8:56














    up vote
    3
    down vote



    accepted










    Please note that I'm not 100% fluent with blockchain details but the basic idea in this answer is correct and probably most of the details are also correct.



    If one node changes its history data, not much actually happens. All other nodes still contain the correct data and all subsequent hash values represent the correct data. Even the one node with incorrect history data might not even notice it and continues with correct hashes for the correct data even - I don't think a node revalidates its own history. As for the whole network, consensus data is correct.



    I think the only problem might arise if someone queries your malicious node for history data and gets the incorrect data. They could just check whether the data is consistent with future hashes and notice it's not, but I'm not sure if clients actually bother with this kind of checks. If a single node is malicious it can probably succeed in providing you with malicious data.



    But, still, the network as a whole wouldn't probably even notice the malicious data and the malicious data wouldn't even be available anywhere else except the one malicious node.






    share|improve this answer




















    • One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
      – Susmit Agrawal
      Aug 17 at 8:53










    • Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
      – Lauri Peltonen
      Aug 17 at 8:56












    up vote
    3
    down vote



    accepted







    up vote
    3
    down vote



    accepted






    Please note that I'm not 100% fluent with blockchain details but the basic idea in this answer is correct and probably most of the details are also correct.



    If one node changes its history data, not much actually happens. All other nodes still contain the correct data and all subsequent hash values represent the correct data. Even the one node with incorrect history data might not even notice it and continues with correct hashes for the correct data even - I don't think a node revalidates its own history. As for the whole network, consensus data is correct.



    I think the only problem might arise if someone queries your malicious node for history data and gets the incorrect data. They could just check whether the data is consistent with future hashes and notice it's not, but I'm not sure if clients actually bother with this kind of checks. If a single node is malicious it can probably succeed in providing you with malicious data.



    But, still, the network as a whole wouldn't probably even notice the malicious data and the malicious data wouldn't even be available anywhere else except the one malicious node.






    share|improve this answer












    Please note that I'm not 100% fluent with blockchain details but the basic idea in this answer is correct and probably most of the details are also correct.



    If one node changes its history data, not much actually happens. All other nodes still contain the correct data and all subsequent hash values represent the correct data. Even the one node with incorrect history data might not even notice it and continues with correct hashes for the correct data even - I don't think a node revalidates its own history. As for the whole network, consensus data is correct.



    I think the only problem might arise if someone queries your malicious node for history data and gets the incorrect data. They could just check whether the data is consistent with future hashes and notice it's not, but I'm not sure if clients actually bother with this kind of checks. If a single node is malicious it can probably succeed in providing you with malicious data.



    But, still, the network as a whole wouldn't probably even notice the malicious data and the malicious data wouldn't even be available anywhere else except the one malicious node.







    share|improve this answer












    share|improve this answer



    share|improve this answer










    answered Aug 17 at 8:39









    Lauri Peltonen

    2,8171318




    2,8171318











    • One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
      – Susmit Agrawal
      Aug 17 at 8:53










    • Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
      – Lauri Peltonen
      Aug 17 at 8:56
















    • One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
      – Susmit Agrawal
      Aug 17 at 8:53










    • Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
      – Lauri Peltonen
      Aug 17 at 8:56















    One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
    – Susmit Agrawal
    Aug 17 at 8:53




    One question here: As far as I know, a wallet is not decentralised. Rather, it uses the data on the node for transactions. What prevents the use of malicious data from affecting these transactions? For example, if a node has 0 ETH in other nodes, and 10 ETH in itself, what prevents any transactions from being carried out?
    – Susmit Agrawal
    Aug 17 at 8:53












    Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
    – Lauri Peltonen
    Aug 17 at 8:56




    Even if I have 0 ETH everywhere I can submit a transaction to send 5 ETH to some account. The transaction will be processed but it will fail because the balance is too small. Even if one malicious node accepts it, all other nodes will not and the one single node's result will be ignored due to consensus protocol.
    – Lauri Peltonen
    Aug 17 at 8:56










    up vote
    2
    down vote













    Blockchain uses a data structure called Merkle Tree for efficient and secure verification of content in a large body of data. If a single detail in any of the transactions or the order of the transactions changes, so does the Merkle Root. Using a Merkle tree allows for a quick and simple test of whether a specific transaction is included in the set or not. Read this article to understand Merkle trees.



    So if any node maliciously changes the data of block it's Merkle root hash will be different from the Merkle root hash of honest nodes. A malicious node could not reach a consensus for the changes that have been done by that node and those changes will be simply discarded by the blockchain.






    share|improve this answer


























      up vote
      2
      down vote













      Blockchain uses a data structure called Merkle Tree for efficient and secure verification of content in a large body of data. If a single detail in any of the transactions or the order of the transactions changes, so does the Merkle Root. Using a Merkle tree allows for a quick and simple test of whether a specific transaction is included in the set or not. Read this article to understand Merkle trees.



      So if any node maliciously changes the data of block it's Merkle root hash will be different from the Merkle root hash of honest nodes. A malicious node could not reach a consensus for the changes that have been done by that node and those changes will be simply discarded by the blockchain.






      share|improve this answer
























        up vote
        2
        down vote










        up vote
        2
        down vote









        Blockchain uses a data structure called Merkle Tree for efficient and secure verification of content in a large body of data. If a single detail in any of the transactions or the order of the transactions changes, so does the Merkle Root. Using a Merkle tree allows for a quick and simple test of whether a specific transaction is included in the set or not. Read this article to understand Merkle trees.



        So if any node maliciously changes the data of block it's Merkle root hash will be different from the Merkle root hash of honest nodes. A malicious node could not reach a consensus for the changes that have been done by that node and those changes will be simply discarded by the blockchain.






        share|improve this answer














        Blockchain uses a data structure called Merkle Tree for efficient and secure verification of content in a large body of data. If a single detail in any of the transactions or the order of the transactions changes, so does the Merkle Root. Using a Merkle tree allows for a quick and simple test of whether a specific transaction is included in the set or not. Read this article to understand Merkle trees.



        So if any node maliciously changes the data of block it's Merkle root hash will be different from the Merkle root hash of honest nodes. A malicious node could not reach a consensus for the changes that have been done by that node and those changes will be simply discarded by the blockchain.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Aug 17 at 10:57









        Community♦

        1




        1










        answered Aug 17 at 9:02









        asvisosila

        67518




        67518



























             

            draft saved


            draft discarded















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f56741%2faction-taken-when-data-of-a-block-gets-tampered-with%23new-answer', 'question_page');

            );

            Post as a guest













































































            Comments

            Popular posts from this blog

            What does second last employer means? [closed]

            List of Gilmore Girls characters

            Confectionery