Стратегии снижения высоких комиссий за транзакции на рынке криптовалют?

Я создаю рынок криптовалюты, где пользователи в основном покупают и продают небольшие предметы (стоимостью 10–50 долларов США) с использованием криптовалюты. Тем не менее, «плата майнерам» делает его использование непомерно дорогим.

СЦЕНАРИЙ:

У меня есть рынок продавцов и покупателей, где пользователь может быть как продавцом, так и покупателем. Покупатель должен внести средства на свой счет (пополнить баланс счета), прежде чем он сможет тратить криптовалюту на платформе. Для каждого нового пользователя мы создадим уникальный адрес, чтобы любые средства, внесенные на этот адрес, были зачислены этому пользователю. Это позволяет легко узнать, кому кредитовать, когда мы обнаруживаем депозит на определенный адрес. Моя основная дилемма связана с выплатами поставщику и получением платы за платформу (см. Ниже).

После того, как покупатель покупает товар (используя остаток на счете), платеж удерживается на условном депонировании до тех пор, пока товар не будет доставлен покупателю. Как только товар доставлен, платеж «переводится» продавцу за вычетом «платы за транзакцию платформы» в размере 1,9% (которая выплачивается владельцу платформы). Продавец может вывести свои доходы в любое время, заплатив фиксированную комиссию за снятие средств в размере 5 долларов США. Точно так же покупатель может снять свой депозит (остаток на счете) в любое время за ту же фиксированную комиссию в размере 5 долларов США. Имейте в виду, что снятие средств продавцом обычно включает в себя оплату, полученную от сотен транзакций (все они исходят от многочисленных покупателей и многочисленных адресов). Он также может включать в себя депозит, который сделал сам продавец, чтобы пополнить свой баланс.

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

Короче говоря, на основе концепции бухгалтерской книги, если продукт продается за 25 долларов, мы «зачислим» поставщику 25 долларов в виде определенного типа криптовалюты, фактически не транслируя транзакцию в блокчейн. Точно так же мы «вычтем» 25 долларов в криптовалюте из баланса покупателей (используя внутреннюю базу данных, фактически ничего не транслируя в блокчейн). Теперь предположим, что продавец завершает 100 транзакций * 25 долларов, когда биткойн стоит 10 000 долларов за BTC. Таким образом, теперь мы должны поставщику 2500 долларов США или 0,25 BTC (минус 1,9% комиссии платформы).

ПРОБЛЕМА

Когда продавец решит снять свою прибыль, 0,25 BTC будут получены со 100 разных адресов (100 покупателей), что, очевидно, приведет к чрезмерной комиссии майнера. Точно так же, поскольку владелец сайта берет комиссию в размере 1,9% за каждую транзакцию, если бы владелец сайта захотел объединить всю небольшую криптовалюту, заработанную со 100 адресов, в 1 адрес, это повлекло бы за собой аналогичный процесс (и относительная стоимость была бы намного выше для владелец платформы).

ПОДХОД ВРЕМЕННОГО СЛОТА

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

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

Примечание. Торговая площадка поддерживает ввод/вывод средств в биткойнах, эфириуме, биткойн-кэш, рипл, лайткойн, долларах США и долларах США.

Примечание. Я открыт для собственного решения, основанного на клиенте блокчейна, или решения API от уважаемой фирмы.

Пожалуйста, ограничьте объем этого вопроса биткойнами. Другие валюты здесь не по теме.
@PieterWuille Я подумал, что если основной вопрос касается Биткойна, я могу включить альткойны в качестве второстепенного: «Вопросы об альтернативных криптовалютах не по теме, если они не применимы к Биткойну».
Я понимаю, что для покрытия вопросов, на которые ответ такой же, как и для Биткойн.

Ответы (3)

Как уже описал @chytrik, повторное использование адресов не решает вашу проблему для монет на основе UTXO, независимо от того, на каждый вывод транзакции нужно ссылаться отдельно.

Когда ваши пользователи вносят средства на ваш сайт, вы хотите дать им отдельные адреса, чтобы вы могли отслеживать, чей внутренний баланс должен быть зачислен. Однако после этого средства находятся на вашем хранении. Это означает, что вы можете и должны управлять своим пулом UXTO. Хорошим началом было бы регулярное объединение небольших сумм в более крупные UTXO в непиковые часы, когда ставки низкие. Эта статья об управлении UTXO для корпоративных кошельков может показаться вам интересной.

Как правило, платежи в сети Биткойн не подходят для быстрых микроплатежей — как вы заметили, комиссии слишком велики для части стоимости. Ответом Биткойна на это является Lightning Network, сеть мгновенных платежей, использующая платежные каналы на основе мультиподписи.

Спасибо за ваш ответ. 1) Является ли предложение «временного интервала» жизнеспособным решением для альткойнов, таких как Ethereum, которые используют модель учетной записи? 2) Комиссия за перевод 2500 долларов США Продавцу составляет прибл. 376,37 долларов США (15% от общей суммы) с 60-минутными временными рамками в соответствии с этим сайтом . Для 400-минутного таймфрейма стоимость снижается до 78,50 долларов США (1,5% от общей суммы). Платформа взимает комиссию в размере 1,9%, которая будет съедена высокой стоимостью. Вы бы сказали, что это самая низкая комиссия, которую я мог бы заплатить, используя устаревший протокол BTC (используемый мной API не поддерживает Lighting Network)?
Плата за биткойн зависит не от суммы отправления, а от объема блока, занимаемого транзакцией. Если вы можете ждать дольше, вы в конечном итоге сможете провести транзакцию по цене 5 сатоши/vB или ниже. Если вы хотите быть очень терпеливым даже при 1 сат/вБ. Для транзакции среднего размера в 500 vB это составляет 500-2500 сатоши комиссий — по сегодняшнему обменному курсу меньше доллара. Если у вас есть вопросы об эфириуме, я бы посоветовал вам зайти на ethereum.stackexchange.com .
Пользователь SE (@Prayank) прокомментировал другой мой вопрос : «У меня может быть один веб-сайт, логин пользователя, все платежи по одному и тому же адресу, но обновленные в моей локальной базе данных с идентификатором пользователя и идентификатором транзакции, когда платеж будет выполнен». Согласны ли вы с этим? заявление? Можно ли отслеживать депозиты пользователей с помощью идентификатора транзакции (TXID), если все на сайте отправляют на один и тот же биткойн-адрес? мне не понятно..
Хотя правильно, что каждая транзакция имеет уникальный идентификатор, и, следовательно, каждый неизрасходованный вывод транзакции однозначно идентифицируем, если все платят по одному и тому же адресу, это приведет к большим накладным расходам при отслеживании того, кто и когда заплатил. Будет намного проще назначать новый адрес для каждого процесса оплаты (или, по крайней мере, для каждого клиента). Как правило, повторное использование адресов имеет много недостатков и не дает ощутимых преимуществ в биткойнах.

Одно из решений этой проблемы может заключаться в том, чтобы все пользователи сайта вносили средства на один криптовалютный адрес.

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

Судя по всему, вы путаете концепцию модели транзакций на основе учетной записи и модели транзакций на основе UTXO (что и использует биткойн).

Спасибо. Хотя основные вопросы касаются биткойнов, будет ли подход временных интервалов решением для транзакций типа Ethereum (модель, основанная на учетных записях)?
@SOS Я не нахожу Ethereum таким интересным, поэтому я не эксперт в его работе, но я предполагаю, что «подход с временными интервалами» почти наверняка не является хорошим решением для любой такой ситуации, учитывая проблему многих пользователей потенциально внесение одновременных вкладов. (И проблема с задержкой подтверждения tx и т. д.)

Я создаю рынок криптовалюты, где пользователи в основном покупают и продают небольшие предметы (стоимостью 10–50 долларов США) с использованием криптовалюты. Тем не менее, «плата майнерам» делает его использование непомерно дорогим.

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

Старайтесь использовать меньше сетевых решений и больше решений уровня 2, таких как LN и Liquid.

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

Liquid, вероятно, не лучший совет для тех, кто хочет использовать Биткойн. Это все равно, что сказать «используйте альткоины».
*используйте сайдчейны биткойнов :)
Я не думаю, что это хороший совет в целом. Модель доверия Liquid опирается на определенные объекты, которые формируют контролирующую ее федерацию. Если у вас еще нет доверительных отношений с этими компаниями, нет причин, почему вы должны это делать.
Это лучше, чем переход на некоторые альткойны из-за комиссий внутри сети. В любом случае, никто не заботится о комиссионных за ончейн, кроме нескольких разработчиков и пользователей, поэтому для транзакций, упомянутых OP, всегда будет сложно. Я также упомянул Л.Н. Если люди не хотят использовать или предлагать сайдчейны биткойнов, многие пользователи перейдут на альткойны. Индивидуальный пользователь заботится о своих транзакциях и комиссиях. Также, если бы люди могли ответить на это: github.com/bitcoin/bitcoin/pull/13990