Основной вопрос о распределенном смарт-контракте. Предположим, я пишу смарт-контракт и размещаю его в общедоступной сети.
My Contract Specification
• My contract would allow anyone to register.
• Fund 10 Ether to the contract
• Contract will in turn return 12 Ether on Dec 31st 2017
Владелец контракта по ошибке вместо ограничения до 31 декабря указал в контракте 31 января.
Сценарий:
• Owner A sits in USA, deploys the contract in public chain
• User B from Australia funds 10 ether to the contract on August 31st, 2017
• User B now expects 12 Ether on Dec 31st but he never receives it .
Вопрос
Even though the contract is distributed among all the nodes,
1. How would user B come to know what is written in the contract ( assuming B has zero coding knowledge) ?
2. If only User B is interested in this contract, who will verify this smart contract
Смарт-контракт после развертывания на Ethereum становится общедоступным и может быть просмотрен. Нужно знать, на что они подписываются, изучив смарт-контракт (другого выхода нет).
Если я пользователь B, я бы запросил у пользователя A исходный код контракта и все инструкции, необходимые для проверки соответствия сгенерированного байт-кода исходному коду. Если я ничего не знаю о смарт-контрактах, я должен попросить помощи у того, кто о них знает.
Как это происходит в реальной жизни, если вы хотите подписать контракт, вы заставляете кого-то, кому вы доверяете, просмотреть его. Это, очевидно, зависит от контракта, для более серьезного контракта вы можете обратиться к профессионалу, для более простого контракта вы можете спросить в Интернете.
Вы можете проверить и опубликовать код на etherscan.io. После этого любой, кто пойдет по этому контрактному адресу, будет знать, что такое код.
солнце
Ройнаруто
Томас Джей Раш