В настоящее время я пишу магистерскую диссертацию об Ethereum. В диссертации я разрабатываю систему для отправки данных и выполнения расчетов с данными на блокчейне ethereum со смарт-контрактом. Система, которую я создаю, состоит из трех акторов. Генератор данных, актор, который получает эфириум на основе данных, и третья сторона, покупающая данные, созданные генератором данных. Генератор данных отправляет данные в смарт-контракт, развернутый субъектом, который получает эфириум на основе данных. Я хочу защитить эти данные, чтобы третья сторона не могла получить данные, которые отправляются в смарт-контракт. Шифрование данных перед их отправкой в смарт-контракт невозможно, потому что контракт должен будет расшифровать данные для отправки эфира на основе данных. При этом я хочу скрыть данные от третьего лица.
Это модель системы:
Важно, чтобы третья сторона не могла легко просматривать транзакции и находить данные, отправленные в смарт-контракт.
Может ли третья сторона использовать смарт-контракт один раз, получить байт-код контракта и выполнить поиск в блокчейне, чтобы найти адрес контракта, а затем просмотреть все транзакции, сделанные в контракте и из контракта?
И после этого получить все данные, отправленные в смарт-контракт? Есть ли другой способ получить данные, отправленные в смарт-контракт?
Если третья сторона использует контракт, то она уже знает его адрес, и да, они могут тривиально просмотреть все транзакции, связанные с этим адресом, и прочитать все данные в них.
РЕДАКТИРОВАТЬ
И чтобы ответить на вопрос в заголовке, да, вы можете найти смарт-контракты по их байт-коду. (Поэтому, если вы знаете байт-код, вы можете найти все развернутые контракты с таким же байт-кодом.)
Херлигетидер
пользователь19510