Що таке «блокчейн»?
Якщо ви останнім часом спостерігали за новинами, можливо, ви чули про те, що називається блокчейн. Це концепція, яка робить дані надзвичайно безпечними для конкретних цілей. Ви, напевно, почули це у зв'язку з Bitcoin, але він має додатки далеко за межами улюблених криптовалют. Ось короткий опис того, як він працює.
Все починається з шифрування
Щоб зрозуміти блокхейн, потрібно розуміти криптографію. Ідея криптографії набагато старше, ніж комп'ютери: вона просто означає перестановку інформації таким чином, що потрібна певна клавіша, щоб її зрозуміти. Проста іграшка кільця декодера, яку ви знайшли у вашій упаковці Kix, є формою найпростішої криптографічної клавіші (також відомої як шифр), яка замінює літеру на номер, запускає повідомлення через ключ, а потім видає ключ до когось іншого. Кожен, хто знаходить це повідомлення без ключа, не може його прочитати, якщо тільки він не "зламаний". Військові використовували більш складну криптографію задовго до комп'ютерів (кодування Enigma Machine і декодування повідомлень під час Другої світової війни, наприклад).
Сучасне шифрування, однак, цілком цифрове. Сьогоднішні комп'ютери використовують методи шифрування, які є настільки складними і настільки надійними, що їх неможливо розбити простою математикою, яку роблять люди. Однак технологія комп'ютерного шифрування не є досконалою; вона все ще може бути "зламаною", якщо достатньо розумних людей атакувати алгоритм, і дані все ще залишаються вразливими, якщо хтось в стороні від власника знаходить ключ. Але навіть шифрування на рівні споживачів, як 128-бітове шифрування AES, яке зараз є стандартним для iPhone та Android, достатньо для того, щоб зберегти заблоковані дані від ФБР.
Blockchain - це спільна, безпечна книга даних
Шифрування зазвичай використовується для блокування файлів, тому до них можуть звертатися лише окремі користувачі. Але що, якщо у вас є інформація, яка повинна розглядатися всіма, наприклад, бухгалтерською інформацією для урядового органу, який повинен бути публічним за законом, і він має бути безпечним? У вас є проблема: чим більше людей може бачити і редагувати інформацію, тим менше вона буде безпечною.
Блок-ланцюги були розроблені для задоволення потреб у безпеці цих конкретних ситуацій. У блокчейн, кожен раз, коли інформація отримується і оновлюється, зміна записується і перевіряється, потім закривається шифруванням, неможливо знову редагувати. Потім набір змін зберігається і додається до загального запису. Наступного разу, коли хтось вносить зміни, він починається знову, зберігаючи інформацію в новому «блоці», який зашифрований і приєднаний до попереднього блоку (отже, «ланцюг блоків»). Цей повторюваний процес з'єднує першу версію набору інформації з останньою версією, тому кожен зможе побачити всі зроблені зміни, але може лише внести та змінити останню версію..
Ця ідея є стійкою до метафори, але уявіть, що ви в групі з десяти людей, які збирають набір LEGO. Ви можете тільки додати один шматок за один раз, і ніколи не можете видалити будь-які частини взагалі. Кожен член групи повинен узгодити, де саме йде наступний фрагмент. Таким чином, ви можете побачити всі фігури в будь-який час назад до самого першого твору в проекті, але ви можете змінити лише останній фрагмент.
Уявіть собі спільний документ, наприклад, таблицю в Документах Google або Office 365. Кожен, хто має доступ до документа, може редагувати його, і кожен раз, коли вони це роблять, змінюється і записується як нова електронна таблиця. потім заблоковано в історії документів. Таким чином, ви можете повернутися крок за кроком через внесені зміни, але ви можете додавати інформацію лише до останньої версії, не змінювати попередні версії електронної таблиці, які вже були заблоковані.
Як ви, напевно, чули, ця ідея безпечної, постійно оновлюваної «бухгалтерської книги» в основному застосовується до фінансових даних, де вона має найбільший сенс. Розподілені цифрові валюти, такі як Bitcoin, є найпоширенішим використанням блокчейн - насправді, перший був зроблений для Bitcoin і ідея розповсюдилася звідти.
Технічні речі: крок за кроком, блок за блоком
Як усе це дійсно відтворюється на комп'ютері? Це поєднання криптографії та однорангової мережі.
Можливо, ви знайомі з спільним використанням однорангових файлів: службами, такими як BitTorrent, які дозволяють користувачам завантажувати та завантажувати цифрові файли з декількох місць більш ефективно, ніж з одного з'єднання. Уявіть "файли" як основні дані в blockchain, а процес завантаження - як криптографія, яка підтримує її оновлення та безпеку.
Або, щоб повернутися до нашого прикладу Документів Google вище: уявіть, що спільний документ, над яким ви працюєте, не зберігається на сервері. Натомість, він знаходиться на комп'ютері кожної людини, який постійно перевіряє та оновлює один одного, щоб переконатися, що ніхто не змінив попередні записи. Це робить його "децентралізованим".
Це основна ідея блокейна: це криптографічні дані, які постійно доступні та захищені одночасно, без будь-якого централізованого сервера чи сховища, з записами змін, які включаються до кожної нової версії даних.
Таким чином, ми маємо три аспекти, які слід враховувати в цьому відношенні. По-перше, мережа однорангових користувачів, у яких зберігаються копії запису blockchain. По-друге, дані, які ці користувачі додають до останнього «блоку» інформації, дозволяють їй оновлюватися і додаватися до загального запису. Три, криптологічні послідовності, які генерують користувачі для узгодження останнього блоку, блокуючи його на місце в послідовності даних, що формує запис.
Це що останній шматочок that''s таємний sauce у blockchain бутерброд. Використовуючи цифрову криптографію, кожен користувач допомагає своїм комп'ютером, щоб допомогти вирішити деякі з цих надзвичайно складних математичних проблем, які забезпечують безпеку запису. Ці надзвичайно складні рішення, відомі як «хеш» - вирішують основні частини даних у записі, подібно до яких облікових записів додаються або віднімаються гроші в бухгалтерському обліку, і де ці гроші надходили або надходили. Чим більше щільні дані, тим складніше криптографія, і чим більше необхідна обчислювальна потужність для її вирішення. (Тут, до речі, виходить ідея «видобутку» в Bitcoin.)
Отже, підсумовуючи, ми можемо думати про блокчейн - це частина даних, яка є:
- Постійно оновлюється. Користувачі Blockchain можуть отримати доступ до даних у будь-який час і додати інформацію до нового блоку.
- Розподілений. Копії даних блокчейн зберігаються і захищаються кожним користувачем, і всі повинні узгоджувати нові додатки.
- Підтверджено. Обидва зміни до нових блоків і копії старих блоків повинні бути узгоджені всіма користувачами за допомогою криптографічної перевірки.
- Безпечний. Недопущення старих даних та зміна методу забезпечення нових даних запобігається як криптографічним методом, так і нецентралізованим зберіганням самих даних..
І вірте це чи ні, це стає ще складніше, ніж це… Але це основна ідея.
Блокчейн в дії: Покажіть мені (цифрові) гроші!
Отже, давайте розглянемо приклад того, як це стосується криптовалюти, як Bitcoin. Скажімо, у вас є один Bitcoin, і ви хочете витратити його на новий автомобіль. (Або велосипед, або будинок, або малий до середнього острова нація-але багато Bitcoin коштує цього тижня.) Ви підключаєтеся до децентралізованої Bitcoin blockchain з вашим програмним забезпеченням, і ви відправляєте свій запит, щоб передати ваш Bitcoin до продавця автомобіля. Ваша транзакція потім передається в систему.
Кожна людина в системі може її побачити, але ваша ідентичність і ідентичність продавця є лише тимчасовими підписами, крихітними елементами величезних математичних проблем, які формують серце цифрової криптографії. Ці значення підключаються до рівняння blockchain, і сама проблема "вирішується" членами мережі рівноправного генерування криптографічних хешей.
Після перевірки транзакції один Bitcoin переміщується від вас до продавця і записується на останній блок у ланцюжку. Блок закінчений, запечатаний і захищений криптографією. Починається наступна серія транзакцій, і блокчейн росте довше, містить повний запис всіх транзакцій кожного разу, коли він оновлюється.
Тепер, коли ви вважаєте блокчейн “безпечним”, важливо зрозуміти контекст. Індивідуальні транзакції є безпечними, а загальний запис є безпечним, доки методи, які використовуються для забезпечення криптографії, залишаються "неруйнованими". (І пам'ятайте, що цей матеріал є дійсно важко розірвати - навіть ФБР не може зробити це з простими обчислювальними ресурсами поодинці.) Але найслабшою ланкою в blockchain є, ну, ви - користувач.
Якщо ви дозволяєте іншому користуватися вашим персональним ключем для доступу до ланцюжка, або якщо вони його знайдуть, просто увійшовши до вашого комп'ютера, вони можуть внести доповнення до blockchain з вашою інформацією, і немає можливості їх зупинити. Ось як Bitcoin "крадеться" у високо оприлюднених атаках на основних ринках: це компанії, які працювали на ринках, а не сам блок Bitcoin, який був скомпрометований. І оскільки вкрадені Bitcoins передаються анонімним користувачам, через процес, який перевіряється блокейном і записується назавжди, немає способу знайти зловмисника або отримати Bitcoin.
Що ще можна зробити Blockchains?
Технологія Blockchain почалася з Bitcoin, але це така важлива ідея, що вона не залишалася там довго. Система, яка постійно оновлюється, доступна будь-кому, перевірена нецентралізованою мережею, і неймовірно безпечна, має багато різних додатків. Фінансові установи, такі як JP Morgan Chase і австралійська фондова біржа, розробляють системи блокчейн для захисту та розповсюдження фінансових даних (для звичайних грошей, а не криптовалют, як Bitcoin). Фонд Білла і Мелінди Гейтс сподівається використовувати системи blockchain для надання безкоштовних, розподілених банківських послуг мільярдам людей, які не можуть дозволити собі регулярний банківський рахунок.
Інструменти з відкритим кодом, такі як Hyperledger, намагаються зробити блокчейн техніку доступною для більш широкого кола людей, в деяких випадках це не вимагає величезних обчислювальних потужностей, необхідних для забезпечення інших конструкцій. Спільні робочі системи можуть бути перевірені та записані за допомогою методів блокчейн. Майже все, що потрібно постійно записувати, отримувати доступ і оновлювати, можна використовувати таким же чином.
Зображення: posteriori / Shutterstock, Льюїс Це Пуй Лун / Шуттерсток, Зак Коплі