It was today, I have been able to set my system time back for at least the last three betas. Usually I just set it back a couple of mins but after reading BloodyRookies post about the timeframe I tried the 1hr timeframe and it worked.
Interesting.
It was today, I have been able to set my system time back for at least the last three betas. Usually I just set it back a couple of mins but after reading BloodyRookies post about the timeframe I tried the 1hr timeframe and it worked.
Here is the hash: d09d65fe1c89f6d2b59017a0a424eb08c6ef3261c01489b75343454293bf6484
It was today, I have been able to set my system time back for at least the last three betas. Usually I just set it back a couple of mins but after reading BloodyRookies post about the timeframe I tried the 1hr timeframe and it worked.
Interesting.
Here is the hash: d09d65fe1c89f6d2b59017a0a424eb08c6ef3261c01489b75343454293bf6484
It was today, I have been able to set my system time back for at least the last three betas. Usually I just set it back a couple of mins but after reading BloodyRookies post about the timeframe I tried the 1hr timeframe and it worked.
Interesting.
It was 9:42 my time then I set my system time batck 1hr and sent some txs.
EDIT:
Here is the hash of a txs i sent just before i turned my system time back 1 hr 79f4d83bf0a763dbe372b3d24623ab5af72882d603c040fff514d256b0cc7dce
You can see they are in the same block but the timestamp shows them about 1 hr apart
It's not about the blocks it's about txs timestamp. Timestamp of txs are very important for payment processing, if the time can be adjust then the system isn't valid.
It's not about the blocks it's about txs timestamp. Timestamp of txs are very important for payment processing, if the time can be adjust then the system isn't valid.
This is my line of thinking: Let's say there is a time deadline of 2:00 pm to make a payment for some event, at 2:20 pm you haven't made a payment yet so you set your system time back an hr or more, make the payment then once the payment is in the block you send the payment hash to show that you made the payment on time. It's easy enough to blame the network for delaying the payment, as far as i can tell besides the txs timestamp there is no way to tell when the payment was sent.
You might be on to something about having NIS make the timestamp.
Block time is the time of entry into the ledger. In my opinion it should be the official record of data entry, not the machine time. Anything else should not be considered true unless and until it is entered into the block chain.
When the checkbox is ticked, NCC will just use local system time. Easy as that...
...
Pretty sure that's not how it works.
Not now, but hopefully in the future...
No I mean I'm pretty sure it wouldn't be reliable. If I'm not mistaken that would result in different timewindows for people in different timezones.
1) When you set your system time into the future for more than 10 seconds your transaction will not be accepted by the network. Future transactions are thus not allowed and that is validated.
2) You can set your computer back an hour and the transaction will go through if the deadline is not exceeded. So what? You can supply any timestamp for the transaction when using a script, you don't even need to adjust your computer time. The timestamp of a transaction has no meaning other than checking if has already expired. The relevant thing when it comes to payment or any deadline given by an external entity is when it was included in a block.
1) When you set your system time into the future for more than 10 seconds your transaction will not be accepted by the network. Future transactions are thus not allowed and that is validated.
2) You can set your computer back an hour and the transaction will go through if the deadline is not exceeded. So what? You can supply any timestamp for the transaction when using a script, you don't even need to adjust your computer time. The timestamp of a transaction has no meaning other than checking if has already expired. The relevant thing when it comes to payment or any deadline given by an external entity is when it was included in a block.
i know for a fact that users will go by the time stamp and not the block it was included in.. "hey guys, payment due by 10pm".. user: "shit im late..." *sets time back*.. organiser: "all tx's seem to be valid, prize money for competition paid out" < cos he goes by the clock time... other user: "hey that dudes tx wasnt included until an hour after the deadline.. why does it say the time was valid and why does he get to enter the competition,.. nem is broken"
doesnt make any sense to allow users to manipulate the timestamp like that... :/ is there any reason why they should be allowed to manipulate the time stamp like that? what would be a use case for allowing this? if theres no use case, it will most likely cause more issues than provided benefits..
doesnt make any sense to allow users to manipulate the timestamp like that... :/ is there any reason why they should be allowed to manipulate the time stamp like that? what would be a use case for allowing this? if theres no use case, it will most likely cause more issues than provided benefits..
BloodyRookie the issue is about being able to manipulate the system, the above gave a very likely situation which could happen. It has been pointed out that there are no positives and lots of negatives to this and your replies to this matter is very disheartening.
The average person will have a hard enough time figuring out crypto as it is, now you expect them to figure out what block numbers and confirmations mean and how they work together? It will take awhile before people reach this point.
Instead of using local time, use nis synchronised time… Then off set the timezone locally so you can only move the time around locally on your ncc settings. As for signing of timestamp on tx, is there any technical reason why txs can't be timestamped using nis synch time and that time just displayed differently based on local settings?
Hello
In my opinion transaction time should be same as the time of the 1st confirmation or the block time.
Even if there is not manipulation involved under heavy load the transactions could go into the queue so that means
transaction crated at 10:00 am could sit there maybe for 2 hours while
the "game" could be already over or the auction offer could be already expired.
In case of auction for example this scenario could be used to manipulate the results by creating transaction at later
time by changin the system clock while the acution results are already known and to send the transaction to outbid
the best offer.
So in case there are no (there won't or can't be) any changes to this part of the code in NEM
it should be clearly documented in the API or wiki for other developers to know that they should themselves implement the correctly the transaction verification process by using the time of the 1st tx confirmation or the block time.
Instead of using local time, use nis synchronised time... Then off set the timezone locally so you can only move the time around locally on your ncc settings. As for signing of timestamp on tx, is there any technical reason why txs can't be timestamped using nis synch time and that time just displayed differently based on local settings?
Yes, but nodes could start to reject transactions with a timestamp far in the past or future… Or am I missing something?
Yes, but nodes could start to reject transactions with a timestamp far in the past or future... Or am I missing something?
Ok I think we have to make clear how it actually works to understand the problems and possible solutions.
How I understood it:
A user sends a transaction. What happens is: His NCC will use a NIS to propagate that transaction to other nodes and the nodes will propagate it even to more nodes etc. Then finally any node will calculate a new block and the transaction is a) included in that block or b) not included in that block because there are to many transactions so the transaction has to wait for future blocks.
So, if the timestamp of the transaction, that is propagated from the origin, has a wrong timestamp (too far in past or future), other nodes will not propagate it.
That is what I meant. But maybe I am missing something…
Ok I think we have to make clear how it actually works to understand the problems and possible solutions.
How I understood it:
A user sends a transaction. What happens is: His NCC will use a NIS to propagate that transaction to other nodes and the nodes will propagate it even to more nodes etc. Then finally any node will calculate a new block and the transaction is a) included in that block or b) not included in that block because there are to many transactions so the transaction has to wait for future blocks.
So, if the timestamp of the transaction, that is propagated from the origin, has a wrong timestamp (too far in past or future), other nodes will not propagate it.
That is what I meant. But maybe I am missing something...