Zweck der Etherscan-Verifizierung

Was ist der Zweck der Smart-Contract-Code-Etherscan-Verifizierung?

Ist es dazu gedacht, den Besitz, böswillige Codezeilen oder etwas anderes zu überprüfen?

Antworten (2)

Es überprüft, ob der Bytecode des Smart Contracts, der im Ethereum-Netzwerk gespeichert ist, dem Solidity-Code entspricht, der anfänglich nur dem Smart Contract-Entwickler zur Verfügung steht.

Etherescan kompiliert den Solidity-Code und überprüft, ob der resultierende Bytecode genau mit dem im Ethereum-Netzwerk gespeicherten Bytecode übereinstimmt. Leute, die den Smart Contract lesen, wissen, dass der Code tatsächlich ausgeführt wird, wenn sie den Smart Contract aufrufen.


Interessanterweise kann jeder den Solidity-Code mit seinen Kommentaren für jeden Vertrag einreichen. Wenn sie es vor den Eigentümern tun können, dann haben sie es geschafft, den Solidity-Code mit willkürlichen Kommentaren auf Etherscan zu veröffentlichen. Die Besitzer müssen sich wahrscheinlich an den Support von Etherscan wenden, um das Problem zu beheben.

Obwohl das Ändern von Kommentaren den an den Bytecode angehängten Schwarm-Hash ändert , ignoriert Etherscan ihn während der Überprüfung https://github.com/trufflesuite/truffle/issues/456#issuecomment-370133955

Nicht länger. Nicht etherscan überprüft es.

Von https://programtheblockchain.com/posts/2018/01/16/verifying-contract-source-code/ :

Die Stärke von Smart Contracts liegt darin, dass sie „trustless“ sind. Einmal bereitgestellt, ist ein Smart Contract unveränderlich und manipulationssicher. Es wird garantiert genau der Code ausgeführt, der geschrieben wurde. Diese Garantie ist jedoch nur sinnvoll, wenn Sie wissen, welcher Code ausgeführt wird.

Alles auf der Blockchain ist öffentlich, einschließlich des Bytecodes von Smart Contracts, aber Bytecode ist Low-Level und ziemlich schwer zu verstehen. Der in Solidity geschriebene Quellcode ist viel nützlicher. Wenn Sie möchten, dass andere Personen Ihren Smart Contracts vertrauen, sollten Sie den Quellcode veröffentlichen, und bevor Sie mit dem Smart Contract einer anderen Person interagieren, sollten Sie deren Quellcode untersuchen.