Btc segwit что это
Что такое SegWit
Segregated Witness, или SegWit — это софтфорк сети биткоина, который предназначен для увеличения пропускной способности блокчейна путем удаления данных подписи из транзакций. Софтфорк — это метод обновления блокчейна, который совместим с предыдущими версиями программного обеспечения.
Чтобы понять, как Segregated Witness используется для увеличения пропускной способности блокчейна, необходимо для начала понять, как в блокчейне работает транзакция.
Что такое форк, и что делает форк SegWit
Софт форк — это обновление блокчейна, выполненное без разделения цепочки на две части, и SegWit увеличил количество транзакций в любом блоке биткоина.
Форк — это, в основном, модификация, сделанная для открытого исходного кода. Он вводит отклонения от того, как базовый проект работает с этого момента, и он может быть как софт-форком, так и хард-форком. Жесткие форки заставляют блокчейн делиться на две части, требуя, чтобы участники выровняли блоки, несовместимые с новым программным обеспечением: новая цепочка отделена от старой. SegWit был программным форком, означающим, что всё еще будет один блокчейн Bitcoin для приема блоков от пользователей, которые еще не включили SegWit в своем программном обеспечении.
SegWit устранил проблему, называемую изменчивостью транзакций, которая позволяла изменять данные транзакций BTC до того, как сеть обработала их. Это создало бы бухгалтерский кошмар. Позволяя хранить информацию о подписи (то есть, «свидетель») вне (то есть «отделяя» от) блока релевантных транзакций, но все же проверять их, SegWit позволяет Биткоину сохранять целостность транзакций, в то же время упаковывая больше их в любой 1-мегабайтный блок. Результат — более быстрый и безопасный биткоин.
Что делает Segregated Witness, перевод слова «Segwit»
Перевод термина Segwit, или Segregated Witness — это «распределенный свидетель». Имеется в виду, что подписи не хранятся в самом блоке, а распределяются по компьютерам, что позволяет уменьшить размер блока.
Если коротко, Segwit позволяет увеличить эффективность блокчейна без увеличения размера блока. Положительное качество Segregated Witness заключается в том, что исключение подписей из блока в 1Мб может эффективно увеличить размер блока биткоина. Это значит, что в каждый блок можно будет записать большее количество транзакций или, другими словами, повысить пропускную способность блокчейна. Всё это происходит без нарушения существующих правил консенсуса.
Предложение Вюлле действительно предлагает новый подход к решению проблемы размера блока. Формула, которая используется для расчета предельного размера, выглядит не очень определенно:
Данные блока плюс «четверть» Segregated Witnesses не должны превышать 1 Мб. В таком случае, все блоки покажутся старым нодам меньше 1 Мб, поскольку четверть Segregated Witness (которую они не видят) должна быть установлена в тот же самый 1 Мб. При этом новые ноды увидят блоки, превышающие 1 Мб, так как фактический размер Segregated Witness больше того, что считается одной четвертью.
Точное количество дополнительного пространства, предоставляемого Segregated Witness, зависит от типов транзакций, входящих в новые блоки. Если больше транзакций хранят большее количество данных в Segregated Witness, как происходят в транзакциях с мультиподписью, эффективный размер блока увеличивается. Это добавляет около 1,75 Мб в максимальный размер блока для нормальных транзакций, и размер в 4 Мб устанавливается в качестве жесткого ограничения, которое невозможно превысить, даже если в Segregated Witness вместились (почти) все данные.
Проблемы, которые решает SegWit
Технология Segregated Witness должна решить глобальную проблему пластичности транзакций и адаптировать блокчейн под новые условия. Количество транзакций в блокчейне регулярно увеличивается, поэтому масштабируемость остается одним из ключевых факторов.
SegWit совершенствует процесс переводов, создавая условия для увеличения размера блока. Вот основные проблемы, которые позволяет решить обновление:
Таким образом, SegWit улучшает многие аспекты в сети Биткоин, в частности улучшает взаимодействие с новыми протоколами, улучшает масштабируемость и уровень защиты.
Почему SegWit все еще не завершен
SegWit не был полностью принят всеми участниками сети Биткоин, потому что это не обязательно, но также из-за различных стимулов между пользователями в экосистеме.
Несмотря на преимущества SegWit, не все участники сети Биткоин внедрили его. Чтобы понять причину, требуется знание многих ролей, которые люди играют в экосистеме Биткоин, и того, как иногда стоящие за ними стимулы противоречат друг другу.
Например, Биткоин не просто «модернизирует» — он зависит от кошельков, бирж и компаний, которые используют его для обновления и соответственно вносят изменения в сеть. Поскольку никто не насаждает внедрение SegWit, инженерные команды должны подталкивать свои организации в правильном направлении, и это не всегда получается так, как ожидалось.
К тому времени когда появился SegWit, в биткоин уже не вкладывались миллиарды, поэтому только небольшая часть этих компаний действует сколько-нибудь проворно. Окончательное решение о том, «качать ли лодку» с помощью новых обновлений программного обеспечения и экономики или сохранить статус-кво, остается за неохотно действующими руководителями, а не энтузиастами. Другим несбалансированным стимулом является стимул майнеров, которые предпочли использовать прошивку AsicBoost, несовместимую с SegWit, но якобы помогающую им проверять транзакции на 20% быстрее.
Выбор между Segwit и Legacy, положительные стороны технологии Segwit
Внедрение SegWit в Биткоин имеет ряд качеств:
Технология Segregated Witness решает многие проблемы Биткоина, улучшая сеть здесь и сейчас. Полноценное внедрение технологии блокчейн скажется на популярности сети и курсе криптовалюты.
Главные недостатки SegWit
Технология SegWit до сих пор не интегрирована в Биткоин в полной мере. Многие аналитики считают, что на это уйдут годы, поскольку количество нод в сети превышает 10 000.
Критики склоняются к мнению, что разработчики не смогут интегрировать в блокчейн все запланированные улучшения. Постепенное увеличение участников сети приведет к тому, что 2 Мб размера блока будет недостаточно для удовлетворения потребностей экосистемы.
Технологические аспекты критиками не учитываются, поскольку лишь единичные программисты разбираются в коде. Суждения носят, скорее, политический и экономический характер.
Ярые противники технологии SegWit считают, что она постепенно приведет к централизации системы, поскольку с увеличением размера блока возрастает и количество неподтвержденных транзакций. Это якобы оголяет сеть перед хакерами и мошенниками.
Некоторые разработчики заверяют, что внедрение SegWit обусловлено исключительно финансовой заинтересованностью компании Blockstream. По техническим причинам Lightning Network невозможно внедрить без SegWit, поэтому разработчики так активно агитировали за обновление.
Небольшая часть сообщества заняла еще более жесткую позицию, отделившись от сети и создав новый блокчейн Bitcoin Cash, где размер блока равен 8 мегабайтам. Форк удачно дебютировал на криптовалютном рынке и составляет конкуренцию BTC за лидерство по показателям капитализации.
Таким образом, недостатками SegWit считаются:
Есть также мнение, что интеграция SegWit может вызвать юридические вопросы, но на данный момент это только домыслы.
Получаем SegWit-адрес биткоин в Bitcoin Core. Segwit или Native Segwit?
Создать собственный SegWit-адрес биткоин в Bitcoin Core можно через консоль программы. Для этого нужно ввести всего лишь одну команду:
Где XXXX – это адрес вашего старого кошелька. При этом такая возможность доступна только тем пользователям, на чьем счету имеется положительный баланс.
SegWit-адрес биткоин в Bitcoin Core может иметь один из двух форматов на выбор:
Создать SegWit-адрес биткоин в Bitcoin Core достаточно просто. Всего за несколько кликов и пару минут времени вы сможете получить возможность оплачивать меньшие комиссии и быстрее осуществлять любые транзакции.
Кошельки с Segwit: список и настройка Segwit Address
Segwit популярна, что во многом обусловлено добавлением его в Bitcoin Core. Далее рассматриваются другие кошельки с Segwit, а также инструкции по созданию новых адресов для некоторых из них.
Кошельки с Segwit: Ledger Wallet
Данный аппаратный кошелек пополнил ряды поддерживающих адреса Segwit еще в августе 2017 года и стал одним из первых. Чтобы перейти на сегвит, следует выполнить следующие действия:
Если сам кошелек используется впервые, то можно сразу выбирать SegWit-адрес. Если же вы до этого пользовались стандартными адресами, то учтите, что для совершения подобного перехода нужен положительный баланс. Кошелек Segwit Ledger не предлагают Native Segwit. Поэтому вы выбираете, смириться ли с отсутствием поддержки формата Native Segwit в Segwit Ledger.
Кошельки с Segwit: Trezor
Аппаратный кошелек Trezor был вторым из тех, кто поддержал Segwit. При этом новые аккаунты генерировались для пользователей автоматически с момента внедрения протокола. Для их использования достаточно зайти в приложения Trezor Wallet и перевести свои биткоины или лайткоины на новый счет.
Кошельки с Segwit: Electrum
Electrum – один из самых популярных криптовалютных кошельков с поддержкой Segwit. Но, в отличие от других вариантов, он генерирует Bech32-ключи, поэтому ваш адрес будет начинаться с bc1. Для его получения необходимо:
Теперь ваш новый Segwit-адрес готов к работе.
Другие кошельки с Segwit
Доступно использовать и другие кошельки с Segwit, например, Samourai Wallet. Он менее популярен, чем остальные предложения, но позволяет создавать новые адреса прямо с мобильного устройства.
Также неплохим вариантом является GreenAddress, который также работает как с ПК, так и с мобильными устройствами. Стоит отметить, что добавить новый адрес можно только с использованием домашней сети. Такое ограничение введено для повышения безопасности средств.
Segregated Witness
Понравилась статья? Поделись:
Segregated Witness или SegWit (СегВит) – это название, используемое для примененного изменения софт-форка в формате транзакции криптовалюты Биткоин, которое также применяется к таким валютам как Litecoin, DigiByte и Vertcoin.
Стимулом является рационализация единиц монет, которая впоследствии будет прояснять вопросы адаптируемости организации биткоина, потока, скорости обмена и уменьшения комиссий. Проще говоря, SegWit позволяет вам накапливать эффективность блока, не увеличивая значения единицы.
Содержание
Описание протокола SegWit [ править ]
Любой сетевой узел может изменять транзакцию и передать ее к остальным. Если измененная транзакция включена в блок основной ветви до первоначальной, или в длинную ветвь, тогда первоначальная транзакция будет отклонена, так как она будет ссылаться на использованный вывод (подобное также будет отклонено и относиться к нему). Это создает множество проблем, например, как некоторые системы проверяют факт оплаты по ID. Это также усложняет применение технологий более высокого уровня, основанных на блокчейне BTC. Прежде всего, Segregated Witness решает проблему масштабируемости сети биткоин. Решение оптимизирует структуру блока транзакции, так как позволит вам отделить подписи транзакции от процесса перевода. В результате транзакции будут занимать меньше места, и соответственно, блоки станут более обширными. Активация SegWit также устраняет проблему гибкости транзакций, создавая условия для повышения скорости их подтверждения (в том числе по ссылке Segregated Witness с другим решением, которое называется Lightning Network).
Адреса и транзакции в SegWit [ править ]
Главное преимущество Segregated Witness – в том, что исключение подписей из блока в 1 Мб может значительно увеличить размер блока биткоин. Это означает, что будет возможно вписать в каждый блок больше транзакций, или, другими словами, увеличить вместимость блока. В то же время, решение применимо без нарушения существующих правил консенсуса.
Чтобы решить проблему масштабируемости, Раздельное Заверение включает извлечение подписи транзакции и размещение ее в отдельной структуре данных. Когда подпись удаляется из транзакции, уменьшается и размер транзакции. Следовательно, каждая транзакция уменьшается примерно на 47%. Таким образом, блок может разместить почти вдвое больше транзакций, не изменяя размера. Для транзакций SegWit также принесет пользу владельцам «полных узлов», так как оно может сократить количество данных, которое нужно сохранить на жестком диске. Другими словами, Segregated Witness уменьшит требования для запуска полного узла и время, которое требуется для синхронизации с сетью.
Некоторые Altokemin также решили применять SegWit.Так как многие альткоины основаны на коде Биткоин, это не доставило разработчикам особенных проблем. Первое из них активировало обновление Groestlcoin в январе 2017 года.
Что нужно для применения Segregated Witness? [ править ]
Для активации решения в сети, биткоинам нужна поддержка 95% майнеров. Точнее, после достижения порога активации, необходимо, чтобы, по крайней мере 95% блоков майнились пользователями, свидетельствующими о поддержке Раздельного Заверения в течение периода сложности в 2016 блоках (примерно две недели). Выпуск клиента Bitcoin Core 0.13.1 с включенным SegWit состоялся 27 октября 2016 года.
Segregated Witness для чайников
Масштабируемость биткоина является одной из его главных проблем, над решением которой активно работают. Одним из представителей этих решений является, например, технология Lightning network, но ее реализация пока что не представляется возможной ввиду некоторых уязвимостей. Другое решение — Segregated Witness также направлено на повышение масштабируемости, но ко всему прочему решает еще и целый ряд проблем, включая ту самую уязвимость, мешающую реализации лайтнинга. В этой статье мы рассмотрим основные преимущества Segregated Witness, а также опишем механизм его работы.
Segregated witness, или как многие его называют SegWit, это софт-форк, описанный в серии BIP’ов (141, 142, 143, 144 и 145), главной целью которого является оптимизация структуры транзакций и блоков с помощью вынесения подписей (то, что называют ‘scriptSig‘, ‘witness‘ или же ‘unlocking script‘) из транзакции в отдельную струтуру. Это не только позволяет уменьшить размер транзакций, делая блоки более вместительными, но и решает проблему их «изменяемости» (transaction malleability, именно об этой уязвимости мы и говорили выше), что очень важно для технологий наподобие платежных каналов или лайтнинга, пологающихся на строение транзакции биткоина.
How it works
Before we begin
Для начала кратко напомним, что из себя представляет платежная система в биткоине. В ней нет ничего наподобие списка балансов как это может быть реализовано в каком-нибудь банке. Вместо этого, баланс каждого адреса представлен набором транзакций, отправленных на этот адрес, где транзакция — это структура, в которой главными являются входы (inputs) и выходы (outputs). Входы — это транзакции, на которые мы ссылаемся, чтобы потратить (если точнее то это не транзакции полностью, а их конкретные выходы, т.к в одной транзакции мы можем переводить средства на несколько адресов), а выходы — это адреса, на которые мы хотим перевести средства. Вот так выглядит структура транзакции биткоина:
Поле PubKey script (далее scriptPubKey) в выходах это то, что называют locking script. Оно нужно для того, чтобы только владелец адреса, на который перечисляются срества, смог воспользоваться этим выходом. Поле Signature Script (далее scriptSig) еще называют unlocking script — оно «отпирает» locking script, предоставляя доказательство владения адресом.
Подробнее о транзакциях, а также о работе запирающего и отпирающего скрипта можно почитать здесь.
Backward compability
На самом деле, Segregated Witness меняет не только строение транзакции, но и ее выходы. Это, однако, не значит, что в одной и той же транзакции не могут быть потрачены как традиционные UTXO (unspent transaction outputs), так и сегвитовские — просто первые будут ожидать «доказательства» внутри входа (поле scriptSig), а вторые — снаружи.
Так как Segregated Witness все-таки является софт-форком, его обновления могут быть проигнорированы, а значит более старые системы должны как-то обрабатывать сегвитовские выходы. Дело в том, что для старых нод или кошельков эти выходы выглядят как доступные всем, то есть они могут быть потрачены с пустой подписью, что все еще валидно. Принявшие обновление ноды и кошельки конечно же будут искать все подписи снаружи входов в специальном поле ‘witness’.
Examples
Pay-to-Witness-Public-Key-Hash
Теперь давайте взглянем на примеры транзакций и на то, как они изменятся с Segregated Witness. Мы начнем со стандартной Pay-to-Public-Key-Hash (P2PKH) транзакции.
Нас интересуют выходы, а именно их поля «scriptPubKey». Рассмотрим типичный locking script:
C Segregated Witness он будет выглядеть так:
Как видите, сегвитовский выход намного проще традиционного — он состоит из двух значений, которые будут помещены на стэк исполнения скрипта. Как мы уже упомянули ранее, для старых версий клиента биткоина этот выход будет виден как доступный любому, так как он не требует подписи. А вот для обновленного клиента первое число интерпретируется как номер версии, а второе как аналог запирающего скрипта (witness program). На самом деле, здесь должен быть использован хеш сжатого публичного ключа, об этом мы расскажем немного позже.
Теперь давайте рассмотрим транзакцию, в которой этот выход будет потрачен. В традиционном случае это выглядело бы так:
Однако, чтобы потратить сегвитовский выход, транзакция должна иметь пустое поле sriptSig и содержать все подписи в отдельном месте:
Warning
Несмотря на то, что традиционные клиенты могут обрабатывать сегвитовские транзакции (напомню, что их выходы выглядят как доступные всем для старых клиентов), они не могут тратить их выходы, так как они просто не знают, как это сделать: кошелек старого типа попытается потратить сегвитовский выход с пустой подписью, однако эта транзакция на самом деле не валидна (ноды, имеющие Segregated Witness, не пропустят такую транзакцию). Это значит, что отправитель должен знать, поддерживает ли кошелек получателя segwit или нет, чтобы создавать выходы нужного типа.
Начиная с BIP 143 выходы должны быть созданы с помощью хеша сжатого публичного ключа. Если вы создадите выход используя обычный адрес или несжатый публичный ключ, этот выход будет неиспользуемым.
Pay-to-Witness-Script-Hash
Следующим очень важным типом транзакции является P2SH — он позволяет отправлять транзакции на хеш скрипта вместо хеша публичного ключа (обычный адрес биткоина). Чтобы потратить выход P2SH транзакции нужно предоставить скрипт (его называют redeem script), хеш которого совпадает с хешем скрипта на который отправлены средства, а также подписи/пароли/что-то еще в зависимости от скрипта. Используя такой подход можно отправлять биткоины на адрес, защищенный способом, о котором нам ничего не известно, а также сильно экономить место — в случае, например, кошелька с мультиподписью (multisignature wallet) locking script был бы действительно большим, если бы мы хранили все «замки» полностью, а не только их хеш.
Итак, рассмотрим в качестве примера кошелек с мультиподписью, требующий наличия 2ух подписей из 5. В традиционном виде locking script выхода P2SH транзакции выглядит так:
Чтобы потратить его, нужно предоставить redeem script, определяющий условие мультиподписи 2 из 5, а также 2 подписи и все это должно находится во входе транзакции:
Теперь давайте взглянем, как бы все это выглядело, если бы и отправитель и получатель использовали Segregated Witness.
Locking script выхода:
Опять же, как и в случае с P2PKH транзакцией полученный скрипт намного проще. Здесь 1ое значение это номер версии, а второе — 32 байтный SHA256 хеш redeem script’a (witness program). Эта хеш-функция была выбрана для того, чтобы как-то отличать witness program P2WPKH от оной для P2WSH по длине хеша (32 байта SHA256 и 20 байт RIPEMD160(SHA256(script))).
Транзакция, использующая этот выход:
Embedding Segregated Witness inside P2SH
Итак, мы убедились, что использование Segregated Witness имеет свои преимущества, однако для приведенных выше примеров и отправитель и получатель должны быть обновлены, что возможно далеко не всегда. Рассмотрим, например, такую ситуацию:
Алиса хочет отправить биткоинов Бобу, но у нее нет сегвит-кошелька, в то время как у Боба он есть. Конечно же, они могут просто использовать стандартную транзакцию, однако Боб хочет использовать segwit для сокращения комиссии.
В таком случае Боб может создать P2SH адрес, содержащий в себе segwit скрипт. Для Алисы он будет виден как самый обычный P2SH адрес и она сможет без каких либо проблем перевести на него средства, а Боб сможет потратить этот выход используя сегвит-транзакцию и получив скидку на комиссию (о новой метрике установления комиссии для сегвит транзакций мы расскажем ниже).
Таким образом оба типа сегвит-транзакций — P2WSH и P2WPKH могут быть реализованы внутри P2SH.
P2SH(P2WPKH)
Для использования P2WPKH транзакции внутри P2SH Бобу нужно создать witness program из своего публичного ключа. Затем результат нужно хешировать и преобразовать в P2SH адрес:
Создаем witness program:
Как обычно — 1ое число это версия и 2ое это 20 байтный хеш публичного ключа. Полученный скрипт затем хешируется SHA256 и потом RIPEMD160, выдавая очередной 20 байтный хеш.
HASH160 от witness program P2WPKH:
И преобразовываем в адрес:
Locking script выхода отправленного на этот адрес будет выглядеть как скрипт для обычного P2SH адреса:
Теперь рассмотрим как Боб может потратить этот выход:
Сначала предоставленный нами redeem script (в нашем случае это witness program) будет хеширован и, если он равен хешу, указанному в locking script’e, то он будет выполнен и будут проверены подписи в поле «witness».
P2SH(P2WSH)
Точно также любой P2WSH скрипт может быть реализован внутри P2SH. Возьмем multisig скрипт 2 из 5, рассмотренный ранее. Все шаги будут практически идентичны случаю P2SH(P2WPKH):
Для начала, опять же, создаем witness program:
1ое число — версия, 2ое — 32 байтный SHA256 хеш нашего скрипта мультиподписи. Далее шаги повторяются — берем HASH160 от witness program и преобразовываем в обычный P2SH адрес. Для использования выхода, отправленного на этот адрес, в scriptSig нужно записать witness program, а все подписи и полный скрипт мультисига в поле witness.
Segregated witness benefits
Теперь, когда мы разобрались с технической частью, рассмотрим основные преимущеста segregated witness.
Transaction malleability
Одной из самых важных проблем, которые решает segwit является «изменяемость» транзакций, а если точнее, то их ID, являющиеся хешами. Разберемся немного подробнее.
В традиционном случае подписи, находящиеся внутри транзакции во входах, могут быть изменены третьей стороной без их инвалидации. Это позволяет изменять ID транзакции, являющийся ее хешем, не меняя никаких «фундаментальных» полей вроде входов/выходов/количества средств. Таким образом транзакция все еще валидна, однако теперь имеет другой ID, что создает возможность для разного рода атак, например denial-of-service.
Segwit решает эту проблему, т.к все подписи находятся снаружи транзакции, а значит не хешируются и их изменение никак не повлияет на ID транзакции. Также вводится отдельный идентификатор wtxid — он хеширует не только транзакцию но и всю witness часть, так что если транзакция передается без witness данных, то txid равен wtxid.
Решение данной проблемы позволяет создавать цепочки неподтвержденных транзакций без какого-либа риска — очень важное свойство для таких протоколов как Lightning Network.
Network and Storage Scaling
Witness данные зачастую составляют самую большую часть транзакции. В скриптах наподобие multisig’a они могут занимать до 75% места используемого транзакцией. Благодаря segwit’y передача подписей становится опциональной — нода запрашивает их только если собирается проводить валидацию транзакции. SPV (simple payment verification) клиенты или ноды, не поддерживающие сегвит, в таком случае могут не загружать лишние данные, экономя место на диске.
Block size increase and lower transaction fees
Segwit транзакции обходятся дешевле, нежели традиционные за счет скидки на хранение witness данных. Если быть точнее, то было изменено само понятие «размера» для segwit транзакций. Вместо обычного размера для них было введено понятие «виртуального размера» (virtual size) — все данные, хранящиеся в «witness», учитываются с коэффицентом в 0.25, что также позволяет разместить в блоке больше транзакций. Рассмотрим на примере.
Пусть у нас есть традиционная транзакция размером в 200 байт. В блок размера 1 МB поместится 5000 таких. Теперь возьмем ее segwit эквивалент, где примерно 120 байт это witness данные. Тогда ее vsize = 80 + 0.25 * 120 = 110 и теперь уже 9090 таких транзакций влезут в блок. Также при комиссии, допустим, в 40 satoshi/byte для 1ой транзакции мы получим комисси в 8000 сатоши, а для 2ой 4400 сатоши, что практически в два раза меньше.
Script Versioning
Как вы уже могли заметить, каждый locking script имеет байт, отвечающий за версию скрипта. Использование версий позволяет вносить дополнения и изменения (изменения в синтаксисе, новые операторы и тд.) в виде софт-форков.
Signature Verification Optimization
Segregated Witness также оптимизирует работу алгоритмов с подписями (CHECKSIG, CHECKMULTISIG и тд.). До segwit’a количество хеш-вычислений увеличивалось квадратично от количества подписей, в то время как в обновлении сложность алгоритма понижена до O(n).
So what is the problem?
Так если все так хорошо, в чем же проблема? Обновление имеет немало противников в сети, так как несмотря на все очевидные преимущества, оно имеет и свои слабые стороны. Рассмотрим некоторые из аргументов против.
Conclusion
Несмотря на то, что, возможно, для проблем, решаемых SW, могут быть предоставлены более элегантные решения, мы считаем, что на данный момент это отличный способ повысить масштабируемость сети, а также сделать возможным внедрение таких технологий как Lightning Network, подробный разбор которой мы также проведем в следующих статьях.