Давайте поговорим о суперспособности Starknet: Sierra. Когда вы создаете блокчейн на основе ZK с ZK-ориентированной виртуальной машиной для общего вычисления (как Cairo для Starknet), вы столкнетесь с проблемой: как сделать виртуальную машину одновременно безопасной для блокчейна *и* дружелюбной к ZK? Проблема заключается в недетерминированности. Я объясню: zkVM становятся гораздо более эффективными, если секвенсер/доказатель может "угадать" определенные значения и волшебным образом заполнить их. Проблема в том, что это открывает возможности для различных атак: злонамеренный пользователь может отправить транзакцию, которую трудно угадать, а злонамеренный секвенсер/доказатель может решить не угадать правильное значение, чтобы навредить пользователю. Какое решение? - Один из вариантов - устранить недетерминированность. Но это снижает эффективность. - Другой вариант - использовать игровые теоретические методы, чтобы позволить другим секвенсерам наказывать атакующих, одновременно поощряя некоторых секвенсеров включать хорошие транзакции. - Третий вариант - создать безопасное промежуточное представление (мы называем его: Sierra). Sierra позволяет именно тот вид недетерминированности, при котором все догадки могут быть заполнены. По пути наличие этого инструмента позволяет решать и другие интересные задачи, такие как добавление учета газа в процессе компиляции. Резюме: Под капотом Cairo, лучшего языка смарт-контрактов, находится драгоценный камень, суперспособность, которая позволяет безопасно и эффективно запускать ZK на основе блокчейна. Только на Starknet, технологии будущего уже сегодня.