One important task of smart contracts, that has been largely overlooked by traditional EDI, is communicating the semantics of the transaction to the parties involved. There is ample opportunity in smart contracts for “smart fine print”: actions taken by the software hidden from a party to the transaction. For example, grocery store POS machines don’t tell customers whether or not their names are being linked to their purchases in a database. The clerks don’t even know, and they’ve processed thousands of such transactions under their noses. Thus, via hidden action of the software, the customer is giving away information they might consider valuable or confidential, but the contract has been drafted, and transaction has been designed, in such a way as to hide those important parts of that transaction from the customer.
What the everloving fuck is this blatent disregard for honesty?!
From Smart Contracts by Nick Szabo, the guy who originally invented the concept
You can never be certain what's gonna happen as a side effect of interacting with a contract. It doesn't have to tell you anything.
Just:
>Finally, like traditional contracts, you can check what's in a smart contract before you sign it (or otherwise interact with it). A smart contract's transparency guarantees that anyone can scrutinize it.
I knew it already though.
AIUI You can get almost identical code back out but without the variable names and comments etc obviously
https://jbecker.dev/research/diving-into-decompilation
@Hyolobrika @feld not sure if this is what you're asking, but etherscan allows contract authors to upload source and they'll verify it compiles out the same. Clicked a random transaction and found this one as example: https://etherscan.io/address/0xd4e96ef8eee8678dbff4d535e033ed1a4f7605b7#code
2. I want a way to verify it myself, so I don't have to trust anyone.
- replies
- 0
- announces
- 0
- likes
- 0
Wdym by this? Surely everything is in the Solidity code, which can then (potentially) be reproducibly built to verify it corresponds to EVM bytecode, right?
Freenet, which is not cryptocurrency but is conceptually similar to Ethereum, also uses WASM (currently just with Rust, which the core program is also written in)