Сучасна диджитал-освіта для дітей — безоплатне заняття в GoITeens ×
Mazda CX 30
×

Не ваші ключі — не ваші біткоіни

Справедливо і для інших криптовалют, але сьогодні не про них...

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

Який гаманець обрати

У випадку з біткоіном у вас завжди є вибір гаманця, яким користуватись. Серед можливих: онлайн гаманці, де просто потрібно зареєструватись, щоб увійти у цей фінансовий простір, власна нода — потрібно ресурси і базові знання для успішного розгортання та утримання, апаратні гаманці — де потрібен пристрій для користування, який щось коштує.

Онлайн гаманці можна ще трохи розділити: гаманці, де можна лише зберігати кошти, і де можна кошти одного виду міняти на іншого виду.

Здається, що з мінімальними затратами зусиль можна користуватись онлайн гаманцем, і ні в чому собі не відмовити. Але якщо трішки задуматись, то ризики все ж є: якщо скомпрометували сервіс вашого онлайн гаманця, то відбуваються фінансові втрати з вашого боку. Якщо сервіс став недоступним в силу атаки типу відмова в обслуговуванні — знову втрати з вашого боку. Якщо власник сервісу виявився недобросовісним і заволодів довіреними коштами — знову втрати з вашого боку. Нарешті, якщо різко змінилась ціна активу, і гаманець з функцією обміну перестав приймати запити — і тут фінансові втрати.

«Що ж у такому випадку робити?» невільно випливає питання. Невже розгортати свою ноду, чи купувати апаратний гаманець? Такі варіанти можливі, і навіть бажані, з точки зору розвитку мережі і компаній, що випускають апаратні рішення, але є і інші методи.

Що таке мультипідпис

Найпростішим рішенням, з точки зору користувача, є використання онлайн гаманця, але за способом зберігання, де ключ не покидає пристрій, з якого ви проводите транзакції. Але і тут є ненульова ймовірність, що пристрій скомпрометують, а це знову веде до втрати коштів. Тому потрібно додати ще одну умову: на пристрої буде ваш ключ, який ні в якому випадку не потрібно щоб покинув його межі, а з боку сервісу — інший ключ, який необхідний для гарантування цілісності коштів на випадок компрометації вашого пристрою. І такий механізм існує в мережі біткоін з 2011 року, і зветься OP_CHECKMULTISIG. Або мультипідпис. Цей механізм дозволяє створювати адреси( вони ж гаманці), для витрачання коштів з яких потрібно певна кількість ключів. Найбільш розповсюджений з таких «2 з 2». Тобто для того, щоб витратити кошти потрібно підпис від вашого ключа і підпис від ключа сервісу.

Тепер, коли відомо, що існує такий спосіб убезпечити свої кошти, потрібно і про його недоліки згадати. Якщо ви втратили свій ключ — то ніхто вам кошти не поверне. Якщо сервіс став недоступним, і не підписує з іншого боку вашу транзакцію, кошти також втрачені.

Щодо сервісу — тут все просто, сервіс вам може надати підписані зі свого боку транзакції на всі кошти, що ви зберігаєте, і у разі якогось негаразду з сервісом, ви просто підпишете транзакції і переведете кошти у інше місце. От з втратою вашого ключа важче.

HD-гаманець

«Знову якесь недоречне рішення», може здатись, але і тут за 10 років знайшлись підходи для пом’якшення. Щоб не втратити кошти, коли загубився пристрій, ключ можна використати певного типу, як-то мнемонічний ключ. По суті це набір слів, які транслюються у достатню кількість бітів, щоб закодувати ваш приватний ключ. І цей набір слів можна розділити за якимось правилом і зберегти у кількох місцях, щоб повний набір слів потім можна було відновити, але при цьому не зберігати весь набір у одному місці. Єдина незручність у тому, що кожен окремий гаманець(він же ключ), це окремий набір цих слів. Тому у 2013 був доданий HD-гаманець. Це щось на кшталт майстер паролю, але в світі криптовалютних гаманців. Тут потрібно трішки заглибитись у природу походження ключів.

Еліптична крива

Так сталось, що для створення гаманців у мережі біткоін було обрано асиметричну криптографію на еліптичних кривих, і парами відкритий/закритий ключ слугують точки на еліптичних кривих. Так от HD-ключі, це ключі — які породжені додаванням точки на кривій самої до себе кілька разів. Як не дивно, сума точок на еліптичній кривій — теж точка на еліптичній кривій, тому також може слугувати ключем для адреси (гаманця). За таких умов можна з одного ключа породити ціле сімейство ключів.

У цього підходу є одна перевага і один недолік: перевага у тому, що не потрібно генерувати на кожен гаманець (адресу) новий ключ (генерація ключів — коштовна операція, з точки зору обчислювальних ресурсів), проте компрометація HD-ключа веде до втрати ключів від всього сімейства гаманців.

Що таке Segwit/Schnorr підпис

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

Все так і було до недавнього часу, хоча в 2017 і був створений новий тип адрес, який відділяв підпис транзакції від тіла транзакції (segwit), а платити комісію, все одно потрібно, хоч вже й меншу. Але нещодавно (в листопаді 2021) був добавлений ще один метод, що радикально спростив життя користувачам MULTISIG адрес, так званий Schnorr підпис, який дозволив робити транзакції мультипідпису, що абсолютно не можна відрізнити від одиночного підпису(MuSig). Це досягається за рахунок того, що сам підпис перетворився в точку на еліптичній кривій, замість хеша, а, як відомо, сума точок на еліптичній кривій — точка на еліптичній кривій.

Роль відкритого коду у виборі сервісу гаманця

Всі припущення викладені вище можна розбити одним аргументом, «як перевірити заявлені сервісом характеристики?», адже в еру маркетингу дуже складно не вестись на гарну обгортку. І у цьому випадку як ніде, працює девіз Don’t trust. Verify. А перевірити можна лише щось доступне для перевірки. Тому варто звернути увагу на доступність коду гаманця у відкритому доступі, це хоч і не гарантує, що сервіс використовує саме опублікований код, але дає можливість зібрати з коду свою копію додатку чи сервісу для власних потреб, рівно як і вивчити, які методи застосовані для убезпечення коштів. Звісно, для цього потрібно володіти достатніми знаннями і вміннями, щоб це зробити, але щось, краще ніж нічого, у даному аспекті.

Нестандартні застосування Multisig адрес

Після того, як виявилось, що у однієї адреси може бути не один ключ, на думку спадає така собі ідея. Якщо сервіс, припустимо, надає якусь послугу, і хоче мати гарантію, що споживач послуги має кошти, щоб оплатити її у повному об’ємі, (а це хоч і можна перевірити, але складно), то сервіс може зі споживачем укласти таку собі «асоціацію». Сервіс генерує приватний ключ зі свого боку, споживач — зі свого, з цих двох ключів створюється спільний гаманець з мультипідписом «2 з 2». І споживач переказує кошти на цей проміжний гаманець, а коли сервіс надав послугу у повному об’ємі, споживач підписує зі свого боку транзакцію на переказ коштів зі спільного гаманця на гаманець, який вкаже сервіс. Це, щоправда, потребує якоїсь репутаційної складової у сервісу, але убезпечує від споживачів, які не мали на меті оплатити отриману послугу. Щось схоже на платіжні канали у Lightning Network, але трішки простіше.


Висновки

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

PS: навіяно проєктом «закону про віртуальні активи» в редакції від 20.09.2021

👍ПодобаєтьсяСподобалось2
До обраногоВ обраному3
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Из бумажных кошельков можно сделать крипто — чековую книжку. На каждом paper wallet разместить по необходимой сумме.

Аппаратный кошелек это все что нужно. Неудобно, но зато спишь нормально и спокойно лазишь по порносайтах без боязни подцепить какого-то трояна который угонит все твои денюжки.

Сид фраза тоже надежно спрятана: в закрытом гитхабе скриптик генерящий словарь, в парольном менеджере сид фраза в виде порядковых номеров слов в том словаре. То есть злоумышленнику придется хакнуть и гитхаб, и парольный менеджер, и еще понять что к чему. Короче только с помощью паяльника он сможет получить сид фразу.

И всему интернету рассказать о своей гениальной схеме «security through obscurity». Отлично сочетается с потерей активов в случае смерти или нещастного случая а также с утечками данных приводящими к атаке «гаечным ключем за 5$».

И всему интернету рассказать

Не льстите так Максу Ищенко )

Отлично сочетается с потерей активов в случае смерти или нещастного случая

Ну да, после смерти это так будет меня волновать )

Есть множество вариантов решения:
1. Физическая копия где-то в сейфе или в банковской ячейке
2. Держать деньги в смарт контракте который бы через, скажем, год неактивности перевел бы деньги на заранее указанный адрес (жены, детей, благотворительность)
3. Не держать вся яйца в одной корзине. Есть множество онлайн кошельков типа crypto.com которые еще платят тебе дивиденды(5-10%). И какая-то сума там даже застрахована. Итого, закинуть по 50к на каждый из таких сервисов, остальное держать на холодном кошельке.

Коментар порушує правила спільноти і видалений модераторами.

сатошиваллет — наше все...
пока не начнут зависать транзакции.
Потом — blue wallet, пока не станет стремно...
Потом уже полноценная нода, свои каналы в lightning, железо и прочие извращения.

Хотел прочитать этот Закон «Про віртуальні активи», но в каюте плохо ловило и я вышел на палубу. Поднял повыше телефон, но тут подул ветер и мне в глаза попала вода, и как раз в этот момент огромный альбатрос выхватил телефон на котором были единственные ключи от кошелька и улетел.

Кто-то может вкратце пересказать суть закона?

легализация якобы намайненного чиновниками. «Лотереи» уже не канают

Підписатись на коментарі