Поділитися цією статтею

Пояснення хеш-функцій Bitcoin

Все, що ви завжди хотіли знати про хешування Bitcoin , але боялися запитати.

Автор Corin Faife
Оновлено 11 вер. 2021 р., 1:06 пп Опубліковано 19 лют. 2017 р., 12:35 пп Перекладено AI
bitcoin, computer

Кожен, хто цікавиться Bitcoin , колись чув фразу «криптографічна хеш-функція». Але що саме це означає і як це пов’язано з Криптовалюта?

Хеш-функції є важливою частиною не лише протоколу Bitcoin , але й інформаційної безпеки в цілому.

Продовження Нижче
Не пропустіть жодної історії.Підпишіться на розсилку Crypto Daybook Americas вже сьогодні. Переглянути всі розсилки

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

Що таке хеш-функція?

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

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

Цей тип хеш-функції зазвичай використовується для зберігання паролів.

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

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

Прості хеш-функції в Python

Ви можете експериментувати з хеш-значеннями за допомогою Python, мови програмування, встановленої в операційних системах Mac і Linux за замовчуванням. (Цей підручник передбачає, що ви використовуєте певну версію OS X або Linux, оскільки використання Python у Windows складніше.)

Спочатку відкрийте термінал, введіть пітон і натисніть ENTER.

Це переведе вас у Python REPL, середовище, де ви можете випробувати команди Python безпосередньо, а не писати програму в окремому файлі.

Потім введіть наступне, натискаючи ENTER після кожного рядка та TAB, де позначено:

import hashlibdef hash(mystring):[TAB] hash_object = hashlib.md5(mystring.encode())[TAB] print(hash_object.hexdigest())[ENTER]

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

hash("CoinDesk rocks")

Натисніть клавішу ENTER, щоб переглянути хеш-дайджест цього рядка.

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

hash("CoinDesk rocks") => 7ae26e64679abd1e66cfe1e9b93a9e85hash("CoinDesk rocks!") => 6b1f6fde5ae60b2fe1bfe50677434c88

Хеш-функції в Bitcoin

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

У видобутку Bitcoin вхідними даними для функції є всі останні, ще не підтверджені транзакції (разом з деякими додатковими вхідними даними, пов’язаними з міткою часу та посиланням на попередній блок).

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

Як базову демонстрацію, ми могли б спробувати «майнінг» за допомогою нашої хеш-функції Python, вручну додавши знаки оклику після «CoinDesk rocks!» поки ми не знайдемо хеш, який починається з одного нуля.

>>> hash("CoinDesk rocks!!")66925f1da83c54354da73d81e013974d>>> hash("CoinDesk rocks!!!")c8de96b4cf781a6373766c668ceac0f0>>> hash("CoinDesk rocks!!!!")9ea367cea6a2cc4a6f5a1d9a334d0d9e>>> hash("CoinDesk rocks!!!!!")b8d43387d98f035e2f0ac49740a5af38>>> hash("CoinDesk rocks!!!!!!")0fe46518541f4739613b9ce29ecea6b6 => ВИРІШЕНО!

Звичайно, розгадуючи хеш для блоку Bitcoin – який на момент написання повинен починатися з 18 нулів – вимагає an надзвичайно великий обсяг обчислень (тому сукупна обчислювальна потужність усіх комп’ютерів у мережі все ще займає приблизно 10 хвилин, щоб вирішити блок).

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

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

Будь-які основи Крипто, які ви хотіли б пояснити далі? Електронна пошта: editors@ CoinDesk.com.

Bitcoin на зображенні клавіатури через Shutterstock

Більше для вас

Protocol Research: GoPlus Security

GP Basic Image

Що варто знати:

  • As of October 2025, GoPlus has generated $4.7M in total revenue across its product lines. The GoPlus App is the primary revenue driver, contributing $2.5M (approx. 53%), followed by the SafeToken Protocol at $1.7M.
  • GoPlus Intelligence's Token Security API averaged 717 million monthly calls year-to-date in 2025 , with a peak of nearly 1 billion calls in February 2025. Total blockchain-level requests, including transaction simulations, averaged an additional 350 million per month.
  • Since its January 2025 launch , the $GPS token has registered over $5B in total spot volume and $10B in derivatives volume in 2025. Monthly spot volume peaked in March 2025 at over $1.1B , while derivatives volume peaked the same month at over $4B.

More For You

Bitcoin утримується поблизу позначки $90K, тоді як Bitfinex попереджає про «крихку ситуацію» щодо шоків

Bitcoin (BTC) price on December 8 (CoinDesk)

Відносна слабкість BTC у порівнянні з акціями свідчить про помірний спотовий попит, що робить найбільшу криптовалюту вразливою до макроекономічної волатильності, заявили аналітики Bitfinex.

What to know:

  • Біткойн ліквідував дуже скромний приріст за ніч рано в понеділок і провів решту сесії у США у вузькому діапазоні біля рівня $90 000.
  • Зростання прибутковості довгострокових облігацій та незначне коригування акцій США вплинули на зниження апетиту до ризику, оскільки трейдери стежать за засіданням Федеральної резервної системи цього тижня.
  • Аналітики Bitfinex відзначили відносну слабкість біткойна щодо акцій США на тлі помірного попиту на спотовому ринку та структурної м'якості.