Можно ли агрегировать произвольные транзакции?

Можно ли взять несколько транзакций в виде:

[A->X], [B->Y], [C->Z], где A,B,C,X,Y,Z — произвольные, несвязанные пользователи/кошельки Биткойн

и объединить их в одну транзакцию:

[входы: (A,B,C) выходы: (X,Y,Z)]?

Почему да или почему нет? Возможно ли это для некоторых типов транзакций, а не для других?

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

Также предшественник MW: OWAS.

Ответы (1)

Да и нет.

Это может быть сделано для всех типов биткойн-транзакций, но только совместно отправителями, контролирующими A, B и C. Существует даже протокол для поиска партнеров, который называется «CoinJoin». Идея состоит в том, чтобы повысить конфиденциальность, хотя это не обязательно достигается CoinJoin, поскольку часто легко рассчитать, какие входы будут соответствовать каким выходам.

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


Если вам интересна тема, обратите внимание на следующие ключевые слова:

  • Транзакция прошла
  • МонетаПрисоединиться
  • Мимблуимбл
  • «Агрегация подписи Шнорра»
  • Конфиденциальные транзакции RingCT или Ring на Monero