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

2 Answers 2


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 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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.