• Attention! If you want to see both (Russian and English) localizations of the forum, go to the profile preferences and select "Display nodes in all languages". By default, you are shown the localization that corresponds to your interface language.

    Внимание! Если вы хотите видеть обе (Русскую и Английскую) локализации форума, пройдите в настройки профиля и выберите пункт «Отображать разделы на всех языках». По умолчанию, вам отображается та локализация, которая соответствует вашему языку интерфейса.

решений для масштабируемости сети Биткоин

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Lightning Network – самая впечатляющая и имеющая первостепенное значение разработка экосистемы биткоина за последние годы.

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



Ligtning Network имеет множество составляющих: ноды, станции, каналы. Поверх LN можно построить и собственные приложения

Приложения и плагины для Lightning Network.

Часть 1.
⬇⬇⬇
Независимый разработчик Надав Ивги создал целую серию приложений Lightning, названных LApps.

Они построены в p2p-сети, которая выстраивает двунаправленные каналы оплаты вне сети биткоина. Каналы открываются с заданным количеством BTC, и транзакции могут проводиться в пределах этой внесенной суммы.

Выбор реализации в основном зависит от предпочитаемого языка программирования и инструментов разработки.

LApps используют разные реализации LN. Это репозитории с открытым исходным кодом для запуска полного узла LN:

  1. c-Lightning от Blockstream,
  2. lnd от Lightning Labs,
  3. Lightning Peach от Bitfury.
Чтобы LN получила широкое внедрение, важно, чтобы в сети было большое количество прикладных вещей. Раннее поколение LApps концентрируется на платежах. В основном это платные системы микроплатежей и плагины для мерчантов.

Lightning Charge — система обработки микроплатежей от Blockstream на основе реализации Lightning Network под названием C-lightning, которая позволяет веб-разработчикам легко создавать приложения Lightning Apps (LApps).С момента выпуска Lightning Charge Blockstream выпустили два LApps:

1) FileBazaar - это простое решение электронной торговли, при помощи которого создатели контента смогут продавать доступ к своим работам. FileBazaar использует систему оплаты за просмотр, предусматривающую прием микроплатежей Lightning в обмен на различные цифровые продукты, включая видеофайлы, фотографии и документы.

2) Lightning Publisher решает проблему обеспечения простой и прозрачной монетизации онлайн контента без обращения к доходам от рекламы, на которые пока приходится полагаться большинству издателей. Приложение позволяет использующим платформу WordPress издателям принимать моментальные микроплатежи с использованием Lightning для предоставления доступа к полным статьям или публикациям на сайте.
🌱🌱🌱
Lightning Labs, основной разработчик реализации Lightning на Go под названием LND (Lightning Network Daemon выпустили свое многоплатформенное приложение Lightning Desktop App.

Lightning Wallet – это, по сути, пользовательский интерфейс созданный поверх lnd и поддерживаемый новым легким клиентом Биткоина от Lightning Labs – Neutrino.

Neutrino - это новая версия реализации Биткоина с открытым исходным кодом, которая поддерживает приложение Lightning Desktop. Одно из ее основных преимуществ - пользователям Neutrino, возможность не загружать блокчейн Биткоина.

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


Часть 2.
⬇⬇⬇

Приложение Nanotip для отправки чаевых

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

Решение Paypercall

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

Решение NanoPos от BlockStream.

Решение представляет собой упрощенную систему продаж, предназначенную для компаний, работающих с товарами, которые продаются по фиксированной цене (например, кофейные магазины или закусочные). Приложение позволяет продавцам создавать позиции через файл конфигурации, а покупатели могут оплачивать товары, сканируя QR-коды и отправляя транзакции на сервер Lightning Charge.

Lightning кошельки

Браузерные

  1. Lightning Joule
  2. Casa Node
Для мобильных устройств

1) Eclair

Мультиплатформенные

  1. Spark Wallet
  2. Lightning Peach
Инструменты разработки

  1. BitcoinVisuals — LN метрики и графики
  2. 1ML — LN-поисковик
  3. Simplicity — язык для программирования блокчейна
  4. libwally-core — пригодится для кошельков
Игра на LN

  1. Hammercoin — RPG с LN
  2. Lightning Jukebox
  1. Starblocks — виртуальная кофейня
  2. Место Сатоши — граффити-доска с микроплатежами LN
Здесь лишь малая часть инструментов и плагинов. Интернет вам в помощь😉

Источник
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Channel Factories (CF)
⬇⬇⬇
Это решение делает LN третьим слоем сети, в то время как сама лежит между блокчейном и платежными каналами, образуя новый слой и трехуровневую систему:

Blockchain - транзакции проверяются каждым узлом
CF - многосторонние платежные каналы
LN - результирующая сеть CF для платежей

Идея была предложена в 2017 году разработчиками: Conrad Burchert, Christian Decker и Roger Wattenhofer.
Они опубликовали White Paper "Scalable Funding of Bitcoin Micropayment Channel Networks" - "Масштабируемое финансирование сетевых каналов микроплатежей биткойн", где описали свое детище. Я постараюсь описать короче, лишь для понимания и представления.

Для открытия платежного канала LN юзер сначала финансирует свой канал. Он переводят свои средства на адрес 2-of-2 multisig в блокчейне.

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

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

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

1) Средства блокируются в канале, до момента закрытия канала.

Блокировка средств в канале неудобна, особенно если нужно сделать ребаланс или заполнить каналы.

2) Открытие/закрытие транзакций внутри цепочки плохо масштабируется из-за ограничений пропускной способности Биткойна.

По мере увеличения числа пользователей LN, количество транзакций в цепочке тоже возрастет. Если 100 юзеров LN откроют по 5 каналов, то создаться 1000 транзакций в цепочке.

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

Такая система позволяет быстро перераспределять средств по каналам, что снижает затраты на открытие новых каналов. Вместо одной блокчейн-транзакции, каждому пользователю требуется только одна транзакция для входа в группу узлов. Внутри группы пользователь может создать произвольное количество каналов. Для группы из 20 пользователей со 100 внутригрупповыми каналами стоимость блокчейн-транзакций снижается на 90% по сравнению со 100 обычными микроплатежными каналами.

Если ввести подписи Шнорра , этот показатель можно увеличить до 96%. Включение подписей Шнорра в протокол Биткоина совместно с CF обеспечит более компактные транзакции при публикации их в цепочке.

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

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

"Хук-транзакция" - это транзакция финансирования многостороннего канала, которая позволяет юзерам выводить средства из канала, если другие стороны становятся некооперативными. Открытие вторичных платежных каналов внутри CF происходит мгновенно.

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

867
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Более подробно и более информативно о Channel Factories "Фабрике Каналов"
⬇⬇⬇
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Протокол Eltoo в сети Lightning Network
⬇⬇⬇
Всякий раз, когда совершается новый платеж, юзер-каналы Lightning обновляются для верного отображения их общих балансов.

888


Фишка в том, что существует наказание в виде штрафа, если юзер пытается обмануть, распространяя старую версию баланса (например, для экономии средств).
Пользователи, которые пытаются совершить обман, могут потерять свои средства в платежном канале. Это достигается за счет системы L2-penalty.

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

Такой нюанс назвали «токсичной информацией».

Соучредитель Lightning Labs Лаолу Осантокун, Кристиан Декер и Расти Расселом из Blockstream, в 2018 году представили (https://blockstream.com/eltoo.pdf) новое решение, в котором предложили «упрощённый» способ осуществления "off-chain" (внесетевых) транзакций.

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

Решение Eltoo позволяет хранить только свежие данные о транзакциях вне блокчейна, решая проблему «информационной асимметрии».

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

Если подробнее, то eltoo добавляет процедуру, которая делает каждое обновленное состояние заданным. Любое обновление канала, например, когда А совершает транзакцию Б, состоит из двух транзакций, каждая из которых хранит, и впоследствии полностью заменяет, предыдущую транзакцию.

Eltoo также увеличивает масштабируемость LN. У нод пропадает необходимость хранить все промежуточные состояния платежного канала. Вместо этого ноды хранят только самую последнюю версию состояния и некоторую информацию о самой транзакции, такую как соответствующую ей расчетную транзакцию и Hash Time Lock контракты.
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Private messages в сети Lightning Network
⬇⬇⬇
Думали LN предназначен для масштабирования сети Биткоин? Что на счет отправки личных сообщений?

В ноябре 2019 года разработчик Lightning Labs Джуст Джагер представил () собственное решение Whatsat - версию LN для отправки сообщений.

Whatsat - это децентрализованный и устойчивый к цензуре способ отправки сообщений другим пользователям Lightning Network. Протокол является настоящей одноранговой сетью, в которой может участвовать любой желающий.

После недавнего обновления сети LN, появилась возможность добавить дополнительные данные к платежам lightning.

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

Это две системы в одной: обмен сообщениями и платежи.
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
про nSequence (Sequence number) и Replace-By-Fee (RBF)
⬇⬇⬇
nSequence – это относительная блокировка времени на уровне транзакций. Это число, предназначенное для обновления неподтвержденных транзакций с временной блокировкой до их завершения.

Нажимая кнопку "Отправить BTC", транзакция попадает в мемпул, но так как ты не один такой, то приходиться ждать, когда твою транзакцию подтвердят майнеры, и поэтому ты можешь совершить Replace-By-Fee (RBF) - транзакцию.

RBF — замена существующей транзакции новой транзакцией с повышением комиссии.

Именно здесь и применяется nSequence. Ты можешь менять Sequence number и определять порядковый номер своей операции или можешь сделать его старше.

Впервые эти две функции были описаны в BIP-0125 (https://github.com/bitcoin/bips/blob/master/bip-0125.mediawiki)

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

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

Sequence number была разработана Сатоши Накамото и существовала всегда. Она была доработана до RBF и включена в код Bitcoin Core 0.12 и старше.

  • При замене транзакции не все ноды согласятся ретранслировать новую версию, ссылаясь на mempool-conflict
  • Некоторые ноды примут транзакцию, и ретранслируют ее в сеть
  • Информационные ресурсы типа blockchain.info будут прямым текстом писать DOUBLE SPEND
  • Не все пулы будут майнить эту транзакцию, справедливо считая её даблспендом. Некоторые пулы будут ее майнить, но это может занять больше времени (по сравнению со временем если вся сеть будет её майнить)
  • Если новая транзакция будет таки включена в блок — это абсолютно валидно и не противоречит правилам сети. Любые претензии потенциально обманутых нигде не принимаются
В настоящее время nSequence используется только для отключения времени блокировки в транзакции.

890
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Сегодня продолжу говорить про решения второго уровня бати, а именно про Data anchoring on Bitcoin (DAB)
⬇⬇⬇
На самом деле потенциал этого решения огромен, я приведу лишь примеры для более ясного понимания сути работы.

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

Data anchoring on Bitcoin (привязка данных к биткойну) - это новый способ защиты и стандарт для создания надежных цифровых данных.

Основной принцип DAB заключается в привязке отпечатка (хэша) любых цифровых данных с транзакцией.

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

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

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

Какие проекты используют DAB в своих кейсах? Я привожу их только с точки зрения реализации решений.


Если очень коротко, то это DAB-провайдер, который выступает в качестве хаба, который факторизует хэши от разных клиентов, для уменьшения количества транзакций, снижая стоимость каждой проверки. Это низкоуровневый технический вариант использования принципа, что-то типа "Дай свой хэш и мы отправим тебе сертификат, мол твои данные целы и действительно существуют". Здесь биткоин используется только для привязки данных, что достигается путем использования протоколов второго уровня.


Это опенсорс фреймворк для создания приватных блокчейнов от компании Bitfury Group (https://bitfury.com/).

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


Предоставляет аналогичное решение

В следующих постах разберу на частных примерах, как используют DAB в своих решениях VeriBlock и Open Timestamps.


893
 

LEO

Flipper
Threads
252
Messages
1,274
Points
164
Решение для масштабирования сети Биткойн - uTreeXo.

Хоть в таблице оно идет совместно с такими решениями как libMiniSketch и Tx Accumulators, я все-таки решил разобрать их по отдельности.
⬇⬇⬇
Решение предложил один из главных разработчиков LN Тадж Драй в июне 2019 года.

uTreeXo - это динамический аккумулятор UTXO (неизрасходованных остатков транзакций). А нужно оно для упрощения управления полными нодами в сети биткоина.

Об UTXO я тоже уже писал и кстати в этом посте я упоминал решение uTreeXo.

Немного разберемся...

Каждый узел в сети Биткойн проверяет и сохраняет состояние сети, а кошельки отслеживают UTXO (Unspent Transaction (TX) Output). Каждый узел, для предотвращения даблспендов, должен отслеживать набор всех UTXO при проверке каждой транзакции каждого блока.

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

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

SPV имеет ряд недостатков и потенциальных уязвимостей, которые я описывал ранее. Тут я не буду на этом останавливаться, подробности по ссылочке выше.

Проблема таится в объеме хранимой информации. Ее можно решить при помощи криптографических аккумуляторов (компактное представление множества). Динамический аккумулятор позволяет добавлять и удалять элементы из множества, но он требует наличия общего секрета (Trusted Setup), который при генерации и утечки позволяет создавать фальшивые доказательства существования UTXO.

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

uTreeXo позволяет создать динамический аккумулятор без общего секрета.

Решение uTreeXo сокращает объем памяти, необходимый для запуска полного узла, что делает фулноды более легкими. Узлам не нужно отслеживать набор всех UTXO при проверке каждой транзакции каждого блока. Достаточно лишь логарифмического представления набора этих UTXO.

При помощи uTreeXo, транзакции не просто указывают уникальный ID UTXO, который они хотят потратить, но также указывают его доказательство. Это позволяет узлам сети как проверять правильность UTXO, так и вносить необходимые изменения в соответствующие деревья Меркла.

Каждая версия uTreeXo должна содержать информацию, которая может быть использована для обновления доказательств, и владелец должен убедиться, что все такие версии применяются к доказательству UTXO, прежде чем попытаться его использовать.

Если разработки приведут к успеху, нам обещают фулноды на мобильных устройствах😅

Кому интересно подробнее, вот ссылочка (https://eprint.iacr.org/2019/611) на публикацию Тадж Драя
 
Top Bottom