У меня есть привычка, которую, как мне кажется, разделяют многие: перед тем как взаимодействовать с умным контрактом, я сначала проверяю адрес. Раньше я думал, что этого достаточно, но, читая Dusk, я заметил кое-что простое: адрес говорит мне, какой контракт я вызываю, тогда как фактически выполняет код, который стоит за этим адресом. Перед развертыванием Dusk использует BLAKE3, чтобы захешировать полный байткод, и затем сравнивает его с сохранённым хешем — это помогает защититься от изменяемости байткода (bytecode malleability). Проще говоря, Dusk проверяет не только: «Это правильный контракт?». Он также проверяет, соответствует ли код, стоящий за этой идентичностью, тому коду, который был фактически опознан. Я считаю это особенно ценным для финансовой инфраструктуры, потому что когда умные контракты начинают управлять активами и финансовой логикой, целостность кода становится частью самой модели доверия. Адрес идентифицирует контракт; хеш байткода защищает целостность кода за ним. И это оставляет мне один вопрос: если больше финансовых правил будет переноситься в умные контракты, нужно ли самому коду со временем иметь такую же доверенную идентичность, как люди и активы, которыми он управляет?
#dusk $BTW $RICE $DUSK @Dusk
#dusk $BTW $RICE $DUSK @Dusk