Возможное решение проблем размера блока и спама

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

Изначально предполагалось, что транзакции могут быть бесплатными. Это привело к спам-атаке на блокчейн, из-за чего он сильно вырос. Чтобы решить проблему с безграничным ростом, было введено ограничение в 1 мегабайт на размер блока, но саму проблему спама это не решило, и мы опять наблюдаем подобные попытки.

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

Цена байта

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

Для примера, простая транзакция в MutliBit имеет размер 226 байт, комиссия по умолчанию 0,00010000 биткойна, то есть 10 000 сатоши, следовательно, стоимость байта в этой транзакции будет равна около 44 сатоши. Исходя из этого параметра, можно определять  очерёдность включения транзакций в блок. Транзакции с большей ценой за байт будут иметь более высокий приоритет.  Используя данный алгоритм, майнер всегда будет максимизировать комиссионное вознаграждение. Каждый байт будет справедливо оплачиваться. В итоге, чем больше байт в транзакции, тем большей должна быть комиссия, чтобы транзакция попала в блок. Это создаст мотивацию экономично расходовать место в блоках.

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

Если посчитать цену байта для транзакций в текущих блоках, то можно обнаружить, что цена байта варьируется от 2 до 70 сатоши. Такой расклад уже говорит о том, что цена на такой дефицитный в настоящий момент ресурс как место в блоке, берётся, мягко говоря, с потолка.

Аукцион реального времени

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

Естественно, при подобном подходе цена байта в блокчейне, выраженная в сатоши, напрямую зависит от цены биткойна в долларах. Поэтому оптимальную текущую цену, которая зависит от количества транзакций и рыночной цены биткойна должны рассчитывать сервисы, подобные blockchain.info, для этого надо провести анализ очереди транзакций и последних добытых блоков и посмотреть, какая цена будет минимально-достаточной, чтобы транзакция с максимальной вероятностью была включена в первый добытый блок. Так как количество транзакций зависит от времени суток и дня недели, то цена байта в блокчейне тоже будет зависеть от этих параметров. Можно вычислить оптимальную цену для каждого часа в сутках каждого дня недели. Кошельки могут просто пользоваться информацией сервисов подобных blockchain.info, точно также как сейчас они используют сервисы для получения текущего курса биткойна. Перед отправкой транзакции, пользователю будет сообщаться расчётная комиссия и процентное соотношение от суммы перевода.

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

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

Проблема размера блока

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

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

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

Подобный подход также решает проблему необоснованно высокой цены за транзакцию в кошельках подобных MultiBit (около 3 долларовых центов). Кошельки с фиксированной комиссией неоправданно дерут деньги с ничего не подозревающих пользователей и дискредитируют возможности биткойна в микротранзакциях, в то время как большинство транзакций могут свободно проходить со значительно меньшей комиссией. После недавних атак многие кошельки стали устанавливать комиссию 0.0003 биткойна, что равно около 10 долларовым центом, то есть для перевода в $1 нужно заплатить комиссию 10%! О каких дешёвых микротранзакциях может идти речь с такими комиссиями?

Рано или поздно размер блока придёться увеличить. Оптимальный размер блока подскажет сам рынок. Если переводы станут настолько дорогими, что будет заметна тенденция снижения транзакций низкого ценового диапазона, значит, пора договориться об увеличении размера блока.  Считаю оптимальным размер блока подбирать исходя из пропускной способности Интернета и стоимости обычных жёстких дисков для персонального компьютера. По возможности обычный пользователь должен иметь возможность содержать полный узел.

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



Categories: Инфраструктура, Майнинг, Сообщество

30 replies

  1. На самом деле вопрос уже решён. Майнеры достаточно умны и уже включают транзакции по оплате за байт в первую очередь. По поводу сервисов. В этом месяце появился сервис cointape.com, который считает оптимальную комиссию. Дело за малым – реализовать поддержку в кошельках.

  2. недавних атак
    многие кошельки стали устанавливать комиссию 0.0003 биткойна, что равно около 10 долларовым центом, то
    есть для перевода в $1 нужно заплатить комиссию 10%! О каких дешёвых микротранзакциях может идти речь с
    такими комиссиями?
    – Очень хорошая критика и обязательно нужно что-то с этим делать! Но, по-моему, публикуя и обсуждая только лишь здесь – мы ни на что в реальности не повлияем.

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

  4. Лигично предположит, если средний размер транзакции увеличился в два раза, то макс. размер блока должен возрасти пропорционально.

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

  6. Логично про цену байта. Спасибо.
    Про аукцион рельного времени – несколько запутанно: “рыночной цены биткойна должны рассчитывать сервисы, подобные blockаhain.info”..
    Поправьте меня, но на блокчейн я не видел рыночной цены биткойна. Имеется ввиду цена на конкретной биржи или что?

    “установить минимальную цену за байт на включение в блок (в любой валюте). Даже очень небольшая цена байта для обычных пользователей сделает пустое пространство в блоках очень дорогим для спамеров.”
    Вопрос ценообразования не простой. Если дать волю майнерам, то комиссии за транзакции могут начать расти как цены в российских магазинах.

  7. Для микро транзакций, уже существуют многочисленные альты. Так что не стоит изобретать велосипед и пытаться занять весь рынок. У каждого финансового инструмента есть своя ниша.

  8. Очень интересное элегантное решение.

    • говорят что между любыми двумя людьми на земле дюжина рукопожатий – вот это элегантность!
      а тут дележка комиссионных…. чуть больше 0…еще чуть+чуть×чутьчуть…

  9. самый большой недостаток биткоина это то, что объёмы торгов лайта обогнали его в 6 раз.

    • Глупость. За последние 24 часа объем транзакций биткойна , в долларовом эквиваленте, в три раза больше. Coinmarketcap.com

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

        • Хочешь сказать что Coinmarketcap.com врет? А твои, никому не известному, данные верны…

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

        • Давай сорсы на гитхаб, посмотрим анализатор ты наш =)))

  10. Если считать микротранзакцию в районе 1 $, и что бы комиссия не превышала 0.01% тогда получается стоимость 1 транзакции должна быть в районе 0.5 коп. Получается при обороте сравнимой с визой ~7 транзакций в секунду годовая прибыль майнеров будет 22к $, что как бы мало. Отсюда вывод майнингом должны заниматься компании/государства за счёт клиентов/граждан для поддержания защиты сети на уровне хотя бы детятков млн $.

    • А кто сказал, что будут только микротранзакции?

    • Транзакция в 1$, это уже не микро. В ряде стран это оплата целого дня работы! Учитывайте, что биткойн достояние всего человечества. Чтоб им могли пользоваться те, для кого и 10 центов деньги, он не должен быть привязан к сумме транзакций.

      • На текущий момент, это, к сожалению, пока недостежимый идеал, т. к. использование биткоина подразумевает, по крайней мере, наличие смарфона с доступом в Интернет.

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

        • Ошибаетесь! Плата должна быть не за использование ресурса, а за совершение транзакции которая потенциально, или реально, является спамом. Во всех остальных случаях транзакции БЕСПЛАТНЫ. Кто вам внушает идею, что в сети биткойн, кто, кому-то, что то должен? Сеть децентрализованна, все участники принимают решения добровольно! И если кто решил майнить, то это лишь его личный выбор, ему никто, ничего не должен. Не надо говорить, что манеры защищают сеть, технически да, но фактически они это делают лишь ради дохода. Если все майнеры уйдут, я без проблем выдели 100 гигабайт дискового пространства, 10% процессорной мощности, и даже не буду париться по этому поводу. Уверен, так же смогут поступит многие пользователи биткойна. А пока майнеры устраивают дикий вестерн, простому юзер нет смысла вмешиваться в это безумие. Но, почему то многие начинают думать, что должны собственным кошельком, обязательно, кому-то платить.

          • Попахивает красным. Опять на жидов обижаемся. В экономике при ограниченных ресурсах всё имеет стоимость. Пока все задумки, где ради всеобщего блага кто-то что-то получает бесплатно заканчивались плохо.

            • И все же, на данный момент, в алгоритме, все именно так и прописано. Если транзакция выполняет три условия, она бесплатна. Условия следующие – 1) Любой выход транзакции должен быть не менее 0.01BTС, 2) Приоритет. Вычисляется следующим образом – каждый вход транзакции(количество BTC) умножается на возраст этого входа в блоке(количество подтверждений транзакции из которой он взят), и полученная сумма( если входов несколько, значения нужно сложить) делиться на размер транзакции в байтах. Если полученное число менее 0.576, требуется комиссия. 3) Размер транзакции. Он не должен превышать 10000 байт. Если превышает, то платится комиссия за каждые 1000 байт.

            • Ну вот, что ты пишешь? Красные, жиды (кстате у евреев одно из самых развитых биткойн сообществ), эконом. теории и прочее. Тебе четко сказанно – в децентрализованной сети все подчинено только АЛГОРИТМУ. И хоть головой об стену, хоть миллион теорий, философий и т.д, распиши, а от строгой математики не убежишь. А она, математика, в текущей реализации алгоритма такова, что комиссия берется только если не соблюдены условия.

            • строгая математика меняется, как только, так сразу.

    • реально биткоин может обработать 3,5 операции в секунду,хотя в самом начале было 7

      • Это потому, что средний размер транзакции увеличился в два раза. И произошло это из за внесения дополнительных функций в протокол. Сеть живая, и развивается.

Поделитесь своими мыслями

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s