Технологія Blockchain простою мовою


Технологія Blockchain простою мовою - блог Guland

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

Але тисячі людей більше нетехнічні, ніж технічні та їм варто пояснити, що це таке Блокчейн простими словами.

Як правильно поставити запитання про Blockchain

Якщо Вас цікавить більш технічне визначення Блокчейна, тоді читайте цю статтю.

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

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

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

І це проблема сучасних систем. Щоб виконати переказ коштів між собою, ми залежимо від окремих третіх сторін.

Протягом багатьох років ми залежали від цих посередників. Ви можете запитати: «Яка проблема полягає в цій залежності?». Проблема в тому, що вони є єдиними в своєму роді, без альтернативи. Якщо в суспільстві потрібно зробити хаос, то для цього достатньо однієї людини / організації, які навмисно або ненавмисно зашкодять всій системі.

Може є система, в якій ми можемо переказувати гроші без необхідності банку?

Щоб відповісти на це питання, нам доведеться копнути глибше і задати собі краще запитання (адже тільки кращі питання дають кращі відповіді).

Подумайте про це на секунду, що означає переказ коштів? Просто запис в реєстрі. Тоді питання краще – чи існує спосіб зберігати реєстр серед нас, а не щоб це робила третя сторона? І як ви, можливо, вже здогадалися, відповіддю на це питання буде Blockchain.

Тепер, коли з’явилося кілька питань, ми розповімо, як працює технологія Блокчейн простою мовою.

Технологія Блокчейн на пальцях

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

Скільки необхідно людей? Принаймні три.

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

Технологія Блокчейн на пальцях - блог Guland

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

  1. Порожня папка

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

  2. Коли відбувається транзакція

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

    Тепер, припустимо, що №2 хоче відправити $10 №9. Для здійснення транзакції №2 повідомляє кожному: «Я хочу перевести 10 баксів номеру 9. Тому, будь ласка, всі відзначте це на своїх сторінках».

    Кожен перевіряє, чи достатньо грошей у №2, щоб перевести $10 №9. Якщо балансу вистачає, кожен робить примітку про транзакції на своїх порожніх сторінках.

    Транзакція вважається завершеною.

  3. Операції продовжують відбуватися

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

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

    Прийшов час відкласти сторінку в папці, дістати нову сторінку і повторити процедуру з кроку 2.

  4. Захист сторінки

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

Це поняття носить ім’я «Майнінг».

Сподіваємося, ми поки пояснюємо, що таке Блокчейн на зрозумілій мові. Так? Тоді рухаємося далі.

Як відбувається запечатування сторінки?

Перш ніж ми дізнаємося, як ми можемо запечатати сторінку, ми розглянемо, як працює друк в цілому.

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

Ця машина називається функцією Hash, але так як стаття не дуже технічна, то будемо називати її простими словами. Отже, на сьогодні це «Магічні машини».

Припустимо, Ви відправите номер 4 з одного боку, а з іншого боку отримали слово: «acbcad».

Як відбувається запечатування сторінки - блог Guland

Як вона перетворила номер 4 в це слово? Ніхто не знає. Але головне, це незворотний процес. З огляду на слово «acbcad», неможливо сказати, що відправляли в машину спочатку. Але кожен раз, коли ви відправляєте номер 4, машина завжди буде викидати одне і те ж слово «acbcad».

Давайте спробуємо відправити інший номер. Як щодо 26? На цей раз ми отримали «94c8e». Цікаво! Отже, слова можуть містити і номера.

Подумайте над наступним питанням: «Чи можете ви сказати, що слід відправити, щоб на виході отримати слово, яке починається з трьох нулів? Наприклад, 000ab або 00098 або 000fa або що-небудь інше».

Як відбувається запечатування сторінки - блог Guland

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

Можна припустити про один метод. Чому б не спробувати відправити кожне число у всесвіті один за іншим, поки не отримаємо слово, яке починається з трьох нулів?

Будучи оптимістом, після декількох тисяч спроб ми отримаємо потрібний результат.

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

Наскільки важко вам відповісти, якщо є цифра, скажімо 72533 і Вас запитають: «Чи дійсно цей номер при введенні в машину дає слово, яке починається з трьох нулів?».

Все, що вам потрібно зробити, це відправити номер в машину і подивитися, що вийде на виході.

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

Давайте запам’ятаємо цю властивість магічних машин (або хеш-функцій):

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

Як застосовувати ці машини для друку сторінки

Ми використовуємо цей магічний апарат для створення друку на нашій сторінці. Як завжди, ми почнемо з уявної ситуації.

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

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

Після кількох тисяч спроб натикаємося на число, скажімо, 13122, яке після додавання до 10794 (тобто 13122 + 10794 = 23916) і подачі в машину, дасть слово, яке задовольняє нашим вимогам.

У такому випадку цей номер 13122 стає печаткою на номер 10794. Припустимо, що є сторінка, на якій написано номер 10794. Щоб закріпити цю сторінку (тобто ніхто не зможе змінити її зміст), ми розмістимо на ній значок «13122». Як тільки номер ущільнення (тобто 13122) наклеєний на сторінці, сторінка запечатана.

Номер ущільнення називається «Доказ роботи» ( «Proof Of Work»), а це означає, що це число є доказом того, що було зроблено спробу його обчислити.

Ми будемо називати це простою мовою «номер ущільнення» для наших цілей.

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

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

Запечатування сторінки

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

Запечатування сторінки - блог Guland

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

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

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

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

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

Але що робити, якщо у когось номер опечатування, який був анонсований, не збігся із номером даних? Такі випадки не є незвичайними. Можливими причинами цього можуть бути:

  • Помилка в номері транзакції, який був оголошений в мережі.
  • Помилка в обліках транзакцій, які були оголошені в мережі.
  • Обман, щоб отримати вигоду для себе або когось іншого в мережі.

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

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

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

Дуже хороше запитання. Саме тому була придумана система заохочень. Кожен, хто є учасником Blockchain, має право на винагороду. Перший, хто розраховує номер ущільнення, отримує винагороду за свої зусилля.

Просто уявіть, що якщо №5 обчислює номер ущільнення сторінки, він отримує за це винагороду. Іншими словами, баланс аккаунта №5 збільшується без зменшення балансів облікових записів інших користувачів.

Ось так з’явився Біткоін. Це була перша валюта, яка стала використовуватися на Blockchain (тобто розподілених регістрах). І для того, щоб продовжувати роботу в мережі, людям нараховувалися Біткойни.

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

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

Боротьба з шахрайством

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

Насправді, для обчислення номера ущільнення в Blockchain, замість двох кодів, є три – два заздалегідь заповнені, а один – для розрахунку.

Коли зміст всіх цих трьох коробів додають і подають в машину, відповідь на виході, повинна відповідати необхідним умовам.

Ми вже знаємо, що в одній коробці міститься список транзакцій, а в іншій коробці буде вказано номер ув’язнення. Третя коробка містить висновок магічної машини для попередньої сторінки.

Боротьба з шахрайством - блог Guland

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

Якщо один з десяти, які ми собі уявили спочатку намагається обдурити і змінити вміст Blockchain (папку, яка містить сторінки з переліком транзакцій), йому доведеться відрегулювати кілька сторінок, а також обчислити нове ущільнення номера для всіх цих сторінок. Ми знаємо, як важко розрахувати все це. Тому один нечесний хлопець в мережі не може побити дев’ять чесних хлопців.

Що станеться з тією сторінкою? Нечесний хлопець, намагаючись обдурити, буде створювати ще одну мережу в мережі, але цей ланцюжок ніколи не зможе наздогнати чесний ланцюжок – просто тому, що зусилля і швидкість одного хлопця не можуть бути сукупними зусиллю і швидкості дев’яти. Це означає, що найдовший ланцюг в мережі – чесний ланцюг.

Що робити, якщо, замість одного, шість хлопців стають нечесними? В такому випадку протокол буде вразливий. І це відомо як «51% атаки». Якщо більшість людей в мережі вирішили перетворитися в нечесних і обдурити іншу частину мережі, протокол не досягне своєї мети.

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

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

Просто про Блокчейн для початківців (відео)


Сподобалася стаття? Будь ласка, оцініть і поділіться:

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд
Loading...

Вам також буде цікаво

Додайте коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *