А можно поподробнее? Ну вес транзакции это понятно, просто байты.
А что значит вычислительные ресурсы по отношению к транзакции?
Вроде бы понятно, но стоит уточнить более конкретный пример.
Есть разные операции - например сложить два числа - это простая операция.
А проверить ECDSA-подпись в транзакции - в тысячи раз больше тактов процессора
требует. Вполне логично, что если две транзакции имеют одинаковый размер,
но одна из них более ресурсоёмкая - значит и комиссия у нее должна быть больше.
В битке с самого начала начали делать костыли - сперва ограничили количество
операций в скрипте вообще (201 если на ошибаюсь), потом ограничили количество
SIGOP-операций (не более 20 на скрипт, не более 50 на килобайт), потом еще
что-то переделывали. Я в свое время даже не поленился, потратил где-то 1 биткойн
на вот эту атаку:
https://bt.irlbtc.com/view/1166928.0Тормознул тогда всю сеть на пару часов, но этого особо никто не заметил,
а профита с этого я не нашел способ получить. Потом, конечно, разработчики
это поправили.
В эфире сложнее - ведь скрипты в нем алгоритмически полные, то есть по
виду скрипта нельзя определить - сколько в нем операций и вообще не является
ли скрипт "вечным циклом". Единственный способ посчитать - это начать выполнять
скрипт и, выполняя каждую команду, подсчитьывать "вычислительный вес".
Если вес становится больше, чем задан отправителем транзакции - эта транзакция
просто игнорируется.
Вроде с этим была связана проблема c ДАО-контрактами. Но ребята, хватит уже
есть с ложечки. Неужели трудно вам самостоятельно изучить предмет, которым
вы занимаетесь?
По атаке - прикольно)
"Вроде с этим была связана проблема c ДАО-контрактами. Но ребята, хватит уже
есть с ложечки. Неужели трудно вам самостоятельно изучить предмет, которым
вы занимаетесь?"
Где можно основы почитать?