Гэвин Андресен, бывший ведущий разработчик Биткойна и главный научный сотрудник в Bitcoin Foundation, представил новый способ сжатия блоков, который должен помочь справиться с факторами, мешающими масштабированию.
В трёх-страничной статье от Андресена и других исследователей из университета Массачусетс, новый метод описан следующим образом:
«Размер блоков Graphene составляет лишь часть от блоков подобных методов, вроде Compact Blocks или Xtreme Thinblocks. К примеру, ниже мы детально опишем, как 17,5-килобайтный Xtreme Thinblock может быть преобразован в 10-килобайтный Compact Block, и в 2,6-килобайтный Graphene. При моделировании, «Графен» требует всего около 10% места, занимаемого Compact Block-ом, для хранения того же объёма информации.»
Thinblock сжимает блоки Биткойна до 50 раз, но «Графен» идёт ещё дальше, снижая 1-мегабайтный блок до лишь 2.6 КБ — объёма, который по силам прокачивать даже по диал-апу.
Метод достижения этого сжатия достаточно сложный, он описан в самой статье с подтверждающей эти утверждения математической базой. Обобщённо, вместо отправки полным узлам целого блока, вы отправляете только инструкции по его сборке, основанные на данных, которые у полного узла уже наверняка имеются.
В статье, однако, признают, что на текущий момент этот метод неприменим к Биткойну, и для соответствующих изменений может потребоваться хард-форк. Для внесения ясности, приведём достаточно длинную цитату:
«Graphene не устанавливает порядок транзакций в блоке, а предполагает, что они отсортированы по идентификатору. В Биткойне нужно, чтобы транзакции, зависящие от других транзакций в том же блоке, появлялись позднее, но задать нормальный (канонический) порядок легко. Если майнер захочет сортировать транзакции каким-то проприетарным методом, результат будет отправлен вместе с IBLT (инвертируемые поисковые таблицы Блума, ещё одна структура данных, ранее предложенная Гэвином — прим.).
Для блока с количеством транзакций n, список будет занимать n log2 бит. Даже с этими добавочными данными, наш подход намного эффективнее, чем у Compact Block-ов. В случая вышеописанного примера, если бы порядок был установлен «Графеном», добавочная стоимость для n = 2000 транзакций составила бы n log2 бит = 2000 log2 (2000) бит = 2.74 кб. Это увеличивает стоимость Графена до 5.34 кб, что всё ещё меньше половины Compact Block-ов.»
Без модификаций Биткойн-протокола, данные всё ещё могут быть сжаты приблизительно вдвое. С модификациями — ещё вдвое. Потенциально снимая вопрос о пропускной способности. Однако, Грегори Максвелл, технический директор Blockstream, не так впечатлён. По его словам,»Графен»
«Фокусируется исключительно на пропускной способности и делает акцент на штуках вроде 4х-кратного снижения — но это снижение объёма с 20000 байт до 5000 байт, что редко когда имеет значение.»
Если у вас есть Google Fiber с пропускной способностью в 1 ГБ, это может быть правдой. Но о пропускной способности как о лимитирующем факторе масштабирования Биткойна говорят минимум с 2015-го.
Когда вопросы хранения данных были решены терабайтными дисками, которые стало возможным купить на сдачу, сторонники малых блоков стали говорить о пропускной способности.
Это привело к исследованиям сжатия данных, требующего меньшей пропускной способности, что вылилось в блоки типа Xthin, а теперь ещё и Graphene. Как сказал Максвелл,
«Целью передачи блоков должна быть минимизация задержки, а потенциальное увеличение времени приема-передачи или затрачиваемого процессорного времени (как в данном случае) не помогает её достижению.»
Задержка определяется как «простой перед передачей данных, следующий за инструкцией к этой передаче». Чем больше процессорной мощности у вас есть, тем меньше будет задержка, ведь вы можете всё обработать быстрее. Это же можно сказать и о памяти, RAM. И так, по кругу по всем характеристикам вашего лэптопа.
До сих пор, о центральном процессоре сильно не беспокоились, в отличие от памяти, требуемой для хранения не подтверждённых транзакций. Тем не менее, раз уж проблема с пропускной способностью решаема, разработчики могут начать думать и о других.
В общем, статья была воспринята неоднозначно. Некоторым сторонникам небольших блоков она не слишком понравилась, в то время как «бигблокеры» выступают за реализацию идеи в Bitcoin Cash.
Противостояние может затянуться — как видно, есть два очень разных взгляда на Биткойн. Только на этот раз и у тех, и у других есть проект, где они могут реализовать своё видение решения проблемы. А рынок, наконец, расставит всё по местам.
Источник