В этой статье мы поговорим о микшировании, самом первом способе обеспечения конфиденциальности в криптовалютах. Микширование помогает скрыть связь между входными и выходными данными отдельных транзакций, комбинируя (или смешивая) их с входными и выходными данными других транзакций. Чтобы этот метод работал, разные данные на входе и выходе должны быть взаимозаменяемыми (англ. “fungible”), то есть транзакции должны представлять собой переводы коина или токена, единицы которого идентичны друг другу. В этой статье мы рассматриваем только такого рода протоколы и транзакции.
В качестве простого примера, предположим, что Элис хочет отправить Бобу 10 единиц гипотетического коина MixCoin. В стандартном протоколе типа Биткоина она просто бы осуществила одну транзакцию, переведя 10 MixCoin со своего адреса на адрес Боба. Методы, основанные на микшировании, вносят различные изменения в поток транзакций, позволяя Элис:
- (CoinJoin) найти пользователя Синди, которая тоже хочет отправить 10 MixCoin Дэвиду и договориться с ними об объединении их транзакций в одну, посредством которой Элис и Синди отправляют по 10 монет Бобу и Дэвиду;
- (Mimblewimble) позволяет майнерам объединять все транзакции в блоке, используя только сгруппированные входы и выходы, и не указывая, какие входы и выходы относятся к одной и той же транзакции;
- (Monero) сгруппировать 10 MixCoin Элис с несколькими случайно выбранными коинами, принадлежащими другим пользователям, и отправить их способом, при котором раскрывается только, что какие-то из этих коинов были потрачены (но не какие именно).