Ученые считают, что Биткойну требуются радикальные изменения

bitcoin-ng-or-how-cornell-researchers-think-a-radical-redesign-can-solve-bitcoin-s-scaling-issues-0
Споры относительно ограничений размера блока в сущности отражает поиск золотой середины между эффективностью и безопасностью. Более крупные блоки позволяют осуществлять большее количество транзакций в сети биткойн, но могут вылиться в сокращение использования мощностей добычи, что в итоге приведёт к централизации всей системы. Некоторые разработчики в пылу спора выдвигали предложения найти золотую середину и, таким образом, прийти к консенсусу, но, увы, до сих пор их призывы не нашли поддержки.

Тем временем группа исследователей из Корнелльского университета пошла совершенно другим путём. Вместо того чтобы пытаться найти эту самую середину, доктор Иттай Эйял, кандидат наук Адем Эфе Генсер, преподаватель информатики Эмин Гюн и исследователь Робберт Ван Ренесси представили Bitcoin NG – радикальный редизайн архитектуры биткойна, который, как предполагается, навсегда поставит точку в споре о размерах блока.

О ключевых блоках

На данный момент, биткойн-майнеры включают в блок два типа информации: POW (англ. proof of work или “доказательство выполнения работы”), которое позволяет определить сети самую длинную цепь, а также число транзакций, выбираемое майнером. Bitcoin NG предлагает расщепление этих двух функций путём создания двух отдельных типов блока, а именно: ключевых блоков и микроблоков, каждый из которых остается частью всё той же цепи.

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

Чтобы объяснить плюсы использования ключевых блоков Эяль рассказал журналу Bitcoin Magazine следующее:

«Так как ключевые блоки не включают в себя какие-либо транзакции, они не требуют передачи большого объёма данных через сеть. Это способствует более быстрому распространению блоков и как следствие количество урезанных блоков («блоков-сирот») сокращается. По сути, расходуется меньше мощностей, и это способствует децентрализации»

bitcoin-ng-or-how-cornell-researchers-think-a-radical-redesign-can-solve-bitcoin-s-scaling-issues-1

О микроблоках

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

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

О токсичных транзакциях

Здесь есть одна проблема. Тот факт, что микроблоки не защищены POW означает, что майнер (подписывающий ключевые блоки) может с легкостью злоупотреблять двойным расходованием. Он может просто-напросто подписать множество микроблоков с противоречащими транзакциями разным субъектам по разным адресам в одно и то же время.

Для предотвращения этого, в дизайне Bitcoin NG предусмотрена так называемая токсичная транзакция. Если сеть замечает двойное расходование, создается токсичная транзакция, которая задним числом уничтожает прибыли майнера, злоупотребляющего двойным расходованием. Таким образом майнеров побуждают к честности.

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

bitcoin-ng-or-how-cornell-researchers-think-a-radical-redesign-can-solve-bitcoin-s-scaling-issues-2

О радикальности

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

«Существует несколько возможных сценариев», — объясняет Эяль. «Мы можем достичь консенсуса в биткойн-сообществе, изменить принцип работы чейнблока и внедрить Bitcoin NG в качестве нового биткойна. Или же, если кто-то возьмет на себя реализацию всех технических отличий, Bitcoin NG сможет стать альткойном. Лично мне интересна технология и наука, что лежит в её основе, и я воспринимаю Bitcoin NG как исследовательский проект. На мой взгляд, это более уместный способ составлять чейнблока»

Дополнительную информацию можно найти в публикациях Эяля и Сирера на сайте http://hackingdistributed.com

Источник: bitcoinmagazine.com



Categories: Альткойны, Безопасность, Майнинг

Tags: , , , , , , , ,

Leave a Reply

24 Комментарий на "Ученые считают, что Биткойну требуются радикальные изменения"

Notify of
avatar
trackback
Lightning Network и алгоритм zkSNARK – в четверг состоится очередной Moscow Blockchain Developers Meetup — Man in Town

[…] структурам данных в блокчейн-системах и протоколу Bitcoin NG, позволяющему создавать 2 типа блоков и существенно […]

trackback
Lightning Network и алгоритм zkSNARK – в четверг состоится очередной Moscow Blockchain Developers Meetup | Malanris's site

[…] и протоколу Bitcoin NG, позволяющему […]

Otto
Гость
Не совсем понимаю, зачем нужно- хм все это додумывать, если можно просто слегка изменить алгоритм нахождения блоков и награду. Сейчас награда за блок равна 25 монетам, после 16 июня будет равно 12.5 монетам(дата может изменить на несколько недель, впрочем речь не об этом). Время нахождения блоков равно 10 минутам. Почему бы не изменить алгоритм чтоб время нахождения блоков стало равным 5 минутам, но награда за блок стала 12.5 монет ( после 16 июня — 6.25 монеты). Во первых это вдвое убыстрит транзакции. Во вторых это значительно облегчит майнинг в соло. Если сейчас сеть находит 144 блока в сутки, то будут… Read more »
elite
Гость

проще всего каждые 8 лет увеличивать скорость блоков в 2 раза

то есть в июле 2016 — сделать 12.5 монет, но 5 минут
в 2020 — 6.250 монет 5 минут
в 2024 — 3.125 монет 2.5 минуты
и т.д.

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

bokr57
Гость

не надо ломать то, что пока и так работает. вот если работать перестанет тогда и будут думать, а пока руки прочь!

Семён Антонов
Гость

Автомобиль тоже не нужно было изобретать. Телеги прекрасно работали же.

Анонимно
Гость

Хм..с удовольствием сейчас бы на каретах ездила бы)

voskobojn
Гость

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

Семён Антонов
Гость

Я не понимаю, как можно делать какие-то выводы на основании этой обзорной статьи, больше похожей на рекламный буклет? Тут лишь в общих чертах обрисована идея, без каких-либо технических подробностей. Или вы прочитали статью по ссылке?

kotofey
Гость

да уж, предложение —

«Для предотвращения этого, в дизайне Bitcoin NG предусмотрена так называемая токсичная транзакция. Если сеть замечает двойное расходование, создается токсичная транзакция, которая задним числом уничтожает прибыли майнера, злоупотребляющего двойным расходованием …»

звучит по идиотски, особенно выражение — «задним числом», это типа — анально ? 😉

bokr57
Гость

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

Анонимно
Гость

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

Elite
Гость

Не нужно передавать весь блок по сети.

Достаточно сортировать транзакции по объему и передавать только хэш списка транзакций.

То есть вместо 1 мбайта передавать хеш 128 байт

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

Анонимно
Гость

1). Это получается 2^n-1 операций хеширования, где n — количество транзакций в mempool? За последнюю неделю, если верить https://tradeblock.com/bitcoin , mempool доходил до 10000Tx, а это ~10^3000 операций, что бессмысленно.
2). Просветите, mempool синхронный и одинаковый для всех узлов?

Elite
Гость

N операций хеширования
Где N — число транзакций в мемпуле

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

Транзакции в мемпуле можно разделить на старше 10 секунд, 30 секунд, старше 1 минуты и старше 5 минут.

В этом случае число операций хеширования будет 4*N

arvicco
Администратор

Нет, мемпул не одинаков, поскольку все узлы свободны определять свою политику самостоятельно — какие транзакции транслировать, какие включать, какие отвергать. Кто-то, может отвергать все транзакции без комиссии. Кто-то другой, решил что азартные игры — грех, и отбрасывает переводы в адрес Satoshi Dice. Именно независимость майнеров в плане политики включения транзакций в блок является залогом децентрализации процессинга. Любая стандартизация, которая заставит все узлы включать одинаковые транзакции в мемпул, и даже в фиксированном порядке, чревата централизацией.

elite
Гость

Если узел принимает транзакции, которые потом отражает в составе блока, то спрашивается, зачем принимал эту транзакцию и тратил память?

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

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

Elite
Гость

Все узлы свободны определять какие блоки принимать, а какие отражать. Однако правила у официальных клиентов жесткие.

То же самое с мемпулом. Никакой разницы.

ANONYM
Гость
У меня была почти такая же мысль, вплоть до микроблоков и права подписывать нашедшим крупный блок. Но только это не решает проблем размера блока и скорости разрастания блокчейна. Это решает проблему скорости обработки транзакций и возможность использования для оплаты покупок в магазинах, где ожидание подтверждений невозможно позволить. Вот токсичные блоки я бы заменил «автостраховкой» майнера, чтобы непринятые транзакции, которые были подписаны им, компенсировались с его счета. С размером блокчена нужно другое, нужно другое. Надо как-то вычищать его от пыли или старой истории, либо делать невозможность этой пыли: хотя-бы запрет на микротранзакции для чистых адресов и необходимости активирующей транзакции. Хотя с… Read more »
Семён Антонов
Гость

С размером блока есть минимум 2 проблемы.
Первая — именно размер блокчейна. Она действительно не решается предложенной архитектурой.
Вторая, более серьёзная — latency при передаче свежего блока между майнерами. Грубо говоря, пока остальные майнеры скачивают блок, сгенерировавший его уже ищет следующий, получая таким образом преимущество. Чем больше блок, тем больше преимущество.
Очистка блокчейна от неактуальных транзакций не является решением второй проблемы.

Вася
Гость

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

Семён Антонов
Гость

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

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

Анонимно
Гость

Достаточно передать список хэшнй транзакций а не сами транзакции

Анонимно
Гость

Ученые идите ка лечить таких же учёных как вы сами

wpDiscuz