Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
27 ноября 2012, 6:04:55 PM   # 1
 
 
Сообщения: 2016
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Учитывая сделки, какие методы существуют, чтобы определить, какой из выходов, скорее всего, будет изменение?

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

Можно предположить, что не используются методы пользовательского обезличивания. Среди прочего это означает, что там будет не более 1 выход изменений.

Глядя на некоторых сделках, которые я сделал, это выглядит как Bitcoin-Qt всегда ставит изменение первым и blockchain.info MyWallet всегда ставит изменения последним. Они постоянно делают это? А как насчет других клиентов?

Некоторые из них предложили эвристики:

1. В sendmany, если выходы имеют простые целые соотношения между ними, то сделка, вероятно, будет некоторое пропорциональное распределение, и один выход, который не является целым числом, кратным НОД является изменение. Пример: эта сделка, все выходы кратно 0.01648442, за исключением изменения.

2. Изменение выходов, вероятно, имеют больше десятичных знаков (или иначе сложнее). Пример: эта сделка, 114 реальная передача, в то время как 7,527 разница, которая имеет 3 знака после запятой, так это то, что вход был.

3. (при условии отсутствия выбора монет анонимности, ориентированные): Изменение должно быть ниже, чем стоимость всех входов (в противном случае, что вход не был бы выбран). Это особенно полезно для операций, где несколько монет, вместе взятые.

4. Операция с адресами известных принадлежат некоторым службам могут иметь свои собственные правила, которые будут выведена на основе сервисов.

Любые другие предложения?
Мени Розенфельда сейчас офлайн Пожаловаться на Мень Rosenfeld   Ответить с цитированием Мультицитирование сообщения от Мени Rosenfeld Быстрый ответ на сообщение Мени Rosenfeld


Как заработать Биткоины?
Без вложений. Не майнинг.


27 ноября 2012, 8:49:21 PM   # 2
 
 
Сообщения: 2352
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Получил 1806 Биткоинов
Реальная история.





Любые другие предложения?

Клиент Bitcoin-Qt будет тянуть новый адрес из ключевого пула для изменения. Таким образом, любое количество отправлено на адрес, который уже был использован в сделке вряд ли изменится. Конечно, с другими клиентами, в частности Blockchain.info, это не обязательно так.

Есть некоторые подсказки из анекдотов, а также. Для более-внебиржевых сделок, довольно часто при получении средств получатель будет разворачиваться и потратить эти средства, которые были получены, как только было подтверждением.

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

Так возьмите транзакции А с выходами X и Y.
Затем другая транзакция (транзакция B), проводит X после 1 подтверждения. Чаще всего, казалось бы, этот аргумент может быть сделано, что, глядя на обоих сделок вместе, что Y является изменение в транзакции A. Шансы гораздо меньше шансов быть, что X является изменение, но это изменение было затем использовано в другая транзакция из того же кошелька вскоре после этого. Это может быть даже вероятно, что в транзакции B, если есть больше чем один выход, что меньший выход изменение. Человек, который тратит средства вскоре после получения их, как правило, будет тратить все средства, полученные или по крайней мере, большой кусок от него.
Стивен Gornick сейчас офлайн Пожаловаться на Stephen Gornick   Ответить с цитированием Мультицитирование сообщения от Stephen Gornick Быстрый ответ на сообщение Стивен Gornick

27 ноября 2012, 8:51:40 PM   # 3
 
 
Сообщения: 1484
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Учитывая сделки, какие методы существуют, чтобы определить, какой из выходов, скорее всего, будет изменение?

Он намеренно рандомизированы, чтобы сделать его труднее угадать

jgarzik сейчас офлайн Пожаловаться на jgarzik   Ответить с цитированием Мультицитирование сообщения от jgarzik Быстрый ответ на сообщение jgarzik

27 ноября 2012, 9:18:34 PM   # 4
kjj
 
 
Сообщения: 1302
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

3. (при условии отсутствия выбора монет анонимности, ориентированные): Изменение должно быть ниже, чем стоимость всех входов (в противном случае, что вход не был бы выбран). Это особенно полезно для операций, где несколько монет, вместе взятые.

Это приличная предположение большую часть времени, но раз в несколько недель, кто-то выскакивает на IRC жалуются, что селектор монет overselected. Самое последнее было, если я помню, что-то вроде 0,5 + 0,2 + 0,3 + 0,01 -> 1,0 + 0,01

По теме отслеживания в общем, я бы просто сказать, "Добро пожаловать в гонку вооружений", Необработанная сделка API позволяет сумасшедший людям, как мне делать глупые вещи, как создать все операции с 2 до 5 выходов почти одинакового размера. Следующий шаг будет публичным микс-отправитель.
kjj сейчас офлайн Пожаловаться на kjj   Ответить с цитированием Мультицитирование сообщения от kjj Быстрый ответ на сообщение kjj

27 ноября 2012, 10:35:32 PM   # 5
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Учитывая сделки, какие методы существуют, чтобы определить, какой из выходов, скорее всего, будет изменение?

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


я потратил много времени осуществление выбора монет в оружейной. Некоторые из ваших предположений будет неправильным, если ТХ был создан с Оружейной. Вот как Оружейные создает сделку:

(1) Метод выбора монет-оценки. Это метод, который забивает монету отбор на основе различных факторов: Сколько уникальных адреса связаны со стороны входа, размер сделки, необходимой пошлиной, и ... выход Анонимность сделки (описана ниже) , Все факторы набрали от 0 (неблагоприятных) и 1 (благоприятных).

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

(3) Оценка всех решений в части (2) с помощью метода Eval в части (1). Веса по умолчанию жестко закодированы в armoryengine.py, но пользователь может изменять их. Он определяет, насколько важен каждый фактор: наиболее важно не использует нулевой конф. Далее, может ли транзакция быть свободной (не связана с нулевого-Conf). Тогда количество входных адресов связаны между собой. Тогда ТЙ приоритет, размер ОГО, и выход Анонимность. Тем не менее, пользователь может сделать выход Анонимность наиболее важным (я делаю! Но только для удовольствия, а не потому, что я на самом деле все равно).

(4) Новый адрес извлекается из бумажника, изменение TxOut добавляется в список получателей, то список получателей перемешивается.  Сделка подписана и вещания.

Части вы заботитесь о:  

(1) Если транзакция мала по сравнению с бумажником баланса, его пару детерминированных решений около 2x выходное значение и 3x, так что изменения и Recip примерно одинаковы или, по крайней мере, тот же порядок величины. Это может помочь очистить пыль, это может помочь анонимности (но не гарантии либо). Но когда количество ОГО мал по сравнению с бумажником балансом, вы часто будете получать равные или перевернутые выходы размера, в случайном порядке. Это нарушает ваше предположение, что адрес изменения всегда меньше. Даже если Оружейный не делали этого, бумажник с одной очень большим TxOut, должен имеет большой выход изменения, если вы хотите отправить только небольшое количество, чтобы кто-то. Таким образом, даже без техники Оружейной, вы увидите, что предположение нарушенного с любым клиентом.

(2) Получатели всегда перемешивается, но только с питоном ГСЧЕМ (не нужен криптографической ГСЧ для этого)

(3) Весело часть Оружейная-х "выход анонимность" скоринг является то, что он на самом деле принимает во внимание число значащих цифр в обоих сигнала изменения и получателя. Даже если (Recip, изменение) = (12,4, 11,8320385) один и тот же порядок, это довольно очевидно, какой из них является изменение, которое выводится. Таким образом, я на самом деле подсчитать количество значащих цифр, и дать выделение на более высокий балл, если это ближе, как (12.4, 11.83). Он получает дополнительный бонус - рейтинг на самом деле выше 1,0 - если он находит решение, в котором адрес изменение имеет меньше sigfigs чем сабельные: (12,4, 10,0). то есть выходы обманчиво размера благоприятствования.  

Как часто (3) вызвать? Я не знаю. Я проверил код оценки, хотя, и это определенно забивает эти решения выше, но я не знаю, как часто такие обманные решения когда-либо найденное / включено. Но если это когда-нибудь случится, то ваше предположение о Инжире будет нарушено, а также.
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

29 ноября 2012, 4:51:50 AM   # 6
 
 
Сообщения: 843
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Учитывая сделки, какие методы существуют, чтобы определить, какой из выходов, скорее всего, будет изменение?

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


я потратил много времени осуществление выбора монет в оружейной. Некоторые из ваших предположений будет неправильным, если ТХ был создан с Оружейной. Вот как Оружейные создает сделку:

(1) Метод выбора монет-оценки. Это метод, который забивает монету отбор на основе различных факторов: Сколько уникальных адреса связаны со стороны входа, размер сделки, необходимой пошлиной, и ... выход Анонимность сделки (описана ниже) , Все факторы набрали от 0 (неблагоприятных) и 1 (благоприятных).

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

(3) Оценка всех решений в части (2) с помощью метода Eval в части (1). Веса по умолчанию жестко закодированы в armoryengine.py, но пользователь может изменять их. Он определяет, насколько важен каждый фактор: наиболее важно не использует нулевой конф. Далее, может ли транзакция быть свободной (не связана с нулевого-Conf). Тогда количество входных адресов связаны между собой. Тогда ТЙ приоритет, размер ОГО, и выход Анонимность. Тем не менее, пользователь может сделать выход Анонимность наиболее важным (я делаю! Но только для удовольствия, а не потому, что я на самом деле все равно).

(4) Новый адрес извлекается из бумажника, изменение TxOut добавляется в список получателей, то список получателей перемешивается.  Сделка подписана и вещания.

Части вы заботитесь о:  

(1) Если транзакция мала по сравнению с бумажником баланса, его пару детерминированных решений около 2x выходное значение и 3x, так что изменения и Recip примерно одинаковы или, по крайней мере, тот же порядок величины. Это может помочь очистить пыль, это может помочь анонимности (но не гарантии либо). Но когда количество ОГО мал по сравнению с бумажником балансом, вы часто будете получать равные или перевернутые выходы размера, в случайном порядке. Это нарушает ваше предположение, что адрес изменения всегда меньше. Даже если Оружейный не делали этого, бумажник с одной очень большим TxOut, должен имеет большой выход изменения, если вы хотите отправить только небольшое количество, чтобы кто-то. Таким образом, даже без техники Оружейной, вы увидите, что предположение нарушенного с любым клиентом.

(2) Получатели всегда перемешивается, но только с питоном ГСЧЕМ (не нужен криптографической ГСЧ для этого)

(3) Весело часть Оружейная-х "выход анонимность" скоринг является то, что он на самом деле принимает во внимание число значащих цифр в обоих сигнала изменения и получателя. Даже если (Recip, изменение) = (12,4, 11,8320385) один и тот же порядок, это довольно очевидно, какой из них является изменение, которое выводится. Таким образом, я на самом деле подсчитать количество значащих цифр, и дать выделение на более высокий балл, если это ближе, как (12.4, 11.83). Он получает дополнительный бонус - рейтинг на самом деле выше 1,0 - если он находит решение, в котором адрес изменение имеет меньше sigfigs чем сабельные: (12,4, 10,0). то есть выходы обманчиво размера благоприятствования.  

Как часто (3) вызвать? Я не знаю. Я проверил код оценки, хотя, и это определенно забивает эти решения выше, но я не знаю, как часто такие обманные решения когда-либо найденное / включено. Но если это когда-нибудь случится, то ваше предположение о Инжире будет нарушено, а также.


Потрясающие.
нажатие клавиши сейчас офлайн Пожаловаться на нажатие клавиши   Ответить с цитированием Мультицитирование сообщения от нажатия клавиш Быстрый ответ на сообщение нажатием клавиши

2 декабря 2012, 5:05:56 AM   # 7
 
 
Сообщения: 1428
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Кстати, я только реализовать монеты-контроль в Оружейной (еще не выпущен, но в ближайшее время). И я обнаружил, хорошо использовать для него: уборка BTC рассыпается в моем бумажнике. Например, я просто выбрать все адреса, которые имеют остатки с более чем 2 знака после запятой, то я создаю операцию отправки их комбинированного баланса: целая часть восходит ко мне, не-целая часть получает пожертвовала на другой проект. Тогда мой бумажник тонны чистого (его баланс 28,15 вместо +28,37302811). Я только начал делать это с каждым из моих кошельков, и это заставило меня думать об этой теме:

(1) Получатель моей транзакции посылается выход с 8 знаками после запятой, изменение имеет нулевые знаки после запятой - полная противоположность того, что можно было бы ожидать от обычной сделки
(2) Будущие сделки будут значительно чище с точки зрения знаков после запятой, потому что, когда я плачу кто-то 10.1 BTC, мое изменение 18,05 BTC, который довольно неразличимыми.  
(3) Не то, что это важно для определения изменений, но я думаю, что это хорошо для сети (хотя, очень мягко), чтобы подметать крошки, как это.

Я подозреваю, что когда я выпустите контроль монеты, будут и другие пользователи делают то же самое, что еще больше усложняет усилия ничьи, чтобы определить, что это правильный адрес изменения. 
etotheipi сейчас офлайн Пожаловаться на etotheipi   Ответить с цитированием Мультицитирование сообщения от etotheipi Быстрый ответ на сообщение etotheipi

2 декабря 2012, 5:14:33 AM   # 8
 
 
Сообщения: 1372
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

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

Забавно, я не единственный, кто это делает. Я обычно работаю в основном с целым Bitcoins (так как моя низкая физическая монета 1 BTC в любом случае), а затем я использую монета крошится сделать бумажники бумаги банкнот на сумму 0,1 BTC и нести их вокруг, чтобы оставить в кончиках банок и т.д.

Во всяком случае, один полезный (но менее полезным в детерминированной смысле) эвристический, когда после blockchain, чтобы попытаться соотнести поведение, а также. Если я замечаю последовательное поведение следующей цепи так, вероятно, это тот же самый человек. Это то, что привело меня обеспечивая то, что позже было установлено, что критический ключ к пониманию того козьего потерял 400 BTC некоторое время назад: Я заметил, что если я следовал цепочке определенным образом я мог видеть картину отправителя, который часто отправленного биткойны в суммы, как 3.995 1.995 8.995, которые привели меня предположить, что это услуга, которая заряжена BTC плата за сделку 0.005 и взял его от суммы сделки.
casascius сейчас офлайн Пожаловаться на casascius   Ответить с цитированием Мультицитирование сообщения от casascius Быстрый ответ на сообщение casascius

14 декабря 2012, 1:43:57 AM   # 9
 
 
Сообщения: 314
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-кварта пытается рандомизация положения сигнала изменения, но я считаю, что код имеет недостаток:

// Вставка изменения TxN в случайном месте:
вектор:: позиция итератора = wtxNew.vout.begin () + GetRandInt (wtxNew.vout.size ());
wtxNew.vout.insert (положение, CTxOut (nChange, scriptChange));

Проблема заключается в том, что размер () является один в общем случае одного получателя, так GetRandInt всегда будет возвращать 0.The изменение заканчивается в первом выходе.

Я думаю, что он должен быть размером () + 1.
Hal сейчас офлайн Пожаловаться на Hal   Ответить с цитированием Мультицитирование сообщения от Hal Быстрый ответ на сообщение Hal

14 декабря 2012, 2:00:06 AM   # 10
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Интересно, если они имеют выбор в автоматических методах отбора будет полезным, а также. Рассмотрим такой сценарий.

Скажем, у меня есть полный клиент рабочего стола, а также тонкий аппаратный клиент (думаю, bitcoincard), который синхронизируется с настольным клиентом на регулярной основе. Поэтому я хочу, чтобы мой клиент рабочего стола, чтобы автоматически создавать простые транзакции, тонкий клиент аппаратных средств можно использовать легко и preferablely в комбинации, которые не имеют изменения адреса на всех. (Thin аппаратных клиентов, скорее всего, будут иметь только один, или только некоторые из них, адрес для работы, адрес изменения было бы тривиален, чтобы определить, если они идут обратно на адрес отправителя)

Так что я хочу, чтобы мой клиент рабочего стола, чтобы сделать это, чтобы регулярно производить операции, где у меня есть два изменить сделки; один для тонкого клиента, в полезных номиналов, и один с истинным изменением обратно на рабочий стол клиента. Один раз, тонкий клиент может получить .01 сделку, в другой раз он может получить .02 и .05 другой; через .1 | .2 | .5 | 1 | 2 | 5, так что она будет иметь выделенную сделок, которые позволили бы его совместить операцию проводить в любой точной сумме, или почти любой точной суммы. Полный клиент может также использовать эту же технику, иногда производит неизменную сделку, а также. Я не уверен, если это было бы полезно или нет, но я бы предположил, что это может усложнить системы слежения за «заразу».
Moonshadow сейчас офлайн Пожаловаться на Moonshadow   Ответить с цитированием Мультицитирование сообщения от Moonshadow Быстрый ответ на сообщение Moonshadow

14 декабря 2012, 2:30:16 AM   # 11
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-Qt пытается рандомизация позиции сигнала изменения, но я считаю, что код имеет изъян ...
Ай carumba, как же мы не заметили, что в течение двух лет?

Я представил, что ошибка с командой «sendmany» два года назад (совершить b9d1ed85). Вот почему программисты не следует доверять, чтобы проверить свой код (я, вероятно, тщательно тестируются, чтобы убедиться, что изменить положение выглядел случайным образом, когда я посылаю более чем один пункт назначения, и не проверялись вырожденный послать к одному делу, вздыхать).

Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

14 декабря 2012, 7:26:04 AM   # 12
 
 
Сообщения: 843
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-Qt пытается рандомизация позиции сигнала изменения, но я считаю, что код имеет изъян ...
Ай carumba, как же мы не заметили, что в течение двух лет?

Я представил, что ошибка с командой «sendmany» два года назад (совершить b9d1ed85). Вот почему программисты не следует доверять, чтобы проверить свой код (я, вероятно, тщательно тестируются, чтобы убедиться, что изменить положение выглядел случайным образом, когда я посылаю более чем один пункт назначения, и не проверялись вырожденный послать к одному делу, вздыхать).



Ну ничего себе, так что изменения всегда были первым выходом, если вы пришлете биткойны 1 адрес? Удивительная находка. Но да .. как мы пропустили его.
нажатие клавиши сейчас офлайн Пожаловаться на нажатие клавиши   Ответить с цитированием Мультицитирование сообщения от нажатия клавиш Быстрый ответ на сообщение нажатием клавиши

14 декабря 2012, 8:45:00 AM   # 13
 
 
Сообщения: 784
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Проблема заключается в том, что размер () является один в общем случае одного получателя, так GetRandInt всегда будет возвращать 0.The изменение заканчивается в первом выходе.

Я думаю, что он должен быть размером () + 1.
Даже с большим количеством выходов было бы всегда не быть последним. Было бы также полезно, чтобы случайно раздельные изменения в более чем один адрес, когда выше некоторого значения? Чтобы еще более усложнить предсказуемость.
BkkCoins сейчас офлайн Пожаловаться на BkkCoins   Ответить с цитированием Мультицитирование сообщения от BkkCoins Быстрый ответ на сообщение BkkCoins

14 декабря 2012, 8:52:12 AM   # 14
 
 
Сообщения: 2016
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-Qt пытается рандомизация позиции сигнала изменения, но я считаю, что код имеет изъян ...
Ай carumba, как же мы не заметили, что в течение двух лет?
Может быть, потому что все это время никто не сделал анализ графика сделки Bitcoin, которая побудила расследование способов определения общей собственности адресов. Таким образом, вы можете поблагодарить Adi и Дорит для этого.

Также: http://dilbert.com/strips/comic/2001-10-25/. Многие из нас смотрели на сделки в Blockexplorer, предполагая, что изменения должны быть в случайном месте, но, не обращая особого внимания на это, есть едва ли дымящийся пистолет говоря "Это не случайно",
Мени Розенфельда сейчас офлайн Пожаловаться на Мень Rosenfeld   Ответить с цитированием Мультицитирование сообщения от Мени Rosenfeld Быстрый ответ на сообщение Мени Rosenfeld

14 декабря 2012, 11:07:56 AM   # 15
 
 
Сообщения: 1458
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Я думаю, что пожертвование бумажника адрес Хэл имеет недостаток. Проблема заключается в том, что баланс () возвращается 0.

Я добавил один Bitcoin, но баланс () + 1 не кажется достаточно.

Подробности здесь:
http://blockchain.info/address/1HALookLvrqrn2kxHhXCnwDgknD3RXifhH
http://blockchain.info/address/157i5gK7iN4bNAN39Ahuoiq6Tx5TaQukTE

Я думаю, что он должен быть размером () + 1.

Видя это сделало меня очень счастливым.
Elux сейчас офлайн Пожаловаться на Elux   Ответить с цитированием Мультицитирование сообщения от Elux Быстрый ответ на сообщение Elux

14 декабря 2012, 11:44:52 AM   # 16
 
 
Сообщения: 2436
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-кварта пытается рандомизация положения сигнала изменения, но я считаю, что код имеет недостаток:

// Вставка изменения TxN в случайном месте:
вектор:: позиция итератора = wtxNew.vout.begin () + GetRandInt (wtxNew.vout.size ());
wtxNew.vout.insert (положение, CTxOut (nChange, scriptChange));

Проблема заключается в том, что размер () является один в общем случае одного получателя, так GetRandInt всегда будет возвращать 0.The изменение заканчивается в первом выходе.

Я думаю, что он должен быть размером () + 1.

Holy Moly! Это означает, что мы можем получить гораздо лучшее приближение объема сделки
молекулярный сейчас офлайн Пожаловаться на молекулярном   Ответить с цитированием Мультицитирование сообщения от молекулярного Быстрый ответ на сообщение молекулярным

14 декабря 2012, 11:51:26 AM   # 17
 
 
Сообщения: 2366
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Может быть, потому что все это время никто не сделал анализ графика сделки Bitcoin, которая побудила расследование способов определения общей собственности адресов. Таким образом, вы можете поблагодарить Adi и Дорит для этого.
Больше похоже: тот факт, что их анализ не превратить, что до еще раз подтверждаю, насколько мелки и неэффективное исследование было. Если только там были настоящие исследования происходит это, возможно, было обнаружено более быстро! (Конечно, многие другие люди действительно делали вещи с графиком сделки, не замечая этого слишком- см службы отслеживания порчи примера blockchain.info в. Таким образом, они были не одиноки в не замечая этого)
gmaxwell сейчас офлайн Пожаловаться на gmaxwell   Ответить с цитированием Мультицитирование сообщения от gmaxwell Быстрый ответ на сообщение gmaxwell

14 декабря 2012, 1:35:58 PM   # 18
 
 
Сообщения: 539
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-кварта пытается рандомизация положения сигнала изменения, но я считаю, что код имеет недостаток:

// Вставка изменения TxN в случайном месте:
вектор:: позиция итератора = wtxNew.vout.begin () + GetRandInt (wtxNew.vout.size ());
wtxNew.vout.insert (положение, CTxOut (nChange, scriptChange));

Проблема заключается в том, что размер () является один в общем случае одного получателя, так GetRandInt всегда будет возвращать 0.The изменение заканчивается в первом выходе.

Я думаю, что он должен быть размером () + 1.

Отличный улов Hal !!!!.
Понятно, что очень важно, чтобы программисты / исследователи сообщества, помимо основных разработчиков, просмотр кода.

Некоторое время назад я добавил на страницу слабостей Bitcoin вики раздела "Уязвимости безопасности и ошибки" (https://en.bitcoin.it/wiki/Weaknesses#Security_Vulnerabilities_and_bugs) В отношении последствий ошибок. Я буду обновлять, чтобы отразить это.

Sergio_Demian_Lerner сейчас офлайн Пожаловаться на Sergio_Demian_Lerner   Ответить с цитированием Мультицитирование сообщения от Sergio_Demian_Lerner Быстрый ответ на сообщение Sergio_Demian_Lerner

14 декабря 2012, 4:34:02 PM   # 19
 
 
Сообщения: 1358
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Когда у нас будет исправить это?
SgtSpike сейчас офлайн Пожаловаться на SgtSpike   Ответить с цитированием Мультицитирование сообщения от SgtSpike Быстрый ответ на сообщение SgtSpike

14 декабря 2012, 6:31:24 PM   # 20
 
 
Сообщения: 1680
Цитировать по имени
цитировать ответ
по умолчанию Re: Как определить выход изменения?

Bitcoin-Qt пытается рандомизация позиции сигнала изменения, но я считаю, что код имеет изъян ...
Ай carumba, как же мы не заметили, что в течение двух лет?


Потому что мы все еще в бета-версии 
Rassah сейчас офлайн Пожаловаться на Rassah   Ответить с цитированием Мультицитирование сообщения от Rassah Быстрый ответ на сообщение Rassah



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW