Author

Topic: Получение случайного числа из хеша транз&#107 (Read 2590 times)

legendary
Activity: 954
Merit: 1003
Рекомендую использовать хеш транзакции в сочетании с хешом блока, в который она добавлена (например их побитовый xor) - манипуляции с этим тоже возможны, но уже только со стороны владельцев пулов майнинга, и вероятность успеха манипуляции сравнима с их долей мощности от всей сети.

цена такой манипуляции — 25 биткоинов Smiley
legendary
Activity: 1554
Merit: 1008
постановка задачи с ошибкой
Quote
случайное число на основе хэша их транзакции

если надо случайное число - то оно никак не связано с транзакцией или блоком или еще чем - она СЛУЧАЙНАЯ

и по ней ничего определить нельзя

если нужен код на основе транзакции или блока или еще чего - то он не может быть СЛУЧАЙНЫМ
он жестко связан со случайной инфо в транзакции или блоке
legendary
Activity: 1260
Merit: 1019
Quote
Если перечислить минимальное количество биткоинов в определенный момент, будет ли хэш этой транзакции случайным числом или отправитель может знать его заранее?
В транзакции есть ECDSA-сигнатура
Сигнатуру можно формировать с помощью генератора случайных чисел либо детерминированным образом.
Клиенты сегодня как правило используют ГСЧ, но с плохими ГПСЧ вы сильно рискуете.
Если алгоритм детерминированный - то транзакция будет получаться все время одинаковая.

До формирования транзакции хеш вы узнать не сможете. Но формирование и отправка - это же разные вещи! Можно сформировать транзакцию, но не отправлять ее.

Quote
Можно ли узнать хэш транзакции до ее физического отравления?
Да.

Quote
То есть если мне говорят, что предоставят случайное число на основе хэша их транзакции, можно ли доверять этому случайному числу? Или они могут манипулировать хешем или знать хеш еще до отправления транзакции?
Легко. Хотите я вам пошлю транзакцию, хеш которой будет "1234...."
Ну, скажем так... Не очень легко, но возможно.
newbie
Activity: 6
Merit: 0
Заранее извиняюсь за возможное недопонимание тонкостей. Поясните пожалуйста. То есть в начале каждой минуты, в 00 секунд создается транзакция, она в течении нескольких секунд попадает в сеть от нее берется хэш и скрещивается с хешем блока. Но новый блок один раз в 10 минут создается. А задача получать случайное число с периодичностью раз в минуту. Так же все должны быть уверены что полученное число действительно случайно и создатель транзакции не сможет повлиять на него. Критично, что бы предугадать получившееся число было невозможно.

Если данный вариант не подходит, возможно есть другие варианты генерации случайного числа на основе блокчейна с высокой защитой от манипуляций?
legendary
Activity: 1120
Merit: 1069
Если для задачи не критично, что каждый сможет хотя бы в пределах короткого периода (секунды) предугадать (но не манипулировать) значения следующих случайных чисел, то достаточно просто использовать хеши транзакций (методом что я описал выше) как seed в любом алгоритме генерации псевдослучайных чисел. А там сколько угодно генерируйте этих чисел.
newbie
Activity: 6
Merit: 0
То есть получать случайное число оперативно в течении нескольких секунд. Что бы исходные данные были задокументированны блокчейном, для того что бы можно было проверить в любое время верность расчета. И так же что бы никто не мог повлиять на это случайное число.
 Возможно это можно организовать на потоке новых транзакций. Допустим брать четыре вновь поступивших транзакций, начиная с определенного момента и вычислять на основе их хеша случайное число. Но иногда транзакции идут медленно и злоумышленник может как то запустить свои транзакции и тем самым получить нужный результат случайного числа.
Скорее всего не самый лучший способ. Как еще возможно реализовать решение этой задачи?
newbie
Activity: 6
Merit: 0
Если стоит задача получать случайные числа допустим в начале каждой минуты. То есть получение числа начинается с :01 секунды каждой минуты и продолжается до 5-10 секунд. И что бы никто не смог повлиять на результат. И что бы расчетные данные можно было просмотреть допустим на blockchain.info
legendary
Activity: 1554
Merit: 1008
брать хэш 6-го от высоты блока в цепочке
он уже 6 подтверждений прошел так что мощи не хватит у пула
newbie
Activity: 6
Merit: 0
Какие возможны варианты если случайное число нужно получать примерно раз в минуту? Возможно ли это?
legendary
Activity: 1120
Merit: 1069
Отправитель может создать транзакцию но не отправлять ее в сеть, посмотреть на получившийся хеш, и если он не подходит под желаемый - создать следующую, что-нибудь изменив в транзакции.

Рекомендую использовать хеш транзакции в сочетании с хешом блока, в который она добавлена (например их побитовый xor) - манипуляции с этим тоже возможны, но уже только со стороны владельцев пулов майнинга, и вероятность успеха манипуляции сравнима с их долей мощности от всей сети.

Чтобы и эту возможность исключить - можно использовать одновременно несколько блокчейнов от разных криптовалют (рекомендую использующие кардинально разные технологии - разные типы PoW, PoS, PoC и т.п. чтобы уменьшить вероятность одновременного владения достаточными мощностями во всех используемых криптовалютах)
newbie
Activity: 6
Merit: 0
Если перечислить минимальное количество биткоинов в определенный момент, будет ли хэш этой транзакции случайным числом или отправитель может знать его заранее?

Можно ли узнать хэш транзакции до ее физического отравления?

То есть если мне говорят, что предоставят случайное число на основе хэша их транзакции, можно ли доверять этому случайному числу? Или они могут манипулировать хешем или знать хеш еще до отправления транзакции?
Jump to: