Разработка решений на Liquid Network (Bitcoin sidechain)

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Разработка решений на Liquid Network (Bitcoin sidechain)
Сложный
от 1 недели до 3 месяцев
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1286
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Разработка решений на Liquid Network (Bitcoin sidechain)

Liquid Network — это federated sidechain поверх Bitcoin, разработанная Blockstream. В отличие от Lightning Network (payment channels), Liquid — это полноценный блокчейн с собственными блоками (~1 минута), нативным ассетом L-BTC и возможностью выпускать кастомные ассеты (токены, stablecoin-ы, security tokens). Confidential Transactions — встроенная privacy: суммы и типы ассетов скрыты от посторонних наблюдателей.

Liquid актуален для: торговых платформ которым нужны быстрые Bitcoin-деноминированные расчёты, выпуска tokenized securities с privacy требованиями, обменников с быстрым bitcoin settlement. Нишевая технология, но в своей нише — без аналогов.

Архитектура Liquid Network

Federation model

Liquid не использует proof-of-work и не имеет публичного mining. Блоки создаются functionaries — federants, которыми являются крупные биржи (Bitfinex, Kraken, OKX и др.) и сервис-провайдеры. Консенсус через threshold multisig: для создания блока нужна подпись 2/3 от functionaries.

Это не trustless как Bitcoin mainnet — вы доверяете федерации. Trade-off: взамен получаете быстрые транзакции, финальность через 2 блока (~2 минуты), низкие комиссии и Confidential Transactions.

Peg-in / Peg-out — механизм обмена BTC ↔ L-BTC:

  • Peg-in: отправляете BTC на federated peg address → получаете L-BTC через ~100 Bitcoin блоков (~16 часов) для безопасности
  • Peg-out: сжигаете L-BTC через federation → получаете BTC (~2 часа)

Confidential Transactions

Ключевая особенность Liquid, ради которой его и используют финансовые институты. Суммы переводов скрыты через Pedersen Commitments, тип ассета скрыт через asset surjection proofs. Только отправитель и получатель знают реальные числа.

Обычный Bitcoin UTXO:    value = 1.5 BTC  (видно всем)
Liquid Confidential TX:  value = [commitment]  (только для участников транзакции)

Верификация корректности (нет создания денег из воздуха) возможна математически без раскрытия сумм — через свойства homomorphic commitment.

Разработка на Liquid: инструментарий

Elements Core и Liquid daemon

Liquid — форк Elements (open-source проект Blockstream). Для разработки нужен elementsd (Elements Core daemon) в regtest режиме — локальная нода без подключения к mainnet.

# Запуск Elements в regtest для разработки
elementsd \
  -chain=elementsregtest \
  -validatepegin=0 \
  -initialfreecoins=2100000000000000 \
  -rpcuser=user \
  -rpcpassword=password \
  -rpcport=18884 \
  -daemon

libwally-core: низкоуровневая работа с транзакциями

Blockstream разработал libwally-core — C библиотека для создания Bitcoin и Liquid транзакций. Биндинги доступны для Python, JavaScript, Java.

import wallycore as wally

# Инициализация libwally
wally.init(0)

# Генерация мастер-ключа из seed
seed = bytes.fromhex('your_seed_hex')
master_key = wally.bip32_key_from_seed(seed, wally.BIP32_VER_MAIN_PRIVATE, 0)

# Деривация ключей для Liquid addresses
child_key = wally.bip32_key_from_parent(master_key, 0, wally.BIP32_FLAG_KEY_PRIVATE)

# Confidential address (с blinding key)
pub_key = wally.bip32_key_get_pub_key(child_key)
blinding_key = wally.asset_blinding_key_from_seed(seed)
conf_address = wally.confidential_addr_from_addr_segwit(
    wally.bech32_from_bytes('ex', pub_key, 0),  # ex = liquid mainnet, ert = regtest
    'lq',  # confidential address prefix
    blinding_key[:32]
)

GDK (Green Development Kit)

Более высокоуровневый SDK от Blockstream, используется в Green wallet. Подходит для кошельковых приложений:

import greenlight from '@blockstream/greenlight-sdk'

// Инициализация GDK сессии для Liquid
const session = greenlight.create_session()
await session.connect({ name: 'liquid' })

// Создание кошелька
const mnemonic = greenlight.generate_mnemonic()
await session.register_user({
    mnemonic,
    hw_device: {},
})

// Получение адреса для приёма L-BTC
const addressDetails = await session.get_receive_address({
    subaccount: 0,
    address_type: 'p2wsh',  // native segwit
    is_internal: false,
})
console.log('Confidential address:', addressDetails.address)
console.log('Blinding key:', addressDetails.blinding_key)

Выпуск Liquid Assets

Liquid позволяет выпускать кастомные ассеты — аналог ERC-20, но с нативной privacy. Каждый ассет идентифицируется 32-байтовым asset ID (hash от issuance transaction).

Issuance через Elements RPC

# Через bitcoind-совместимый RPC интерфейс elementsd
import requests

def rpc_call(method, params):
    response = requests.post(
        'http://localhost:18884',
        json={'method': method, 'params': params},
        auth=('user', 'password')
    )
    return response.json()['result']

# Выпуск нового ассета
# amount: количество в satoshi-эквиваленте (8 знаков после запятой)
# reissuancetoken_amount: сколько reissuance tokens выпустить (для будущего доп. эмиссии)
issuance = rpc_call('issueasset', [
    1000000,    # 10.00000000 ассетов
    1,          # 1 reissuance token
    False       # не blind issuance (для демо)
])

asset_id = issuance['asset']
token_id = issuance['token']
print(f"Asset ID: {asset_id}")
print(f"Reissuance token: {token_id}")

Asset Registry

Для того чтобы другие пользователи видели название и тикер вашего ассета в кошельках — нужна регистрация в Liquid Asset Registry:

curl -X POST https://assets.blockstream.info/ \
  -H "Content-Type: application/json" \
  -d '{
    "asset_id": "YOUR_ASSET_ID",
    "contract": {
      "name": "My Security Token",
      "ticker": "MST",
      "precision": 8,
      "issuer_pubkey": "YOUR_ISSUER_PUBKEY",
      "version": 0,
      "entity": {
        "domain": "yourcompany.com"
      }
    }
  }'

Domain верификация через TXT-запись DNS — стандартная процедура.

Confidential Assets: privacy для токенов

По умолчанию выпущенные ассеты не confidential — тип ассета виден в транзакции. Для финансовых инструментов нужна полная конфиденциальность: ни тип ассета, ни сумма не должны быть видны посторонним.

Confidential issuance требует blind на этапе выпуска:

# Blind issuance - скрывает тип ассета и сумму
issuance = rpc_call('issueasset', [
    1000000,   # количество
    1,         # reissuance tokens
    True       # blind = True
])
# Теперь тип ассета скрыт в транзакции через asset surjection proof

Для передачи ассетов между confidential адресами — транзакции автоматически blind если оба адреса confidential.

Atomic Swaps на Liquid

Liquid поддерживает atomic swaps между разными ассетами без посредника — через HTLC (Hash Time Locked Contracts) или через Submarine Swaps с LN.

Практический use case: DEX на Liquid для обмена tokenized securities без custody. Обе стороны подписывают транзакцию, которая атомарно меняет ассеты — либо оба получают, либо ни один:

# Построение atomic swap транзакции
# Alice: хочет обменять 100 USDT-Liquid на 0.001 L-BTC
# Bob:   хочет обменять 0.001 L-BTC на 100 USDT-Liquid

# 1. Alice создаёт partial PSBT (Partially Signed Bitcoin Transaction)
alice_psbt = rpc_call('walletcreatefundedpsbt', [
    [{'txid': alice_utxo_txid, 'vout': alice_utxo_vout}],  # inputs (USDT)
    [{bob_address: 100_00000000, 'asset': USDT_ASSET_ID}],  # outputs (L-BTC к Alice)
    0,
    {'add_inputs': False}
])

# 2. Bob добавляет свои inputs (L-BTC) и outputs (USDT к Bob)
# 3. Оба подписывают → broadcast

Интеграция с биржей: Liquid как settlement layer

Биржи используют Liquid для ускорения межплатформенных расчётов. L-BTC транзакция оседает за ~2 блока (~2 минуты) против 6 блоков Bitcoin (~60 минут) с comparable security гарантиями.

Схема для trading platform:

  1. Traders депозитируют L-BTC (или pegged-in BTC)
  2. Off-chain matching engine
  3. Settlement через Liquid транзакции — быстро и дёшево
  4. Withdrawal через peg-out при необходимости

Разработка Liquid интеграции: от 2 недель (базовая выпуск/прием ассетов) до 2-3 месяцев (полноценный DEX с confidential atomic swaps, asset registry, блокчейн-explorer для кастомных ассетов).