Greenlight от Blockstream: Масштабируемая некастодиальная инфраструктура Lightning теперь открыта для разработчиков
Lightning Network

Greenlight от Blockstream: Масштабируемая некастодиальная инфраструктура Lightning теперь открыта для разработчиков

Christian Decker
Christian Decker

Чуть более двух лет назад Blockstream разработала Greenlight: инновационную инфраструктуру хостинга Lightning, которая масштабирует ваши развертывания Lightning без компрометации или кастоди. Последний год тестирования с партнерами доказал, что Greenlight стабилен и прост в использовании. Сегодня мы предоставляем открытый доступ к клиентскому репозиторию и открываем регистрацию для заинтересованных лиц для участия в предварительной версии для разработчиков!

Философия, лежащая в основе Greenlight, и то, как она навсегда изменит Lightning-кастоди.

Что такое Greenlight?

Greenlight – это некастодиальная услуга Lightning-as-a-Service (LaaS) для предприятий, торговцев и приложений Lightning. Ваши пользователи держат ключи, а мы заботимся обо всем остальном. Как разработчик, создающий приложения с помощью Greenlight, вы можете просто обратиться к нашему простому API и легко интегрировать платежи Lightning в свое приложение, не имея опыта работы с протоколом Lightning и не занимаясь длительной настройкой узла.

В Greenlight существует два домена управления: пользовательский и принадлежащий Blockstream. Любое количество клиентов из пользовательского домена может подключиться к одному узлу в домене Blockstream. Узел, работающий в инфраструктуре Blockstream, получает команды, вычисляет изменения состояния, а затем обращается к подписывающему устройству, которое находится исключительно под контролем пользователя, чтобы проверить и подписать изменения. В результате вы получаете доступный по требованию, некастодиальный узел Lightning, с которым ваши ключи хранятся на вашем устройстве и никогда не затрагивают нашу инфраструктуру.

Что доступно сегодня?

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

Репозиторий клиента содержит несколько компонентов:

  • gl-client и его языковые привязки предоставляют простой API для взаимодействия с Greenlight и пользовательскими узлами. Встроенный подписант (signer) позаботится об управлении вашей seed-фразой и сохранит ее в тайне от узла и, соответственно, от нас, операторов сервиса. Сквозная верификация (все еще находится в стадии активной разработки и не завершена в этой предварительной версии) в программе signer гарантирует, что любое изменение состояния было санкционировано аутентифицированным клиентом, так что потенциальная компрометация хоста узла не приведет к потере средств.
  • gl-testing предоставляет полную среду для тестирования вашего кода на макете, а не в реальном сервисе Greenlight. Чтобы узнать больше, смотрите наше руководство по использованию gl-testing в проекте на Python с использованием привязок Python в gl-client-py.  Дополнительные руководства находятся в разработке.
  • gl-plugin и gl-signerproxy позволяют любому воспроизвести интерфейс, предоставляемый узлами Greenlight, включая возможность удаленного подписания, вместо хранения seed на открытом сервере.

Последние два являются основой для наших планов по переходу на новую инфраструктуру: если вы перерастете Greenlight или захотите большего контроля, мы дадим вам возможность перейти на собственную инфраструктуру, и все ваши приложения будут продолжать работать. Это означает, что если вы разрабатываете свое приложение на основе API Greenlight, вы автоматически получаете поддержку Core Lightning. Более подробно о том, как отключиться от инфраструктуры, вы можете прочитать в официальной документации Greenlight и на обучающем сайте.

Начать работу

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

Минимальный клиент, который регистрирует узел, планирует его, а затем выполняет getinfo на узле, на языке Python будет выглядеть следующим образом:

from glclient import TlsConfig, Signer, Scheduler
import secrets  # Make sure to use cryptographically sound randomness

invite_code = "..."seed = secrets.randbits(256)  # 32 bytes of randomnessnetwork = "bitcoin"

tls = TlsConfig()
signer = Signer(seed, network, tls)
scheduler = Scheduler(node_id=signer.node_id(), network=network, tls=tls)

# Now actually register the node, `r` will contain the credentials to use # when talking to the node
r = scheduler.register(signer, invite_code=invite_code)

# Use the credentials when talking to Greenlight from now on. 
Requires a refresh 
# of the `TlsConfig` and the `Scheduler`
tls = tls.with_identity(r.device_cert, r.device_key)
scheduler = Scheduler(
		node_id=signer.node_id,
        network=network,
        tls=tls
)
node = scheduler.node()  # Schedules the node on the service

# And finally we can use `node` to call `getinfo`
print(node.getinfo())

И это все. Никакой настройки bitcoind, баз данных, резервного копирования, сторожевых башен, сплетен, конфигурации узлов и т.д. Все это делается с нашей стороны, чтобы вы могли сосредоточиться на том, что для вас важнее всего – на ваших пользователях и их потребностях!

Что дальше?

Мы уже получили много отзывов от наших коллег:

  • Breez  построил свой Breez SDK на Greenlight, расширив наше предложение за счет LSP и своп-сервисов, а также перенес свой известный кошелек Breez на Greenlight.
  • Validating Lightning Signer для нашей инфраструктуры безопасной подписи, помогая нам приблизиться к полной сквозной проверке.
  • Кошелек Blockstream Green для внутренней обратной связи и тестирования.
  • Core Lightning для лучшей реализации Lightning для такого масштаба.

Мы с нетерпением ждем полного релиза, но для этого нам по-прежнему требуется дополнительная обратная связь от разработчиков. Мы приглашаем вас присоединиться к нам на Discord  в канале #greenlight или на странице разработчиков сообщества Build On L2, чтобы поделиться своими мыслями и опытом, где вы также можете следить за предстоящими воркшопами, посвященными Greenlight.

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

If you have specific preferences, please, mark the topic(s) you would like to read: