Прынцып працы блокчейна: хто стварае блокі

Anonim

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

У матэрыяле раскажам, хто стварае і правярае блокі ў блокчейне. Вы даведаецеся як алгарытмы кансенсусу забяспечваюць бяспеку гэтага працэсу.

  1. P2P: дзе выкарыстоўваюцца аднарангавыя сеткі
  2. Шыфраванне ў блокчейне: на пальцах
  3. Блокчейн - ланцужок блокаў транзакцый. Разбіраем вызначэнне па словах
  4. Шыфраванне ў блокчейне: навошта патрэбна лічбавы подпіс
  5. Прынцып працы блокчейна: хто стварае блокі
  6. Для якіх мэтаў і задач падыходзіць блокчейн

Ўспамінаем асноўныя паняцці

  • Аднарангавыя сетку - сетка, у якой вузлы ўзаемадзейнічаюць паміж сабой без пасярэдніка.
  • Блокчейн - разнавіднасць аднарангавыя сетак, ланцужок блокаў транзакцый.
  • Блок - спецыяльная структура для запісу транзакцый.
  • Транзакцыя - запіс аб змене стану актываў.

Недавер у блокчейне

Так як у блокчейне няма сервера, дадаваць і правяраць інфармацыю прыходзіцца самім карыстальнікам. Пры гэтым кожны ўдзельнік можа пераследваць свае асабістыя інтарэсы на шкоду бяспекі блокчейна. Адсюль узнікае праблема недаверу удзельнікаў адзін да аднаго. Каб яе вырашыць, выкарыстоўваюцца матэматычныя алгарытмы, пра якія далей пойдзе гаворка.

Уявіце, што на вашым кашальку ёсць актывы, а іншы карыстальнік блокчейна лічыць, што іх няма. Без старонняга ўмяшання складана вырашыць, хто зь іх двух правоў. Неабходна выбраць сярод карыстальнікаў тых, хто будуць правяраць транзакцыі і дадаваць толькі правільныя. Такіх карыстальнікаў называюць Майнер.

Майнер - удзельнікі блокчейна, якія займаюцца стварэннем новых блокаў і праверкай транзакцый.

Для арганізацыі правільнай працы Майнер неабходна дамовіцца, хто імі будзе і як яны будуць выконваць сваю працу. Гэта няпростая задача, бо трэба прыдумаць такія правілы, выконваць якія Майнер будзе больш выгадна, чым парушаць. Гэта класічны прыклад задачы з тэорыі гульняў: як абраць стратэгію, якая будзе аднолькава выйгрышнай для ўдзельнікаў з рознымі інтарэсамі.

Такая задача была сфармуляваная і вырашана матэматыкамі яшчэ ў мінулым стагоддзі. Цяпер гэтае рашэнне забяспечвае бяспеку як у блокчейне, так і ў іншых складаных тэхналогіях. Каб зразумець, як Майнер атрымоўваецца не парушаць інтарэсы адзін аднаго, разгледзім гэтую задачу падрабязней.

Задача візантыйскіх генералаў

У навуковай артыкуле 1982 г. была сфармуляваная лагічная дылема. Яна ілюструе праблему камунікацыі вузлоў аднарангавыя сеткі, якія дамаўляюцца аб наступным кроку. У якасці аналогіі была выкарыстаная Візантыя - старажытнае феадальная дзяржава з мноствам незалежных армій. Адсюль і ўзялося назва - Задача Візантыйская Генералаў.

Дзеянне адбываецца падчас аблогі горада візантыйскай арміяй. Ноччу легіёны з розных бакоў акружылі горад. Генералы кожнага легіёна чакаюць загаду галоўнакамандуючага. Варыянты загаду: «атакаваць» або «адступаць».

Прынцып працы блокчейна: хто стварае блокі 21098_1
Генералы чакаюць загаду галоўнакамандуючага, каб вырашыць «атакаваць» або «адступаць»

Першая складанасць задачы - імперыя знаходзіцца ў заняпадзе. Любы з генералаў і нават галоўнакамандуючы могуць быць здраднікамі Візантыі, зацікаўленымі ў паразе. Генералам трэба гэта ўлічваць, каб не дапусціць неспрыяльнага зыходу. Усяго магчыма тры зыходу бітвы:

Спрыяльны зыход. Калі ўсё генералы атакуюць - Візантыя знішчыць праціўніка.

Прынцып працы блокчейна: хто стварае блокі 21098_2

Прамежкавы зыход. Калі ўсё генералы адступяць - Візантыя захавае сваё войска.

Прынцып працы блокчейна: хто стварае блокі 21098_3

Неспрыяльны зыход. Калі некаторыя генералы атакуюць, а некаторыя адступяць - праціўнік з часам па частках знішчыць усю армію Візантыі.

Прынцып працы блокчейна: хто стварае блокі 21098_4

Калі кожны генерал будзе дзейнічаць на сваё меркаванне, то верагоднасць спрыяльнага зыходу вельмі нізкая. Таму генералы маюць патрэбу ў абмене інфармацыяй паміж сабой, каб прыйсці да адзінага рашэння.

Другая складанасць ў задачы - адсутнасць надзейнага канала камунікацыі паміж генераламі. Нават калі сярод генералаў не апынецца здраднікаў, інфармацыя можа апынуцца ілжывай. Напрыклад, курьер затрымаецца або трапіць у палон. Такая сітуацыя саб'е з панталыку іншых генералаў і будзе прынята няправільнае рашэнне. У такіх умовах трэба выпрацаваць адзіную стратэгію дзеянняў, якая будзе выйгрышнай для ўсіх генералаў.

Прынцып працы блокчейна: хто стварае блокі 21098_5
Адзін з генералаў не адправiў дакладнае паведамленне, таму іншыя не ведаюць, атакаваць ім ці адступаць

Матэматыкі даказалі, што атрымаць рашэнне ў дадзенай задачы заўсёды магчыма, калі верных генералаў больш за дзве траціны ад агульнага ліку. У розных сістэмах задача можа быць вырашана па-рознаму.

Візантыйская адмоваўстойлівасць - здольнасць сеткі працягваць працаваць, нават калі некаторыя з вузлоў адмовілі або дзейнічаюць зламысна. Іншымі словамі, гэта ўласцівасць сеткі, у якой вырашаная Задача Візантыйская Генералаў.

Візантыйская адмоваўстойлівасць бывае неабходная ў сістэмах рухавікоў самалётаў, на атамных электрастанцыях і практычна ў любой сістэме, дзеянні якой залежаць ад вынікаў працы вялікай колькасці датчыкаў. Нават SpaceX разглядае яе як патэнцыйнае патрабаванне да сваіх сістэмах.

Калі дадзеную задачу прымяніць да кантэксту блокчейна, то генералы ўяўляюць сабой Майнер. Яны павінны дамовіцца і прызнаць транзакцыю сапраўднай, каб яна трапіла ў блокчейн. Дадзены працэс называецца дасягненнем кансенсусу.

Прынцып працы блокчейна: хто стварае блокі 21098_6
Майнер разглядаюць усе транзакцыі і вырашаюць пацвярджаць іх ці адхіляць

Напрыклад, Майнер бачаць, што адзін карыстальнік хоча адправіць биткоины іншаму. Першы Майнер лічыць, што такая транзакцыя павінна быць адобрана. Другі падазрае, што дадзеную аперацыю вырабляе зламыснік. Трэці адключыўся ад сеткі і не праверыў транзакцыю. Прыняць адзінае рашэнне і значыць прыйсці да кансенсусу.

Так як у Задачы Візантыйская Генералаў некалькі рашэнняў, то розныя блокчейны дамагаюцца візантыйскай адмоваўстойлівасці з дапамогай розных алгарытмаў кансенсусу. Разгледзім падрабязней найбольш распаўсюджаныя.

алгарытмы кансенсусу

Блокчейн працуе на аснове размеркаванай сеткі. Няма адзінага цэнтра, які кіруе гэтай сеткай. Для арганізацыі бяспекі працы блокчейна неабходна дамовіцца, хто будзе Майнер і як ён будзе ствараць блокі. Майнер працуюць па строга вызначаным правілам, якія называюцца алгарытмам кансенсусу.

Алгарытм кансенсусу - метад, які апісвае як выбіраецца Майнер ў блокчейне і па якіх правілах ён стварае блокі.

Каб лепш зразумець, для чаго патрэбен кансенсус ў сістэме блокчейн, прадставім жыхароў шматкватэрнага дома. Блокчейн ім неабходны, каб ўзаемадзейнічаць адзін з адным і прымаць рашэнні аб развіцці дома: збіраць грошы на капітальны рамонт, выбіраць абслуговую арганізацыю або прызначаць дзяжурства. Ёсць тры спосабу дамовіцца - тры розных алгарытму кансенсусу. Кожны з іх грунтуецца на нейкай матэматычнай мадэлі.

Proof of Work (PoW) - алгарытм доказы працы. Майнер можа стаць любы жыхар дома. Каб ствараць новыя блокі, ён павінен будзе выкарыстоўваць свой кампутар для вырашэння складаных крыптаграфічных задач.

Алгарытм будзе лічыць дакладнай версіяй блокчейна тую, у якой больш за ўсё блокаў. А больш за ўсё блокаў будзе ў той версіі, на стварэнне якой жыхары патрацілі больш за ўсё кампутарных магутнасцяў. Атрымліваецца вельмі дэмакратычны метад: калі 51% Майнер лічаць, што транзакцыі ў блокі правільныя, так і будзе. Таму блокчейн амаль немагчыма ўзламаць.

Прынцып працы блокчейна: хто стварае блокі 21098_7
Новыя блокі ствараюць тыя жыхары, у якіх уключаны кампутар

Proof of Stake (PoS) - алгарытм доказы долі валодання. Майнер становяцца тыя, у каго больш за ўсё актываў у блокчейне. У нас гэта будуць жыхары з самымі вялікімі кватэрамі. А ў блокчейне Эфириума, напрыклад, гэта будуць карыстальнікі, у якіх на рахунку больш за ўсё криптовалюты ETH. Пры такім алгарытме затраты на электраэнергію мінімальныя, так як стварэнне блокаў у блокчейне больш не патрабуе вырашэння складаных крыптаграфічных задач. Чым больш твая доля ў блокчейне, тым часцей ты будзеш ствараць новыя блокі.

Дакладнай версіяй блокчейна, як і ў Proof of Work, будзе лічыцца тая, у якой больш за ўсё блокаў. Але Proof of Stake нельга назваць дэмакратычным. Больш за ўсё блокаў створаць ня большасьць жыхароў, а самыя багатыя жыхары. Аднак, гэта яшчэ больш бяспечна. Калі Майнер належыць большая частка дома, то дзейнічаць зламысна ім будзе нявыгадна.

Прынцып працы блокчейна: хто стварае блокі 21098_8
Новыя блокі ствараюць жыхары з самымі вялікімі кватэрамі

Proof of Authority (PoA) - алгарытм доказы асобы. Можа быць так, што жыхары сабраліся і вырашылі, што ствараць блокі будзе адна кватэра. Дадзены алгарытм распаўсюджаны ў прыватных, закрытых блокчейнах. Напрыклад, ён добра падыходзіць для кіравання шматкватэрным домам з нашага прыкладу.

Абраны Майнер сам выбірае сапраўдную версію блокчейна. Ён павінен будзе ідэнтыфікаваць сябе, каб усе жыхары верылі яму. Калі ў нейкі момант жыхары перастануць быць зычнымі з рашэннямі Майнера, яны змогуць прызначыць іншага. Новы Майнер пачне будаваць сваю ланцужок блокаў, а стары блокчейн застанецца існаваць асобна. Такі працэс у блокчейне называецца хардфорком.

Прынцып працы блокчейна: хто стварае блокі 21098_9
Новыя блокі стварае той жыхар, якога выбралі загадзя

Алгарытмаў кансенсусу вельмі шмат. Пастаянна вынаходзяцца новыя, але гэтыя тры найбольш вядомыя, правераныя часам і часта прымяняюцца.

заключэнне

У любых аднарангавыя сетках ўзнікае недавер паміж удзельнікамі. У блокчейне дадзеную праблему вырашаюць Майнер. Гэта тыя карыстальнікі, якія правяраюць транзакцыі і дадаюць у новыя блокі толькі правільныя.

У артыкуле 1982 г. была апісана Задача Візантыйская Генералаў. У ёй упершыню быў апісаны алгарытм таго, як сетка можа працягваць працаваць, нават калі некаторыя з вузлоў адмовілі або дзейнічаюць зламысна.

У блокчейне выкарыстоўваюць тры разнавіднасці алгарытмаў кансенсусу:

  • Proof of Work (PoW) - алгарытм доказы працы.
  • Proof of Stake (PoS) - алгарытм доказы долі валодання.
  • Proof of Authority (PoA) - алгарытм доказы асобы.

Чытаць далей