Учитывая сделки, какие методы существуют, чтобы определить, какой из выходов, скорее всего, будет изменение?
Как разные клиенты выбирают порядок выходов? Предполагая, что никакой информации заказа можно использовать, какие другие эвристики можно использовать?
я потратил
много времени осуществление выбора монет в оружейной. Некоторые из ваших предположений будет неправильным, если ТХ был создан с Оружейной. Вот как Оружейные создает сделку:
(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) вызвать? Я не знаю. Я проверил код оценки, хотя, и это определенно забивает эти решения выше, но я не знаю, как часто такие обманные решения когда-либо найденное / включено. Но если это когда-нибудь случится, то ваше предположение о Инжире будет нарушено, а также.