zold-io / papers

Zerocracy and Zold official PDF documents
https://papers.zold.io
9 stars 3 forks source link

The order of sorting transactions is not defined. #19

Open DronMDF opened 6 years ago

DronMDF commented 6 years ago

TLDR: In my opinion, we need rules for recognizing transactions as invalid. And the remaining transactions just sorted, so it was beautiful. :)

I see several cases that are not described in the WP. In chapter 8 the order of mergers is described.

2. If the transaction is negative (spending money) and its ID is lower
than the maximum ID in the ledger, it gets ignored as a fraudulent
one (“double spending”);

This is not blockchain. This is not problem. There may be situations where transaction 5 enters the network earlier than transaction 4. I do not see this problem if there is enough money in the wallet. This can happen if the client is decentralized. The identifier does not make sense at all...

If the value has only the overall balance of the wallet - then we generally can sort everything in time. Although this is not accurate. :)

0crat commented 6 years ago

@yegor256/z please, pay attention to this issue

0crat commented 6 years ago

@dronmdf/z this project will fix the problem faster if you donate a few dollars to it; just click here and pay via Stripe, it's very fast, convenient and appreciated; thanks a lot!

yegor256 commented 6 years ago

@DronMDF so you are saying that we can get rid of transaction ID entirely?

DronMDF commented 6 years ago

@yegor256 No, no...

One wallet can be used on different workstations for payments. It can sharing (For automation payment system for example). Should I require that these nodes support only sequential numbering of transactions? This is superfluous in my opinion. Let in a purse there will be some transactions with identical numbers. It's not a problem if you have enough money.

But the sufficiency of means can be checked more rigidly ... Not on the total balance, but transaction by transactions. For this, it is necessary that the nodes arrange the transactions in the identical order. To avoid unnecessary refusals.

yegor256 commented 6 years ago

@DronMDF yes, currently it's designed the way you can use one wallet only on one machine. You can't send payments from the same wallet from different machines, because you need to number transactions sequentially. I see your point -- we can get rid of IDs and just sort them by their time. It is indeed possible...