Jump to content

Recommended Posts

Posted (edited)
Как мы знаем, ограничение на размер блока в 1MB было введено в качестве защиты от спама. Я хочу предложить альтернативное решение этой проблемы.
 
Допустим, мы считаем спамом все транзакции с комиссией ниже некоторой фиксированной величины (скажем, 20 satoshies/byte). В таком случае, проблема решается предельно просто - снимаем ограничение на размер блока и запрещаем майнерам включать в блоки транзакции с комиссией ниже этой величины, а также бесплатно включать собственные транзакции. Вернее, не совсем запрещаем, а все же оставим немного места (пусть будет 5%) для спорных транзакций:
 
  • лимит на размер блока отменяется*

  • полные узлы временно отклоняют блоки*, если в них включены транзакции с комиссией ниже 20 сат/байт, или более 5% спорных транзакций (находившиеся в локальной очереди mempool менее 15 секунд)

  • майнеры следуют тем же правилам, но кроме этого, они вынуждены передавать транзакции в сеть (в том числе собственные), как минимум за 15-20 секунд до включения их в блок

  • minTxRelayFee параметр становится частью консенсуса и не может превышать 20 satoshies/byte, иначе ноды просто не смогут проверить блок на валидность

Основная идея в том, что транзакция должна попасть в мемпулы большинства полных нод и пробыть там какое-то время до того, как будет включена в блок. Это необходимо, чтобы майнеры не могли бесплатно включать собственные транзакции - теперь они, наравне со всеми, вынуждены сначала разослать их по сети.
 
5% спорных транзакций - смягчающее условие, это очень большой запас для того, чтобы ноды всегда приходили к консенсусу. Даже в том случае, если готовый блок каким-то образом будет получен раньше, чем некоторые включенные в него транзакции (что на практике почти невозможно).
 
* В любом случае, самая длинная цепочка в конечном итоге строится на PoW, и временно отбракованные блоки теоретически могут быть включены в блокчейн, но только если большинство майнеров (>50%) нарушат правила и согласятся их принять. Поэтому, во время оценки PoW для цепочки, ноды и майнеры не должны считать такие блоки, пока за ними не будет построено хотябы 2-3 нормальных блока. По этой же причине имеет смысл ограничить единовременное увеличение блока по сравнению со средним размером нескольких предыдущих, скажем не более чем вдвое.
 
Обсуждение на bitcointalk, англоязычная ветка: https://bitcointalk.org/index.php?topic=1851018.0
Обсуждение в русскоязычном разделе: https://bitcointalk.org/index.php?topic=1840975.0
Edited by Schnibble
Posted

Вы это сами придумали?

 

 

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

 

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

Posted

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

Здесь имеется ввиду, что они также как обычные ноды должны отбрасывать транзакции с низкой комиссией. Но кроме этого, они вынуждены передавать собственные транзакции в сеть, как минимум за 15-20 секунд до включения их в блок. Идея в том, что майнерам невыгодно нарушать эти правила, иначе они рискуют получить orphan-блок, который будет отвергнут другими узлами и майнерами.

Posted

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

 

Вот это условие

 

 

полные узлы временно отклоняют блоки*, если в них включено более 5% нежелательных транзакций (находившиеся в локальной очереди mempool менее 15 секунд | с комиссией ниже 20 сат/байт)

не точное:

  1. 15 секунд - неясно, по чьему времени;
  2. В локальной очереди - значит, что один и тот же блок может быть отклонён и принят одновременно разными нодами?

Попробуйте сформулировать точное условие.

Posted

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

Для того, чтобы вынудить майнеров следовать правилам достаточно будет и 10% вероятности получить orphan.
 

15 секунд - неясно, по чьему времени

По времени ноды, которая делает проверку (начиная с момента получения транзакции)
 

В локальной очереди - значит, что один и тот же блок может быть отклонён и принят одновременно разными нодами?

Теоретически да, если майнер умудрится сгенерировать блок, в котором очень много транзакций, полученных им около 13-14 секунд назад. Но практически такого не будет, так как майнерам нет смысла специально нарушать правила, и с высокой вероятностью получать orphan. Достаточно удерживать транзакции 15-20 секунд до включения их в блок, чтобы абсолютное большинство узлов акцептировали блок.
 
Кроме того, описанная вами ситуация происходит и сейчас - такие блоки называются orphan. Узлы которые их принимают впоследствии все-равно отказываются от них, когда альтернативная цепочка становится длиннее.
Posted (edited)
Хочу заметить, что суть моего предложения это даже не хард-форк с увеличением блока, а всего-лишь спам-фильтр мусорных транзакций, которым не место в блокчейне.

 

Этот спам-фильтр можно использовать даже без софт-форка, просто запуская полные ноды, которые будут фильтровать блоки с нежелательными транзакциями. Чем больше полных нод - тем эффективнее будет работать фильтр.

 

В случае поддержки >75% майнеров можно активировать софт-форк, и тогда спам фильтр уже будет эффективно отбрасывать большинство нежелательных блоков.

 

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

Edited by Schnibble

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Similar Topics

    • Майнер-одиночка получил награду 3,125 BTC за добычу блока Биткоина

      Администратор платформы CKpool Кон Коливас (Kon Colivas) сообщил, что одиночный майнер добыл блок Биткоина, получив награду 3,125 BTC ($338 000) и 0,022 BTC ($2,400) в качестве комиссии. По данным Коливаса, майнер добавил в блокчейн первой криптовалюты блок №912632. Одиночка работал через пул СKPool, и это был 306-й по счету блок, полученный в этом пуле.   Как сообщил Коливас, мощности соло-майнера в момент нахождения блока составляли 61 Ph/s (петахеш в секунду). Но в другое время дан

      in Новости криптовалют

    • Соло-майнер получил свыше $371 000 за добычу блока Биткоина

      Администратор платформы CKpool Кон Коливас (Kon Colivas) сообщил, что майнер-одиночка добыл блок 910 440 в сети Биткоина и получил 3,137 BTC ($371 576) в виде вознаграждения и комиссий. По данным Коливаса, майнер добывал биткоины, используя оборудование с хешрейтом 9 TH/s. В блоке было 4900 транзакций. Из них 3300 имели комиссию менее сатоши за виртуальный байт (sat/vB). Дополнительная прибыль от таких операций составила 0,0018 BTC ($220) — 0,06% от награды за блок.   По мнению технич

      in Новости криптовалют

    • Соло-майнер получил $350 000 за добычу блока биткоина

      Как сообщил разработчик пула CKPool Кон Коливас (Kon Colivas),  соло-майнер добыл блок 903 883 и получил награду в 3,173 BTC (около $350 000). Майнер выдавал средний хэшрейт в 2,3 Пх/с, что составляет всего 0,00026% от общего хэшрейта сети первой криптовалюты. Награда за добычу блока составила 3,125 BTC ($343 700), а еще 0,048 BTC ($5 239) пользователь получил с комиссий за транзакции.   Это далеко не первый случай, когда соло-майнер добывает блок. Зачастую, для повышения своих шансов

      in Новости криптовалют

    • Замена блока питания antminer T21 APW11A1216-1a V1.1

      Нужна помощь, после замены блока питания на новый (купленный на авито), асик не набирает хеш, пишет что не может опознать блок питания. Блок по маркировке сходится. В чем может быть дело? Новый блок питания снят с другого асика из за замены на однофазный (со слов хозяина). Я что то не то делаю или не доделываю, или меня обманули и продали не рабочий блок? Может нужно обновить прошивку? Прошивка стоит родная. BTC Tools асик видит, веб морда загружается.

      in Блоки питания, ИБП, силовая часть

    • Майнер-одиночка получил вознаграждение 3,125 BTC за добычу блока

      Независимый майнер успешно решил криптографическую головоломку для проверки транзакций и добавления нового блока в блокчейн Биткоина. Майнер добыл блок под номером 883 181, за что получил вознаграждение 3,125 BTC на сумму $310 000. Криптожурналист Пит Риццо (Pete Rizzo) рассказал в твите, что майнер обработал блок, содержащий 3071 транзакцию. Помимо основной награды, соло-майнер получил дополнительные 0,033 BTC в виде транзакционных комиссий. В результате общий доход составил 3,158 BTC.  

      in Новости криптовалют

×
×
  • Create New...