Абстракція облікового запису в біткойнах з першого дня

Ця публікація була вперше опублікована на Середній.

Абстракція облікового запису протягом тривалого часу була a мрія про Ethereum і останнім часом стала гарячою темою.

Ми демонструємо Bitcoin поставляється з абстракцією/уніфікацією облікових записів з моменту свого створення. Таким чином, усі основні функції, обіцяні АА, можуть бути і були розроблені на біткойнах без будь-яких змін протоколу та з невеликою додатковою складністю. Помилка початкового дизайну Ethereum вимагає постійних і складних модернізацій, щоб реалізувати АА, який ще не надано, більш ніж на 14 років пізніше, ніж біткойн.

Абстракція облікового запису (AA)

Щоб зрозуміти АА, нам спочатку потрібно зрозуміти, як працюють облікові записи в Ethereum. Обліковий запис Ethereum схожий на банківський рахунок, але містить ефіри або ETH, а не фіат. В Ethereum є два типи облікових записів, обидва ідентифікуються унікальною адресою.

1. Зовнішній обліковий запис (EOA)

EOA — це облікові записи, що належать чомусь зовнішньому щодо блокчейну: користувачам. Це традиційні облікові записи, які користувачі створюють за допомогою гаманця, такого як MetaMask. EOA має публічну адресу, керовану закритим ключем користувача, який може підписувати та ініціювати транзакції. Перевірка підпису жорстко закодована на базовому рівні та виконується за межами віртуальної машини Ethereum (EVM).

2. Контрактний рахунок (CA)

Ці облікові записи широко відомі як смарт-контракти і контролюються їх кодом смарт-контракту, а не a закритий ключ. Розумний контракт запускається в EVM. Також CA має сховище та код, жодного з яких не має EOA.

Типи облікових записів Ethereum — EOA та CA. (Джерело)

Мотивація АА

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

AA прагне покращити взаємодію з користувачами та усунути існування двох типів облікових записів шляхом об’єднання EOA та CA. Це робить EOA програмованим, переміщуючи логіку перевірки підписаних транзакцій у EVM, як у CA. EOA можна пристосувати до потреб кожного користувача.

Історія та сучасний стан АА

Протягом багатьох років було багато пропозицій щодо того, як досягти AA на Ethereum.

Історія та сучасний стан АА
Джерело

Деякі потребують значних змін протоколу, наприклад EIP-2938. Інші не вимагають змін протоколу, але принципово змінюють робочий процес гаманця користувача, наприклад останній EIP-4337. Він представляє новий mempool, нового актора під назвою bundlers і кілька нових шарів, серед інших змін. Враховуючи величезні складності, не дивно, що EIP-4337 не отримав жодного суттєвого впровадження.

абстракція облікового запису за допомогою alt mempool

Абстракція рахунку на Bitcoin

Біткойн-еквівалент облікового запису — це так званий вихід невитрачених транзакцій (UTXO). Біткойни в UTXO контролюються/блокуються кодом смарт-контракту в ньому. Щоб витратити їх, користувач повинен надати відповідний «ключ», для чого зазвичай потрібна певна секретна інформація.

Модель UTXO
Джерело

Важливо те, що немає різниці між UTXO, керованим приватним ключем, і UTXO, яким він не керує. Умова витрати UTXO завжди перевіряється у віртуальній машині Bitcoin (BVM). Найпопулярніші види UTXO має адреса використовується всіма біткойн-гаманцями та контролюється відповідним закритим ключем¹. Однак його перевірка підпису все ще виконується в BVM і НІ запікається в базовий шар і, таким чином, не потребує спеціального поводження, на відміну від Ethereum.

Випадки використання

Біткойн має AA з самого початку, оскільки він об’єднує всю обробку облікових записів/UTXO. Щоб підтвердити це, ми перерахуємо деякі з найвидатніших функцій АА, які були реалізовані в біткойнах. Аналогічно можна досягти й інших функцій АА.

Спонсоровані транзакції

Це дозволяє третім особам (таким як платіжник і програма) сплачувати комісії за транзакції від імені своїх користувачів. Це потрібно для користувачів без біткойнів. Один із способів увімкнути це – використання БУДЬ МОЖЕ ЗАПЛАТИТИ зітхати прапорами. Це дозволяє будь-кому додавати вхідні дані до частково підписаної транзакції, які можна використовувати для оплати комісії майнерам.

Різні схеми підпису

Біткойн використовує спеціальну схему підпису під назвою ECDSA на певній еліптичній кривій secp256k1 за замовчуванням, те саме, що Ethereum. Оскільки UTXO контролюється програмованим смарт-контрактом, ми можемо використовувати будь-які альтернативні схеми підпису. Наприклад, ми реалізували Шнорр і BLS підписи.

Ми також реалізували ECDSA на альтернативних кривих, наприклад secp256r1що дозволяє підписувати апаратне забезпечення за допомогою безпечного анклаву пристроїв iOS і Android.

Сховище

А некастодіальне сховище біткойнів було створено, де біткойни, заблоковані всередині, можуть бути передані лише після визначеної користувачем часу затримки. Користувач також може встановити a ліміт витрат на день і білі/чорні спискиміж іншим.

Регулярні платежі

А Сервіс, схожий на Patreon, на біткойнах запроваджено, щоб дозволити повторні платежі.

Мультисиг

Bitcoin має вбудовану підтримку мультисиг з коробки.

ПРИМІТКА:
[1] Розумний контракт називається Платіть на хеш відкритого ключа (П2ПКХ).

Дивіться: Blockchain: Data Power Ups і NFT для кіберспорту та онлайн-ігор

width=”562″ height=”315″ frameborder=”0″ allowfullscreen=”allowfullscreen”>

Не знайомі з біткойнами? Перегляньте CoinGeek Bitcoin для початківців найкращий путівник із ресурсами, щоб дізнатися більше про біткойн (як його спочатку задумував Сатоші Накамото) та блокчейн.

Source link

Поділіться своєю любов'ю