Ви коли-небудь замислювалися, чому чужий BTC-гаманець не може отримати ту ж адресу, що й ваш? Або чому хтось не може згенерувати таку ж seed-фразу, як ти? Адже це лише кілька слів! У цій гілці ми аналізуємо цифри, досліджуючи, наскільки добре біткоїн захищає ваше багатство. 🧵⬇️
Існує 3 основні інструменти, які протокол біткоїна використовує для захисту вашого багатства, які варто розуміти: Ентропія, хеш-функції та асиметрична криптографія. Кожен із них широко використовується у світі цифрової безпеки, навіть поза біткоїном. Давайте коротко пояснимо кожну з них.
По-перше: ентропія. Це вишукана, лаконічна назва для «непередбачуваної випадковості». Якщо вибрати дуже велике число випадково, непередбачувано, жоден комп'ютер не зможе його вгадати (якщо число достатньо велике!). Тоді у вас буде захищений секрет.
Наскільки велика цифра є достатньою? NIST рекомендує 2^112 біт (тобто 112 біт) або більше для ефективної безпеки. Для довідки: вся мережа майнінгу біткоїна наразі робить близько 2^79 вгадувань кожні 10 хвилин. Але 2^112 — це більш ніж у 8 мільярдів разів більше, ніж це!
Крім того, 12-слівна початкова фраза означає ще більшу ентропію: 2^128. (Кожне слово представляє 11 бітів. 11*12 = 132, мінус 4 біти для контрольної суми.) 2^128 приблизно у 65 000 разів сильніший за рекомендацію NIST!
Щоб хтось вгадав конкретну seed-фразу, це як позичити всі глобальні майнінгові машини для біткоїна і робити здогадки приблизно на 10,7 мільярда років. Теоретично це можливо, але нерозумно думати, що це коли-небудь станеться, якщо дотримуватися найкращих практик.
Друге: хеш-функції. Хеш-функції чудові, бо можна ввести будь-які дані (які називаються преобразом), і вони видадуть унікальне число між 0 і верхньою межею функції (особливо відомий SHA-256, з діапазоном до 2^256). Можна було ввести слово, сторінку, книгу.
Ці функції односторонні. Вихід можна легко знайти з входу. Однак, якщо у вас є лише вихід, ви не зможете знайти вхід без здогадки. Навіть виходи з подібних входів з незначними змінами (наприклад, великими літерами) виглядають зовсім інакше і випадково:
Отже, хеш-вихід має подібні властивості до ентропії. Той, хто шукає преобраз, що дає певний хеш-вихід, повинен намагатися вгадувати одну за одною. Поки це займе 2^112 спроб або більше, це неможливо, і преобраз надійний.
Bitcoin використовує SHA-256 для забезпечення незворотності транзакцій, а також SHA-256 або RIPEMD-160 для захисту більшості типів адрес. Отже, щоб один гаманець згенерував ту саму адресу, що й чужа, йому потрібно щонайменше 2^160 спроб, що більш ніж достатньо для безпеки.
Нарешті: асиметрична криптографія. Також відома як криптографія з відкритим ключем або в багатьох контекстах криптографія еліптичних кривих (ECC). У біткоїні ECC використовується, щоб приватний ключ міг створювати публічний ключ, а також підписи для затвердження транзакцій.
Якщо публічний ключ — це достатньо велике число, знову ж таки, потрібно шалено багато здогадок, щоб знайти відповідний приватний ключ. Біткоїн-ключі — це числа в межах простору 2^256. Математика виходить так, що цінність фактично становить половину бітів, тобто 2^128, що є безпечним.
Зрештою, кожен, хто здійснює звичайні операції в економіці біткоїна, захищений стандартами безпеки, які значно виходять за межі рекомендацій NIST і типових паролів від онлайн-банкінгу. Таблиця нижче допомагає уявити ситуацію.
579