Slackness issue and time in smart contracts
Clash 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
bitcoin timestamp smart-lock
add a comment |Â
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
bitcoin timestamp smart-lock
add a comment |Â
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
bitcoin timestamp smart-lock
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
bitcoin timestamp smart-lock
asked Aug 8 at 9:43
Aydin.
600723
600723
add a comment |Â
add a comment |Â
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
add a comment |Â
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.
add a comment |Â
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
add a comment |Â
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
add a comment |Â
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
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
answered Aug 8 at 9:54


Jaime
3,4991216
3,4991216
add a comment |Â
add a comment |Â
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.
add a comment |Â
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.
add a comment |Â
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.
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.
answered Aug 8 at 11:07


Mikko Ohtamaa
6,32731552
6,32731552
add a comment |Â
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password