Logo
Condividi questo articolo

Як розвиваються гаманці Ethereum

Ethereum було створено з використанням інших правил консенсусу, ніж Bitcoin, тому гаманці також повинні функціонувати іншим способом. Але які є варіанти?

Бенедикт Чен є керівником платформи у фірмі з безпеки блокчейнів BitGo та прихильником технологій блокчейнів Bitcoin та Ethereum . Він спроектував і розробив API та SDK, які використовуються для низки реалізацій Bitcoin -гаманця з кількома підписами.

Тут Чан LOOKS відмінності між мультисиг-гаманцями Ethereum та їх Bitcoin колегами, а також заглиблюється в їхню внутрішню роботу.

La storia continua sotto
Non perderti un'altra storia.Iscriviti alla Newsletter Crypto Daybook Americas oggi. Vedi Tutte le Newsletter

Гаманці є ONE із найпростіших додатків на будь-якій блокчейн-платформі. Вони надають користувачам інтерфейс для взаємодії з блокчейном. Деякі гаманці, такі як ONE , що пропонує Bitcoin CORE, підключаються до блокчейну безпосередньо через повний вузол, тоді як інші залежать від веб-сервісів для надання доступу.

На базовому рівні гаманець прагне обслуговувати користувачів, отримуючи, надсилаючи, відстежуючи та перераховуючи транзакції в межах Криптовалюта. Досконаліші гаманці дозволяють користувачам отримати кращий захист або виконувати розширений набір дій у блокчейні, таким чином підвищуючи свою вартість. Це особливо вірно у випадку блокчейну Ethereum , де користувачам потрібно не лише зберігати вартість, але й виконувати різні дії за допомогою контрактів.

Фон на multisig

З моменту появи в 2013 році Bitcoin гаманці з кількома підписами (multisig) використовувалися для забезпечення резервування користувачів і безпеки під час обробки коштів у блокчейні. Облікові записи з мультипідписом вимагають, щоб для переміщення маркера було підписано кілька ключів, як у фізичному сховищі, де для доступу до вмісту потрібен більше ONE ключа.

Multisig ускладнює зловмисникам крадіжку з гаманця, оскільки ключі можна розмістити на різних машинах. Завдяки цій додатковій безпеці користувачі можуть бути спокійні під час зберігання та використання монет або налаштувати структури гаманців, де для переказів потрібні кілька користувачів і дозволи.

Еволюція від Bitcoin до Ethereum

Потенціал блокчейну ефіру в поєднанні зі швидким зростанням ціни ефіру в 2016 році підштовхнули попит користувачів на веб-гаманець із кількома підписами. Але на відміну від інших клонів Bitcoin, таких як Litecoin, Ethereum є дуже унікальним блокчейном, оскільки він був побудований з нуля на зовсім іншому наборі консенсусних правил. Це призводить до суттєвих відмінностей у тому, як реалізовані гаманці Ethereum multisig порівняно з їхніми Bitcoin колегами.

Облікові записи та адресація

У Bitcoin гаманець повинен стежити за кількома попередніми вхідними транзакціями, надісланими на адреси, до яких у нього є ключі (вони відомі як «невитрачені»). Загальна сума невитрачених коштів за цими адресами представляє баланс у гаманці. В Ethereum немає поняття невитрачених коштів – замість цього кожен обліковий запис має баланс, який змінюється з кожною транзакцією.

Щоб створити та підписати транзакцію, не обов’язково збирати та підтримувати попередні невитрачені виходи – ONE лише запам’ятати останній використаний ID послідовності (щоб запобігти подвійним витратам) і збільшити його. Крім того, оскільки баланси (а не невитрачені кошти) відстежуються, це зменшує навантаження на гаманці для управління змінами. У зв’язку з цим створення транзакцій простіше в Ethereum. Це відбувається за рахунок Політика конфіденційності користувачів, оскільки облікові записи тепер прив’язані до однієї адреси, тоді як користувачі можуть надсилати та отримувати на кілька адрес у Bitcoin одночасно, що робить кошти менш доступними для відстеження.

Плата за майнінг

У Bitcoin комісії, які користувачі сплачують майнерам, розраховуються на основі розміру транзакції. В Ethereum вони розраховуються на основі кількості використаних операцій блокчейну, помноженої на ціну, яку користувач готовий заплатити за одиницю GAS (внутрішня ціна для виконання транзакції або контракту на Ethereum). Простіше кажучи, плата залежить від кількості та складності операцій і обсягу місця, зайнятого в блокчейні.

Для технічно досвідчених користувачів це більш конкретний і справедливий спосіб оцінки використання блокчейну та пов’язаних з ним витрат на перевірку. Однак це може викликати певну плутанину у початківців користувачів. Наприклад, надсилання ефіру за контрактом, фінансованим крауд-фінансуванням, може коштувати іншу комісію (сплачується відправником), ніж надсилання такої ж кількості ефіру другові. Це створює цікаву проблему для розробників інтерфейсу додатків, щоб повідомити про такі відмінності та допомогти користувачам зрозуміти причину цього.

Контракти з кількома підписами

FLOW -схема
FLOW -схема

На відміну від Bitcoin, Ethereum підтримує розширені сценарії, але ще не підтримує концепцію нативного мультипідпису або P2SH (де ONE заплатити за хеш контракту та надати сценарій пізніше).

Основний підхід до захисту коштів за допомогою кількох підписів передбачає створення кількох адрес із єдиним підписом, а потім написання контракту, керованого цими адресами, для зберігання коштів. Хоча це складніше, ніж з Bitcoin, це потенційно може надати розробникам гаманців більше гнучкості.

Існує два основні підходи до написання контрактного гаманця, який потребує кількох підписів для захисту коштів.

FLOW -схема1
FLOW -схема1

Це найпоширеніший підхід, який використовується в таких гаманцях, як Туман або Етерлі. Спочатку розгортається контракт гаманця, реєструючи надані «адреси підпису». Щоб надіслати кошти на адресу, перший користувач або пропонент надсилає до контракту транзакцію, що містить Request пропозиції. Цей Request має унікальний ID операції (хеш), отриманий із суми, адреси призначення та даних, які потрібно надіслати.

Потім інший користувач у контракті гаманця повинен підтвердити цей ID операції, надіславши окрему транзакцію підтвердження до контракту. Обидві транзакції мають бути опубліковані в ланцюжку, перш ніж кінцева операція (надсилання коштів) може бути виконана.

FLOW -схема 2
FLOW -схема 2

Хоча попередній підхід є безпечним і підходить для багатьох сценаріїв, існує попит мати всі підписи в одній транзакції, подібно до Bitcoin. Відомий декому як друга еволюція multisig на Ethereum, він має переваги в тому, що вимагає менше місця в ланцюжку, а також є потенційно швидшим, оскільки не потрібно чекати кількох блоків.

Кожна транзакція в Ethereum може мати лише ONE відправника/підписанта. Отже, реалізація цього в контракті вимагає використання операції складання «ecrecover». Ця операція дозволяє перевірити адресу підпису в полі даних транзакції. Контракт з декількома підписами написаний із кодом для отримання ID операції з суми, призначення, даних ETC та перевірки того, що ID підписаний підписом у полі даних. Таким чином, можна вважати, що ONE підписувач походить від відправника повідомлення, а підписи іншого підписувача перевіряються в полі даних, і все це в межах однієї транзакції.

Впровадження гаманця Multisig

Більше технічних читачів, можливо, захочуть вивчити ці реалізації контрактів із кількома підписами для Ethereum:

Реалізація DappSys 'easy multisig'

Створена на основі контрактної структури Dappsys, ця багатопідписна реалізація дотримується першого дизайну «виконати, а потім підтвердити». Нещодавно його поділили під час підготовки до конференції Devcon. Його головною перевагою є модульний дизайн коду для розробників, які пишуть гаманці поверх нього, що дозволяє легко застосовувати його в багатьох інших сценаріях, окрім зберігання цінностей.

Майбутні вдосконалення

Спільнота Ethereum має потужну базу розробників, кілька проектів і команд, які, як очікується, випустять програми в NEAR або середньостроковій перспективі. Ці випуски стимулюватимуть попит і підтримку нових функцій у гаманцях з кількома підписами Ethereum :

Підтримка токенів ERC20

Хоча в даний час доступні деякі гаманці з кількома підписами для захисту ефіру, їх небагато для захисту інших токенів на основі Ethereum, таких як Digix DGD, Augur REP тощо. Такі контракти на токени є невід’ємною частиною екосистеми Ethereum , і всі вони підтримують загальний стандарт ERC20.

Створення гаманця, який підтримує цей стандарт, означатиме, що користувачі зможуть користуватися підтримкою всіх цих цікавих токенів з однієї програми гаманця.

Підтримка більшої кількості операцій/сценаріїв

Дивлячись далі в горизонт, сфера операцій, які гаманець повинен мати можливість виконувати, також розшириться. Контракти на основі Ethereum вимагають набагато більше, ніж просто надсилання/отримання.

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

Еволюція гаманця Multisig з EIP101 (Serenity)

Випуск Ethereum Serenity, ймовірно, принесе кілька корисних функцій, які значно покращать простоту та покращать роботу гаманців з кількома підписами.

Перше покращення — це функція, схожа на «оплату до сценарію, хешування», яка дасть змогу розгортати та створювати контракт гаманця лише тоді, коли одержувач хоче витратити кошти. Це позбавить користувачів від проблем із розгортанням для створення гаманців. Що ще важливіше, він також усуває вимогу для нових користувачів сплачувати комісію GAS наперед під час налаштування гаманця з кількома підписами.

Це також робить практичним виплату кількох HD-адрес, не витрачаючи GAS на їхнє розгортання, подібно до того, як багато компаній роблять це в Bitcoin для збору платежів. Якщо все зробити правильно, це може зменшити повторне використання адреси та підвищити Політика конфіденційності.

Далі контракти зможуть сплачувати власні внески. Наразі плата за GAS/майнінг під час виведення коштів стягується з адреси підпису, яка надсилає транзакцію в контракт гаманця. Це означає, що користувачі повинні зберігати баланси в двох місцях: у договорі гаманця (захищеного multisig) і в адресі підпису (для оплати комісії). Serenity дозволить за договорами оплачувати власний GAS, тому користувачам не потрібно буде підтримувати GAS рахунок для здійснення транзакцій.

Останні думки

Зрештою, користувачі вибиратимуть гаманці не на основі Криптовалюта , яку вони підтримують, а на основі функцій додатків, які вони пропонують – кожен шукає «програму-вбивцю», а не «ланцюг-вбивцю». Це захоплюючий час бути в Криптовалюта та спостерігати за еволюцією гаманців, які створюють екосистему, щоб наблизити її до масового охоплення.

Шкіряне зображення через Shutterstock

Ben Chan

Бенедикт Чен є керівником платформи у фірмі з безпеки блокчейнів BitGo та прихильником технологій блокчейну Bitcoin та Ethereum . Він спроектував і розробив API та SDK, які використовуються для низки реалізацій Bitcoin -гаманця з кількома підписами.

Picture of CoinDesk author Ben Chan