Почнемо з визначення:
Але що це за завдання? Для того, щоб відповісти на це питання, спочатку розберемося з тим, що таке хеш. Хеш, або хеш-функція - це алгоритм, який перетворює будь-які вихідні дані, будь то файл, картинка або текст, в послідовність літер і цифр певної довжини. Причому робить це так, що різні вихідні дані дають різний результат (в іншому випадку, якщо різні вихідні дані дають однаковий хеш, це називають колізією - зіткненням, і це, взагалі кажучи, вразливість).
Блокчейн (blockchain, ланцюжок блоків) - вибудувана за певними правилами безперервна послідовна ланцюжок криптографически пов'язаних блоків, що містять інформацію.
Розглянемо на прикладі, як працює блокчейн. Створюємо файл і записуємо в нього фразу «Привіт світ-1». Вважаємо його хеш-суму з будь-якого алгоритму - найпоширеніший це sha256. Припустимо, при цьому ми отримали рядок А (насправді вона довша і різноманітніше десь в 64 рази, але для наочності спростимо ситуацію). Тепер створюємо другий файл, записуємо в нього фразу «Привіт світ-2» і наступної рядком пишемо А. Зберігаємо файл і вважаємо його хеш - він виявляється, припустимо, B. Тепер створюємо третій файл, записуємо в нього «Привіт світ-3» і B, зберігаємо, вважаємо хеш - він виявляється С, створюємо новий файл, і так далі. Вітаємо самі себе зі створенням найпростішого блокчейна - всі попередні файли зав'язані на найперший, тобто все блоки - елементи одного ланцюжка. При цьому найперший блок називається Genesis Block (первинний блок), він розглядається окремо, так як у нього відсутня батьківський блок.
Зрозуміло, виникає питання - а як перевірити цілісність мережі, може бути 10001 блок був отриманий не з 10000, а з голови? Та дуже просто - в кожному наступному файлі записаний кеш попереднього. І так можна рекурсивно «спуститися» аж до самого першого блоку. Якщо десь кеш не збіжиться - значить, в мережу були внесені зміни.
Регуляція в мережі біткойнов