Безпека біткоіни це не тільки мультіподпісі

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

Мультіподпісь це інструмент

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

Мультіподпісь це не план з безпеки. Вона може бути потужним компонентом добре розробленого плану з безпеки, тільки не сам план. Просто кажучи "мультіподпісь", не розглядаючи її конкретне застосування, як имено вона використовується і з якою метою ми намагаємося при цьому досягти, ми не говоримо нічого.

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

Створіть адресу з мультіподпісью. Щоб створити таку адресу, вам пртосто потрібно більше одного відкритого ключа. Давайте розглянемо приклад. Аліса, Боб і Чарлі організували зустріч прихильників біткоіни і відкрили збір коштів для цієї затії. Але вони хочуть, щоб одна людина не могла розпоряджатися всіма грошима. Тому Аліса, Боб і Чарлі роблять адресу з мультіподпісью, використавши програмне забезпечення від CoPay. Воно дозволяє вибрати таку конфігурацію, коли потрібно дві з трьох підписів, щоб підписати транзакцію і зробити її дійсної. У цьому випадку можливі такі комбінації користувачів - A & B, B & C, A & C.

Що в цей час відбувається за лаштунками угоди? Їх програмне забезпечення робить дві речі: запускається скрипт з інструкціями, в яких написано, скільки підписів потрібно, які загальні ключі відповідають приватним ключам, які мають повноваження ставити підпис (m-of-n), і бере хеш біткоіни-адреси, пов'язаного зі скриптом. Скрипт також часто називають "скриптом виплати", оскільки він містить вимоги до транзакції, що дозволяє перевести кошти з гаманця з мультіподпісью.

Ви можете думати про скрипт виплати як про набір постійних, незмінних правил управління доступом. Вони обмежують доступ на рівні адреси біткоіни. Це означає, що при пересиланні коштів на якийсь адресу скрипт повинен перевірити відповідність правилам: чи можна зробити транзакцію. Правила створюються при створенні біткоіни адреси і ніколи не можуть бути змінені.У буквальному сенсі слова, правила є частиною самого адреси. Це одне з найсильніших переваг мультіподпісі. Через цю особливість багато хто вважає, що вона більш безпечна, ніж звичайна підпис, вбудована в будь-який біткоіни гаманець. Коли мультіподпісь наспіл як частина цілісного плану безпеки, вона може забезпечити додатковий захист від розтрат, помилок, втрат, шахрайства, відмови точки доступу, так як вимагає участі декількох сторін або використання декількох пристроїв для підтвердження транзакції.

Але зауважимо, що вона не може робити

Ви не можете встановити ліміт на витрату коштів; все, що є на рахунку, можна вивести однієї, правильно підписаної транзакцією.

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

У неї немає денного ліміту на кількість транзакцій: ви можете створювати тисячі транзакцій в хвилину.

У неї немає повідомлень; ви не отримуєте смс або електронної пошти, коли стан рахунку змінилося.

Засоби управління доступом не належать до поняття мультіподпісі. На цьому етапі у вас можуть виникнути складнощі з вибором, так як багато постачальників гаманців для біткоіни пропонують мультіподпісі і інші додаткові послуги. Вони рекламують додаткові послуги як засоби безпеки та управління. Але вам потрібно врахувати, що це послуги, які надає ПО компанії, а не протокол біткоіни. Це важливо, оскільки означає, що контроль може бути обійдений, ліміти можуть змінитися. У той же час скриптова мова біткоіни продовжує розвиватися, і деякі нові функції, такі, як блокування транзакції за часом, вже реалізовані.Однак вони поки не отримали широкого поширення.

Викриття: сьогоднішні правила не так безпечні, як може здатися. Фактично, рівень безпеки знаходиться на рівні безпеки установок системи комп'ютера. На жаль, багато людей вірять, що цього достатньо.

Тримачі ключів мають можливість автоматичної підписи, заснованої на правилах безпеки. Багато гаманці з мультіподпісямі (але не всі) зараз підтримують автоматичні транзакції, як одну з особливостей контролю коштів на гаманці. У цих реалізаціях компанія гаманця володіє одним з ключів, який використовується для створення адреси з мультіподпісью. Ключ і пов'язане з ним правило підписи під котроль компанії провайдера гаманця, часто називають оракулом або підписом оракула. При створенні адреси на додаток до відкритих ключів компанія гаманця приймає встановлені користувачем правила доступу. Наприклад, користувач може обмежити денний виведення грошей лімітом в $ 1 000. 00. Це означає, що при створенні адреси він задає такі параметри (такого оракула).

Процес підпису зазвичай виглядає приблизно так - користувач створює транзакцію (наприклад на $ 500. 00), підписує її, АИ висилає провайдеру гаманця для перевірочної підпису. Оракул переглядає транзакцію, перевіряє на відповідність правилам (в даному випадку контроль пройдено, так як $ 500 менше $ 1000.. 00), робить перевірочну підпис і випускає транзакцію в мережі біткоіни. Швидко, зручно, ефективно. Чи безпечно? Може бути. Може бути і немає. У всякому разі, процедура виглядає більш безпечною, ніж та, що використовується зараз.

Безпека залежить від великої кількості факторів.І не тільки від того, скільки ключів задіяно в підпису транзакції.

Це залежить від правил і того, як вони виконуються: Хто може змінити ліміти на витрати? Обмеження за часом? Повідомлення?

Коли їх можна змінювати? Чи є період обдумування і переговорів, під час якого ніякі транзакції взагалі не підписуються?

Також залежить від внутрішньої політики безпеки, прийнятої в компанії: Хто має доступ до оракула або ключам підпису? Коли робляться резервні копії і хто має доступ до них? Хто пише програмне забезпечення для оракула і чи має воно відкритий вихідний код? Це тільки крихітна частина прикладів завдань в області безпеки, які не вирішує мультіподпісь. Мультіподпісь значить, що більше ніж один ключі може використовуватися при завданні стартових параметрів адреси. Нічого більше. Це не синонім до слова безпеку. Сама по собі вона не зробить зберігання ваших коштів на гаманці більш безпечним.

Безпека не можна передавати на аутсорс. Ми всі повинні припинити плутати передачу права підпису на аутсорс з передачею на аутсорс безпеки. Просто передача підписання ключів і визначення правил політики безпеки третій стороні не захистить ні вас, ні ваших клієнтів. Нам потрібні стандарти безпеки, такі, як CCSS, і щорічні перевірки з аудитом безпеки. Ще більш важливим є те, що нам потрібно зрозуміти, які існують ризики насправді, і точно пояснити ризики користувачам.

Нарешті, завжди пам'ятайте: "Втративши особистих ключів, ви втратили грошей. "

Примітки: 1. Якщо ви читаєте цю статтю, я впевнений, що ви розумієте основи біткоіни. Безпека біткоіни забезпечується за рахунок криптографії з відкритим ключем.2. Технічно, ця можливість називається P2SH (скорочення від pay-to-script-hash), а не мультіподпісь. Однак мультіподпісь є однією з найпоширеніших реалізацій P2SH.