Можно ли выяснить, находятся ли два адреса в одном кошельке?

Мне интересно, если я отправлю биткойны с одного из своих адресов на другой адрес в своем кошельке, сможет ли кто-нибудь выяснить, что оба адреса находятся в одном кошельке? Или я могу заявить, что другой адрес не мой и никто не может узнать?

Я заметил, что на этой странице ничего не говорится о том, чтобы выяснить, находятся ли определенные адреса в одном и том же кошельке, несмотря на то, что по этой теме проводились специальные исследования. Возможно, этот вопрос можно было бы перефразировать, чтобы более конкретно обратиться к этой теме? Или, если мы хотим, чтобы все это продолжалось, может быть, кто-то (КоКо или кто-то еще) мог бы назначить награду за ответ на этот вопрос. Лично я предпочитаю перефразировать этот вопрос, поскольку это важная тема и на самом деле гораздо более конкретная, чем «насколько анонимны транзакции». Есть отзывы об этом KoKo?

Ответы (7)

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

Также вполне вероятно, что когда вы отправляете транзакцию, которая имеет один аккуратный вход (скажем, 1 BTC) и один не очень аккуратный (скажем, 0,59721364 BTC), последний, скорее всего, является сдачей, оставшейся от транзакции, которую вы отправили. кому-то и отправляется на другой адрес, которым вы владеете, из того же кошелька. Это утверждение можно было бы опровергнуть, но в большинстве случаев оно должно быть верным.

Относительно первого абзаца: наличие обоих адресов в качестве входных данных для транзакции является свидетельством, но не определенным доказательством того, что они принадлежат одному и тому же лицу. Есть много вариантов использования, когда разные люди могут захотеть предоставить входные данные.
@MeniRosenfeld Ну, лично я не могу вспомнить многих. То же самое может быть достигнуто с помощью адресов с мультиподписью и просто отправки человеку денег от транзакции, которую вы хотите потратить вместе.
Нет. Как только вы отправите сообщение на мультиподписной адрес, вы окажетесь во власти другой стороны. Весь смысл мультиввода заключается в том, чтобы делать атомарные свопы, при которых ни одна из сторон не может отрицать другую — например, смешивание транзакций и обмен цветными монетами.
@MeniRosenfeld Они могут использовать мультиподписной адрес 2 из 2. Но я понимаю вашу точку зрения.
Я не уверен, что вы делаете. Чтобы использовать мультиподписной адрес 2 из 2, им сначала нужно отправить на этот адрес. Когда монеты находятся на мультиподписном адресе, если другая сторона теряет свой ключ, вы теряете монеты. Другая сторона также может вымогать у вас взятие монет в заложники.
Разве это не должно быть «аккуратный вывод » вместо «аккуратный ввод»?

Нет, невозможно однозначно определить , находятся ли два адреса в одном кошельке. В протоколе нет понятия кошелька. Кошелек — это концепция внутри клиента.

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

С помощью тщательного анализа зараженности можно определить с разумной степенью уверенности, что несколько адресов связаны друг с другом в кошельке.

В протоколе нет способа доказать, что два адреса принадлежат одному и тому же кошельку, когда вы отправляете с адреса А на адрес Б в своем кошельке. Конечно, если вы используете какой-то онлайн-кошелек, они об этом знают, но я предполагаю, что вы используете полный.

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

1. Подсказки при отправке транзакции

Однако, в зависимости от суммы на адресе А, отправка всех средств на адрес Б без сдачи может быть признаком того, что оба они принадлежат одному и тому же человеку. Это не проблема, если вы отправляете круглую сумму, например 1 BTC, но если вы отправляете 0,82421871 BTC и нет сдачи, это странно, если только вы не отправляете все свои средства для пожертвования или оплаты чего-то без фиксированной цены. То же самое, если вы отправляете из А круглую сумму на другой адрес, а Б получает очень странную сумму.

2. Подсказки после первоначальной транзакции

  • Расходы с обоих адресов в одной транзакции. Это не доказательство, потому что есть способы построить транзакцию с входами с двух кошельков, но это крайне редко.
  • Частая отправка средств между двумя адресами, особенно если вы делаете это в обоих направлениях (от А к Б и от Б к А). Это может случиться с двумя сторонами, которые много работают вместе, но это ключ к некоторым отношениям.
  • Отправка с обоих адресов одновременно, даже если это разные адреса (вы отправляете две транзакции, одну из A, а другую из B, которые попадают в один и тот же блок намного позже, чем вы сделали исходную). Это может быть совпадением, но это еще один сигнал.

3. Подсказка об IP-адресе

Это крайне маловероятно, но если вы подключаетесь к мошенническому узлу, который записывает ваш IP-адрес, когда вы отправляете из А в Б, а затем вы подключаетесь к тому же мошенническому узлу (или другому действующему в координации), когда вы отправляете из Б куда-то еще , он будет иметь один и тот же IP-адрес, связанный с обоими адресами. Вы можете избежать этого, используя Tor или изменив свой IP-адрес каким-либо другим способом.

Это зависит. Биткойн отслеживается, но носит псевдоним.

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

Другими словами, простое перемещение средств с одного адреса на другой не является эффективной мерой защиты вашей конфиденциальности в отношении ваших финансовых транзакций.

Если бы у вас был xpub, вы могли бы увидеть все адреса, полученные из определенного начального числа, и, таким образом, определить, связаны ли два адреса описанным вами способом. Однако крайне редко любой объект, кроме фактического кошелька (в некоторых случаях), сможет увидеть этот «расширенный открытый ключ», поскольку это очень много частных данных.

Если вы сравниваете два адреса, невозможно определить, были ли они получены из одного и того же открытого ключа.

Каждому адресу (соответствующему открытому ключу) в вашем кошельке соответствует закрытый ключ. Все приватные ключи в кошельке генерируются на основе одного начального числа/парольной фразы. Вот почему вы можете восстановить свой кошелек на новом чистом устройстве. Таким образом, «кошелек» не является строго клиентской концепцией. Любой, у кого есть phassphrase + pwd, в основном имеет доступ ко всем вашим закрытым ключам. Поскольку никто, кроме владельцев, не знает кодовую фразу, никто не может математически доказать, что два адреса пришли из одного и того же кошелька.

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

открытый ключ — это открытый ключ, а адрес — это адрес
@Mercedes, по сути, это одно и то же, где адрес представляет собой короткую и удобную версию открытого ключа. просто адрес = RIPEMD160 (SHA256(PK))