7. Генератор на основе данных блокчейна
bytes32 hash = block.blockhash(block.number - 1);
uint rnd = uint(keccak256(hash, nonce)) % 100;
• Выгода майнера (комиссия за майнинг
против интереса от выполнения кода)
• Выгода исполнителя транзакции
HashEx
8. Генератор на основе данных блокчейна
uint number = 5219479; // блок еще не замайнен
bytes32 hash = block.blockhash(number);
uint rnd = uint(keccak256(hash, nonce)) % 100;
• Выгода майнера (комиссия за майнинг
против интереса от выполнения кода)
HashEx
9. Гибридный метод
• Заданное внешнее случайное число
• Клиенты передают nonce
• Рандом вычисляется от параметров
• Доверие
• Интерфейс для клиентской транзакции
• Долгое время выполнения
HashEx
10. • Идеального метода нет
• Почему Виталик не предусмотрел
random()?
Выводы
HashEx
HODL or not to HODL?