Bitcoin Forum
May 29, 2024, 03:20:24 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Получение случайного числа из хеша транзk  (Read 2581 times)
kkosta (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
September 25, 2014, 06:22:54 PM
 #1

Если перечислить минимальное количество биткоинов в определенный момент, будет ли хэш этой транзакции случайным числом или отправитель может знать его заранее?

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

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

Activity: 1120
Merit: 1069


View Profile WWW
September 25, 2014, 06:54:57 PM
 #2

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

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

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

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
kkosta (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
September 25, 2014, 07:05:27 PM
 #3

Какие возможны варианты если случайное число нужно получать примерно раз в минуту? Возможно ли это?
icreator
Legendary
*
Offline Offline

Activity: 1554
Merit: 1008



View Profile WWW
September 25, 2014, 07:21:33 PM
 #4

брать хэш 6-го от высоты блока в цепочке
он уже 6 подтверждений прошел так что мощи не хватит у пула

Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions.
+Decentralized exchange of tokens in Erachain
kkosta (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
September 25, 2014, 07:38:22 PM
 #5

Если стоит задача получать случайные числа допустим в начале каждой минуты. То есть получение числа начинается с :01 секунды каждой минуты и продолжается до 5-10 секунд. И что бы никто не смог повлиять на результат. И что бы расчетные данные можно было просмотреть допустим на blockchain.info
kkosta (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
September 25, 2014, 07:51:52 PM
 #6

То есть получать случайное число оперативно в течении нескольких секунд. Что бы исходные данные были задокументированны блокчейном, для того что бы можно было проверить в любое время верность расчета. И так же что бы никто не мог повлиять на это случайное число.
 Возможно это можно организовать на потоке новых транзакций. Допустим брать четыре вновь поступивших транзакций, начиная с определенного момента и вычислять на основе их хеша случайное число. Но иногда транзакции идут медленно и злоумышленник может как то запустить свои транзакции и тем самым получить нужный результат случайного числа.
Скорее всего не самый лучший способ. Как еще возможно реализовать решение этой задачи?
rPman
Legendary
*
Offline Offline

Activity: 1120
Merit: 1069


View Profile WWW
September 25, 2014, 08:17:33 PM
 #7

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

Здесь не может находиться ваша реклама Smiley
Protect a future of bitcoin, use p2pool
Donation in BTC: 19fv5yYtfWZ9jQNjx2ncmu1TTrvg5CczZe
kkosta (OP)
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
September 25, 2014, 08:39:17 PM
 #8

Заранее извиняюсь за возможное недопонимание тонкостей. Поясните пожалуйста. То есть в начале каждой минуты, в 00 секунд создается транзакция, она в течении нескольких секунд попадает в сеть от нее берется хэш и скрещивается с хешем блока. Но новый блок один раз в 10 минут создается. А задача получать случайное число с периодичностью раз в минуту. Так же все должны быть уверены что полученное число действительно случайно и создатель транзакции не сможет повлиять на него. Критично, что бы предугадать получившееся число было невозможно.

Если данный вариант не подходит, возможно есть другие варианты генерации случайного числа на основе блокчейна с высокой защитой от манипуляций?
amaclin
Legendary
*
Offline Offline

Activity: 1260
Merit: 1019


View Profile
September 25, 2014, 09:00:25 PM
 #9

Quote
Если перечислить минимальное количество биткоинов в определенный момент, будет ли хэш этой транзакции случайным числом или отправитель может знать его заранее?
В транзакции есть ECDSA-сигнатура
Сигнатуру можно формировать с помощью генератора случайных чисел либо детерминированным образом.
Клиенты сегодня как правило используют ГСЧ, но с плохими ГПСЧ вы сильно рискуете.
Если алгоритм детерминированный - то транзакция будет получаться все время одинаковая.

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

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

Quote
То есть если мне говорят, что предоставят случайное число на основе хэша их транзакции, можно ли доверять этому случайному числу? Или они могут манипулировать хешем или знать хеш еще до отправления транзакции?
Легко. Хотите я вам пошлю транзакцию, хеш которой будет "1234...."
Ну, скажем так... Не очень легко, но возможно.
icreator
Legendary
*
Offline Offline

Activity: 1554
Merit: 1008



View Profile WWW
September 26, 2014, 08:59:55 AM
 #10

постановка задачи с ошибкой
Quote
случайное число на основе хэша их транзакции

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

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

если нужен код на основе транзакции или блока или еще чего - то он не может быть СЛУЧАЙНЫМ
он жестко связан со случайной инфо в транзакции или блоке

Erachain Blockchain is fully ready for use Digital Ecosystem based on blockchain technology for business and government with low transaction costs, identification and built-in functions.
+Decentralized exchange of tokens in Erachain
pianist
Legendary
*
Offline Offline

Activity: 954
Merit: 1003


View Profile
October 01, 2014, 07:26:35 PM
 #11

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

цена такой манипуляции — 25 биткоинов Smiley
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!