Slackness issue and time in smart contracts

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











up vote
1
down vote

favorite












At a high level, slackness issue says, it is not possible to guarantee that at any given point in time all honest miners see exactly the same blockchain length [1].



On the other hand, as we know the value returned by a function in a smart contract is the result of the blockchain consensus.



Assume, we define a function, time(), that returns the current time, i.e. "now", in a smart contract.



Question: How does the slackness issue affect the value returned by the function time()?



[1]. https://eprint.iacr.org/2017/149.pdf







share|improve this question
























    up vote
    1
    down vote

    favorite












    At a high level, slackness issue says, it is not possible to guarantee that at any given point in time all honest miners see exactly the same blockchain length [1].



    On the other hand, as we know the value returned by a function in a smart contract is the result of the blockchain consensus.



    Assume, we define a function, time(), that returns the current time, i.e. "now", in a smart contract.



    Question: How does the slackness issue affect the value returned by the function time()?



    [1]. https://eprint.iacr.org/2017/149.pdf







    share|improve this question






















      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      At a high level, slackness issue says, it is not possible to guarantee that at any given point in time all honest miners see exactly the same blockchain length [1].



      On the other hand, as we know the value returned by a function in a smart contract is the result of the blockchain consensus.



      Assume, we define a function, time(), that returns the current time, i.e. "now", in a smart contract.



      Question: How does the slackness issue affect the value returned by the function time()?



      [1]. https://eprint.iacr.org/2017/149.pdf







      share|improve this question












      At a high level, slackness issue says, it is not possible to guarantee that at any given point in time all honest miners see exactly the same blockchain length [1].



      On the other hand, as we know the value returned by a function in a smart contract is the result of the blockchain consensus.



      Assume, we define a function, time(), that returns the current time, i.e. "now", in a smart contract.



      Question: How does the slackness issue affect the value returned by the function time()?



      [1]. https://eprint.iacr.org/2017/149.pdf









      share|improve this question











      share|improve this question




      share|improve this question










      asked Aug 8 at 9:43









      Aydin.

      600723




      600723




















          2 Answers
          2






          active

          oldest

          votes

















          up vote
          2
          down vote













          now is not an absolute truth time, is just the timestamp of the last mined block. Having a definition of now, becomes clear that the slackness issue will affect this as it will any other function (or value), there may be nodes that are not part of the consensus at a particular time but whatever the majority agree is the last block, is what will determine the value of the function time() in the moment that is executed. This means that other chain (a fork) may be having a different value for that function but if that chain is shorter, chances are that it will die as the honest nodes will follow the longest chain.



          Hope this helps






          share|improve this answer



























            up vote
            1
            down vote













            now() is a value that the miner of the particular block gives on the block. now() is already a construct in Solidity language.



            Ethereum protocol gives some guarantees regarding the block skew of now() and miners have only limited ability to manipulate it before their blocks are considered invalid.






            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%2f56095%2fslackness-issue-and-time-in-smart-contracts%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
              2
              down vote













              now is not an absolute truth time, is just the timestamp of the last mined block. Having a definition of now, becomes clear that the slackness issue will affect this as it will any other function (or value), there may be nodes that are not part of the consensus at a particular time but whatever the majority agree is the last block, is what will determine the value of the function time() in the moment that is executed. This means that other chain (a fork) may be having a different value for that function but if that chain is shorter, chances are that it will die as the honest nodes will follow the longest chain.



              Hope this helps






              share|improve this answer
























                up vote
                2
                down vote













                now is not an absolute truth time, is just the timestamp of the last mined block. Having a definition of now, becomes clear that the slackness issue will affect this as it will any other function (or value), there may be nodes that are not part of the consensus at a particular time but whatever the majority agree is the last block, is what will determine the value of the function time() in the moment that is executed. This means that other chain (a fork) may be having a different value for that function but if that chain is shorter, chances are that it will die as the honest nodes will follow the longest chain.



                Hope this helps






                share|improve this answer






















                  up vote
                  2
                  down vote










                  up vote
                  2
                  down vote









                  now is not an absolute truth time, is just the timestamp of the last mined block. Having a definition of now, becomes clear that the slackness issue will affect this as it will any other function (or value), there may be nodes that are not part of the consensus at a particular time but whatever the majority agree is the last block, is what will determine the value of the function time() in the moment that is executed. This means that other chain (a fork) may be having a different value for that function but if that chain is shorter, chances are that it will die as the honest nodes will follow the longest chain.



                  Hope this helps






                  share|improve this answer












                  now is not an absolute truth time, is just the timestamp of the last mined block. Having a definition of now, becomes clear that the slackness issue will affect this as it will any other function (or value), there may be nodes that are not part of the consensus at a particular time but whatever the majority agree is the last block, is what will determine the value of the function time() in the moment that is executed. This means that other chain (a fork) may be having a different value for that function but if that chain is shorter, chances are that it will die as the honest nodes will follow the longest chain.



                  Hope this helps







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Aug 8 at 9:54









                  Jaime

                  3,4991216




                  3,4991216




















                      up vote
                      1
                      down vote













                      now() is a value that the miner of the particular block gives on the block. now() is already a construct in Solidity language.



                      Ethereum protocol gives some guarantees regarding the block skew of now() and miners have only limited ability to manipulate it before their blocks are considered invalid.






                      share|improve this answer
























                        up vote
                        1
                        down vote













                        now() is a value that the miner of the particular block gives on the block. now() is already a construct in Solidity language.



                        Ethereum protocol gives some guarantees regarding the block skew of now() and miners have only limited ability to manipulate it before their blocks are considered invalid.






                        share|improve this answer






















                          up vote
                          1
                          down vote










                          up vote
                          1
                          down vote









                          now() is a value that the miner of the particular block gives on the block. now() is already a construct in Solidity language.



                          Ethereum protocol gives some guarantees regarding the block skew of now() and miners have only limited ability to manipulate it before their blocks are considered invalid.






                          share|improve this answer












                          now() is a value that the miner of the particular block gives on the block. now() is already a construct in Solidity language.



                          Ethereum protocol gives some guarantees regarding the block skew of now() and miners have only limited ability to manipulate it before their blocks are considered invalid.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Aug 8 at 11:07









                          Mikko Ohtamaa

                          6,32731552




                          6,32731552



























                               

                              draft saved


                              draft discarded















































                               


                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function ()
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fethereum.stackexchange.com%2fquestions%2f56095%2fslackness-issue-and-time-in-smart-contracts%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