kadena-io / chainweb-node

Chainweb: A Proof-of-Work Parallel-Chain Architecture for Massive Throughput
https://docs.kadena.io/basics/whitepapers/overview
BSD 3-Clause "New" or "Revised" License
248 stars 95 forks source link

Minimum Precision "bug" #1242

Open Thanos420NoScope opened 3 years ago

Thanos420NoScope commented 3 years ago

The coin contract accepts transactions with more than 12 digits if they are 0s. It is not a security threat and cannot break precision, but is permanent for both the sending and the receiving account. image

emilypi commented 3 years ago

That could be a valid space attack, and I'd consider it a valid bug as a result.

larskuhtz commented 3 years ago

I think, this is a pact issue, since the chainweb-node is agnostic about semantics of payloads.

Resolving this on pact validation level could would probably require a fork. So, we may instead continue accept those numbers internally within pact evaluation (execValidateBlock, but reject pending zeros on input in pact-service (e.g. in the mempool or newBlock).

chessai commented 10 months ago

@jmcardon @edmundnoble is this still an issue? iirc this has been patched, but my recollection is only vague.