Журнал про біткойн - домашня сторінка новин, статей і експертних висновків щодо біткойн
Nostr Wallet Connect: Рівень спільної роботи додатків Bitcoin
NOSTR WALLET CONNECT: РІВЕНЬ СПІВПРАЦІ В ПРОГРАМАХ БІТКОЙН
ШІНОБІ 48 ХВИЛИН ТОМУ
Зі зростанням складності програмного забезпечення та додатків біткойн, що використовують біткойн, зростає також потреба в простому механізмі координації для взаємодії різних програм.
Заглиблюючись у майбутнє впровадження та розробки біткойнів, існує одна проблема взаємодії програмного забезпечення, з якою розробники повинні мати справу на передньому плані: сумісність. Оскільки додатки та протоколи в цьому просторі стають все більш складними та функціональними, щоб задовольнити потреби реальних користувачів і сценарії використання, це представляє дилему, яка має лише дві реальні відповіді; або програма, або гаманець повинні внутрішньо інтегрувати кожен протокол і функцію, необхідні для задоволення вимог своєї мети, або різні програми повинні мати можливість спілкуватися одна з одною.
Одним із прикладів виникнення цієї проблеми є інтеграція Lightning у різні програми та програмні засоби. Lightning — це дуже складний для реалізації стек протоколів, що включає численні підпротоколи, які визначають, як координувати та обробляти оновлення стану каналу Lightning. Це включає структуру транзакцій для кожного стану каналу та те, що він забезпечує, порядок, у якому виконується кожен крок створення та підписання нових транзакцій, щоб гарантувати безпеку коштів користувачів, і функції, які спостерігають за тим, щоб блокчейн автоматично реагував належним чином, якщо недійсні стани коли-небудь надсилаються в блокчейн.
Це дуже складно для одного розробника програми, щоб взяти на себе безпосередню інтеграцію в свій проект. Очевидний висновок, якщо це потребує надто багато зусиль, полягає в тому, щоб покладатися на вже створене програмне забезпечення, яке вирішує проблему реалізації Lightning, і просто створювати свою програму для спілкування з цим зовнішнім програмним забезпеченням. Це призводить до наступної проблеми: що робити, якщо користувачі вашої програми не використовують цю реалізацію Lightning або гаманець?
Навіть передавши цю функціональність програми аутсорсингу, команда розробників все ще не повністю уникла проблеми складності. Хоча їм не обов’язково повністю впроваджувати Lightning самостійно, розробник, який обирає цей шлях, тепер має впоратися з підтримкою API для будь-якого гаманця Lightning, який потенційно може використовувати користувач його програми. Для цього необхідно стежити за будь-якими змінами чи змінами кількох гаманців Lightning, їхнього API, того, як працюють внутрішні функції цього гаманця та які вони підтримують. Відсутність будь-яких змін у певному гаманці призведе до поломки програми для користувачів цього гаманця.
Повинен існувати певний стандартизований механізм, щоб програмне забезпечення з обох боків цього розриву могло просто реалізувати цю одну річ, щоб усі ці різні інструменти могли спілкуватися один з одним. Це дозволить кожному розробнику програми та кожному розробнику гаманця Lightning просто інтегрувати та підтримувати єдиний протокол, який дозволить їхнім програмам спілкуватися один з одним.
Nostr Wallet Connect — це протокол, який намагається стати справді узагальненим механізмом для задоволення цієї потреби. Під час спроби вбудувати платежі Lightning у Nostr виникли всі ці складні проблеми, пов’язані з тим, як це зробити.
БЛИСКАВКА І НЗК
Команда Amethyst, клієнта Nostr, і Alby, веб-гаманця Lightning, створила NWC, щоб вирішити проблему користувачів Nostr, які бажають інтегрувати Lightning у свій досвід Nostr без використання спеціального гаманця. Додаток/протокол базується на архітектурі ідентифікації Nostr, де кожне повідомлення (подія), надіслане через Nostr, підписується парою криптографічних ключів, що функціонує як ваша ідентифікація на Nostr. Це дозволяє додатку просто генерувати пару ключів Nostr і лише з цього мати механізм криптографічної автентифікації для використання під час обміну даними із зовнішнім біткойн-гаманцем для виконання функцій додатка.
[ВСТАВТЕ ІНФОРМАЦІЮ ТУТ]
Використовуючи пару ключів для реєстрації зовнішньої програми в гаманці Lightning, програма тепер може перевірити ваш гаманець, щоб ініціювати платіж. Наразі специфікація підтримує оплату рахунків-фактур BOLT 11, здійснення платежів за надсиланням ключа (платежі без рахунків-фактур, здійснені на відкритий ключ вузла), оплату кількох рахунків-фактур одночасно, створення рахунка-фактури для пред’явлення комусь іншому, щоб заплатити вам, і кілька інших функціональних можливостей для збереження історії платежів і запити балансу гаманця із зовнішньої програми.
Все це координується за допомогою Nostr, що забезпечує надлишкові засоби зв’язку, які не залежать від єдиного централізованого механізму обміну повідомленнями або від того, що користувач повинен залежати від складного програмного забезпечення, такого як Tor або інших протоколів, щоб полегшити мережеве з’єднання між програмою та програмним забезпеченням гаманця. або інфраструктури, яка працює в їхній домашній мережі. Nostr також підтримує зашифровані прямі повідомлення, тобто зв’язок між гаманцем і програмою є повністю приватним, не розкриваючи жодних деталей про платежі, які координуються ретрансляторам Nostr, які використовуються для зв’язку.
На стороні гаманця мосту NWC можна застосувати обмеження безпеки, щоб запобігти необмеженому доступу зовнішньої програми до коштів гаманця у випадку, якщо ключ Nostr, який використовується для зв’язку з гаманцем, було зламано. Обмеження щодо дозволених сум, а також частоти платежів можна налаштувати на стороні гаманця підключення.
NWC корисний набагато більше, ніж просто інтеграція Lightning у програми Nostr. Вся філософія дизайну самого Nostr як протоколу була зосереджена на тому, щоб підтримувати його достатньо простим, щоб весь протокол міг бути легко правильно реалізований будь-яким розробником з мінімальними витратами часу та ресурсів. Програми, які не мають нічого спільного з Nostr, можуть легко інтегрувати NWC або подібні протоколи майже без накладних витрат або складності, щоб вирішити проблеми, що лежать в основі того, як підключити біткойн-гаманець до своєї програми без необхідності вбудовувати його безпосередньо в програму.
ЗА БЛИСКАВКІ
Потенціал такого протоколу, як NWC, надавати величезну цінність гаманцям і розробникам програм виходить далеко за рамки інтеграції гаманців Lightning у програми спеціального призначення. Весь довгостроковий напрямок взаємодії з біткойнами, за винятком якогось карколомного фундаментального прориву, якого ще ніхто не усвідомив, спрямований на інтерактивні протоколи між кількома користувачами.
Прекрасним прикладом є багатосторонні монетні пули. Більшість конкретних проектних пропозицій, таких як дерева Ark або Timeout, побудовані навколо центральної координаційної сторони або постачальника послуг, що може легко полегшити засіб передачі повідомлень між гаманцями користувачів, але це ускладнює простір дизайну через єдину точку відмови. Якщо сотня користувачів зібрані в коінпул разом на одному UTXO, модель безпеки базується на тому, що кожен користувач має заздалегідь підписаний шлях для одностороннього виведення своїх монет у ланцюжку. Цей механізм можна застосувати у разі будь-якої відмови або зникнення координатора, щоб гарантувати, що його кошти не будуть втрачені, але це найменш ефективний спосіб вирішення такого найгіршого сценарію.
Якби користувачі змогли знайти механізм для спілкування один з одним за відсутності постачальника послуг або координатора, можна було б досягти набагато ефективніших виходів у мережу за допомогою використання більшої групи multisig для міграції своїх коштів в інше місце з набагато ефективнішою ( і, отже, дешевше) у ланцюзі. NWC і Nostr ідеально підходять для такого сценарію.
Спільні мультипідписні гаманці між кількома сторонами також можуть отримати вигоду від такого протоколу. У поєднанні зі стандартами, такими як PSBT, простий механізм зв’язку Nostr міг би значно спростити складність різних гаманців із підтримкою кількох підписів, координуючи підписання транзакцій плавним і зручним для користувача способом.
Контракти Discreet Log Contracts (DLC) є ще одним дивовижним використанням такого протоколу. Вся схема DLC покладається на те, що обидві сторони можуть отримати доступ до підписів оракула, щоб в односторонньому порядку правильно закрити контракт, якщо обидві сторони не хочуть співпрацювати для спільного врегулювання. Nostr є ідеальним механізмом для оракулів для трансляції цих підписів і дозволяє просто підписатися на їхній ключ Nostr у гаманцях користувачів, щоб автоматично відстежувати та отримувати підписи під час трансляції оракулами.
З плином часу все більше додатків і протоколів будуються на основі біткойнів з вимогою інтерактивності між користувачами та різними додатками, механізм зв’язку загального призначення, який би полегшував це, не покладаючись на єдину точку збою, буде вкрай необхідним. .
Nostr є ідеальним базовим протоколом для полегшення цього, враховуючи його неймовірну простоту та надмірність великого набору ретрансляторів для використання. NWC є ідеальним прикладом того, що це життєздатне рішення.