Bits.media logo

Русскоязычный информационный сайт о криптовалюте Bitcoin


Baikal miners

Как скрытые суммы транзакций могут повысить конфиденциальность Биткоина

скрытая сумма

Что бы ни говорили, на сегодняшний день Биткоин не анонимен. Несмотря на то, что у криптовалютных адресов нет необходимости быть привязанными к реальным людям, отследить эту связь вполне возможно. При помощи мониторинга незакодированной пиринговой сети, анализа публичного блокчейна, политики «Знай своего клиента» и нормативов борьбы с отмыванием денег, можно легко узнать, кто и для чего использует Биткоин.

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

К тому же, отслеживаемость Биткоина, его возможная «запятнанность», конфликтуют с его функцией взаимозаменяемости. Всё это в конечном итоге может повлиять на ценность Биткоина. Однако решения, при помощи которых можно повысить конфиденциальность и улучшить его взаимозаменяемость, существуют. Одно из них - «Конфиденциальные транзакции» (Confidential Transactions).

История

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

Чтобы повысить конфиденциальность, можно скрыть количество биткоинов в транзакции. Впервые такой вариант предложил в 2013 году нынешний президент компании Blockstream Адам Бэк (Dr. Adam Back). Затем идею подхватили разработчики Bitcoin Core и Blockstream Грегори Максвелл (Gregory Maxwell) и Питер Вюлле (Pieter Wuille), а также математик из Blockstream Эндрю Поэлстра (Andrew Poelstra). В результате, в тестовом сайдчейне Blockstream под названием Elements появилась реализация "конфиденциальных транзакций".

Как это работает

Конфиденциальные транзакции объединяют в себе несколько криптографических приёмов, в основном это тройная кольцевая подпись и реализации схемы обязательств Pedersen commitment scheme.

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

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

Как это ни удивительно, "конфиденциальные транзакции" более или менее совместимы с текущим протоколом Биткоина. Хотя отдельные детали необходимо проработать, решение может быть реализовано через "мягкое обновление".

Чтобы убедиться, что «старые» (не обновлённые) и «новые» (обновлённые) узлы соответствуют друг другу, используемые в Конфиденциальной транзакции биткоины сначала должны будут «пройти через» адрес «anyone-can-spend». Это криптовалютный адрес, которым могут воспользоваться буквально все, даже не имея закрытого ключа или подписи.

Новые узлы сети признают адрес только в качестве первого этапа "конфиденциальной транзакции", и будут принимать с данного адреса только транзакции с корректной подписью. Поскольку большинство мощности хеширования принимает данные правила, биткоины на адресах anyone-can-spend не могут быть украдены без наличия соответствующего закрытого ключа.

И вот здесь начинается самое интересное. Когда конфиденциальная транзакция отправляется с адреса anyone-can-spend, эту транзакцию могут видеть как старые, так и новые узлы. Однако они видят её по-разному. Новые узлы отнесут такую транзакцию к конфиденциальным и проверят, чтобы в ней не содержалось биткоинов, созданных из ничего. Тогда как старые узлы отнесут эту транзакцию к транзакциям с нулевым количеством биткоинов: они посчитают, что на адресе anyone-can-spend не осталось ничего.

Такая логика подходит для каждой последующей транзакции. Новые узлы будут видеть новые транзакции, и знать, что определенное количество биткоинов переместилось с одного адреса на другой (хотя им не будет известно их точное количество). А старые узлы будут видеть «транзакции с нулевыми биткоинами» и считать, что все биткоины всё ещё находятся на адресе anyone-can-spend. (Старым узлам может показаться странным, почему люди отправляют друг другу пустые транзакции, но, с другой стороны, они не будут против).

Чтобы избежать возможной неразберихи, полученные через конфиденциальную транзакцию биткоины можно потратить только через другую конфиденциальную транзакцию. До тех пор они «блокируются» на адресе anyone-can-spend, не имея возможности видимого перемещения по блокчейну Биткоина.

Чтобы эти биткоины снова можно было потратить в нормальной транзакции, они должны сначала «пройти через» оригинальный адрес anyone-can-spend. Получатель конфиденциальной транзакции должен будет вернуть их на адрес anyone-can-spend, и уже оттуда начать перемещать монеты, как видимые в блокчейне.

Как только их передвижение снова становится видимым, новые узлы проверят, не перемещается ли слишком много монет, тогда как старые узлы просто примут монеты, как будто они перемещаются впервые, так они были «заблокированы».

Таким образом, адрес anyone-can-spend функционирует как средство маскировки транзакций.

Плюсы и минусы

Несмотря на все преимущества, к сожалению, конфиденциальные транзакции не являются панацеей. Хотя они маскируют сумму, наблюдатели всё равно могут видеть, с какого и на какой адрес отправляются биткоины. Однако, эту проблему можно решить.

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

Ещё одним недостатком конфиденциальной транзакции является то, что замаскированные суммы биткоинов в действительности скрываются только в данной конкретной транзакции. То есть, если следующая транзакция не будет конфиденциальной, это теряет всякий смысл.

Следовательно, необходимо, чтобы конфиденциальные транзакции были распространены в сети. Однако, это может привести к ещё более серьёзной проблеме: конфиденциальная транзакция примерно в 20 раз больше обычной транзакции. Следовательно, и стоимость конфиденциальной транзакции будет намного выше.

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



Последние новости:

Все новости


Все материалы с данного сайта Вы можете свободно копировать с указанием на источник - bits.media
Любые пожелания, предложения, материалы и т.п. Вы можете присылать на адрес admin@bits.media
Адрес для добровольных пожертвований на развитие - 1BQ9qza7fn9snSCyJQB3ZcN46biBtkt4ee (QR)