Како функционира блокчејн?

Блокчејн технологијата е веројатно најдобриот изум од самиот интернет. Таа овозможува размена на вредности без потреба од доверба или централна власт. Замислете си вие и јас да се обложуваме за 50 долари за утрешните временски услови во Сан Франциско. Се обложувам дека ќе биде сончево, дека ќе врне дожд. Денес имаме три опции за управување со оваа трансакција:

  1. Ние можеме да си веруваме едни на други. Дождливо или сончево, губитникот ќе му даде 50 долари на победникот. Ако сме пријатели, ова би можело да го изменаџираме на добар начин. Сепак, пријателите или странците, лесно може едниот да не плати на другиот.
  2. Можеме да го претвориме залогот во договор. Со договорот во сила двете страни ќе бидат повеќе склони да платат. Меѓутоа, ако било кој од двете страни одлучи да не плати, победникот ќе мора да плати дополнителни пари за да ги покрие правните трошоци, а судскиот случај може да трае долго време. Особено за мала сума на готовина, ова не изгледа како оптимален начин за управување со трансакцијата.
  3. Можеме да вклучиме неутрална трета страна. Секој од нас дава $50 на третата страна, која ќе му даде вкупен износ на победникот. Но, еј, таа исто така можеше да избега со сите наши пари. Значи, завршуваме со една од првите две опции: доверба или договор.

Ниту довербата ниту договорот не е оптимално решение: Не можеме да веруваме на странци, а за спроведување на договорот потребно е време и пари. Технологијата блокчејн е интересна бидејќи ни нуди трета опција која е безбедна, брза и ефтина.

Блочејн ни овозможува да напишеме неколку линии на код, програма која работи на блокчејнот, на кој и двајцата ќе испратиме 50 долари. Оваа програма ќе ги задржи сигурните 100 долари и автоматски ќе ги провери утрешните временски услови на неколку извори на податоци. Сончево или дождливо, тој автоматски ќе ја пренесе целата сума на победникот. Секоја

страна може да ја провери логиката на договорот, и откако ќе биде впишана на блокчејнот, таа не може да се промени или запре. Ова може да биде премногу напор за залог од 50 долари, но замислете да продавате куќа или компанија.

Оваа статија објаснува како функционира блокчејнот без длабоко разгледување на техничките детали, но со доволно длабоко навлегување за да ви се даде општа идеја за основната логика и механизми.

Основи на Биткоин

Најпозната и дискутирана примена на блокчејн технологијата е биткоин, дигитална валута која може да се користи за размена на производи и услуги, исто како и американскиот долар, еврото, кинескиот јуан и другите национални валути. Ајде да ја искористиме оваа прва намена на блокчејн технологијата за да дознаеме како работи.

“Биткоин ни дава, за прв пат, начин како еден корисник на Интернет да пренесе уникатен дел од дигиталната сопственост на друг корисник на Интернет, така што преносот гарантира дека е безбеден и сигурен, секој знае дека преносот се случил, и никој не може да ја оспори легитимноста на трансферот. Последиците од овој пробив тешко се преувеличуваат.”

– Марк Андерсен

Еден биткоин е единствена единица на Биткоинот (BTC) дигиталната валута. Исто како долар, биткоин нема вредност сам по себе; има вредност само затоа што се согласуваме да тргуваме со стоки и услуги за да донесеме повеќе од оваа валута под наша контрола, а ние веруваме дека другите го прават истото.

За да се следи износот на биткоин што секој од нас го поседува, блокчејнот користи книга, дигитална датотека која ги следи сите биткоин трансакции.

Датотеката на книгата не е зачувана во централен ентитет, како банка, или во единствен центар за податоци. Таа се дистрибуира низ целиот свет преку мрежа на приватни компјутери коишто чуваат податоци и извршуваат пресметки. Секој од овие компјутери претставува “јазол” на блокчејната мрежа и има копија од  ledger фајлот.

Ако Дејвид сака да испрати биткоини на Сандра, тој емитува порака до мрежата која вели дека износот на биткоинот во неговата сметка треба да се намали за 5 БТК, а износот во сметката на Сандра треба да се зголеми за исто количество. Секој јазол во мрежата ќе ја добие пораката и ќе ја примени бараната трансакција на нејзината копија од главната книга, апдејт на салдото на сметката.

Фактот дека главната книга се одржува од страна на група на поврзани компјутери, а не од централизиран ентитет како банка има неколку импликации:

  • Во нашиот банкарски систем ги знаеме само нашите сопствени трансакции и салда на сметки; на блокчејнот сите можат да ги видат трансакциите на сите други.
  • Иако генерално може да и верувате на вашата банка, мрежата на биткоинот е дистрибуирана и ако нешто тргне наопаку, нема да има кого да повикате или некој да тужите.
  • Блокчејн системот е дизајниран на таков начин што не е потребна доверба; сигурноста и довербата се добиваат преку посебни математички функции и шифри.

Ние можеме да го дефинираме блокчејн како систем кој им овозможува на група на поврзани компјутери да одржуваат единствена ажурирана и безбедна книга. За да извршите трансакции на блокчејн, потребен ви е wallet, програма која ви овозможува да ги чувате и разменувате вашите биткоини. Бидејќи само вие треба да бидете во можност да ги потрошите вашите биткоини, секој wallet е заштитен со посебен криптографски метод кој користи уникатен пар од различни, но поврзани клучеви: приватен и јавен клуч.

Ако некоја порака е шифрирана со специфичен јавен клуч, само сопственикот на поврзаниот приватен клуч може да ја декриптира и да ја прочита пораката. Обратното исто така е точно: Ако шифрирате порака со вашиот приватен клуч, само парниот јавен клуч може да го декриптира. Кога Дејвид сака да испрати биткоини, тој треба да емитува порака шифрирана со приватниот клуч од неговиот wallet. Додека Дејвид е единствениот кој го знае приватниот клуч неопходен за отклучување на својот wallet, тој е единствениот кој може да ги потроши своите биткоини. Секој јазол во мрежата може да провери дали барањето за трансакција доаѓа од Дејвид преку декрипција на пораката со јавниот клуч од неговиот wallet.

Кога шифрирате барање за трансакција со приватен клуч на вашиот wallet, генерирате дигитален потпис кој се користи од блокчејн компјутери за да го потврдите изворот и автентичноста на трансакцијата. Дигиталниот потпис е низа текст што произлегува од барањето за трансакција и вашиот приватен клуч; затоа не може да се користи за други трансакции. Ако промените една буква во пораката за барање за трансакција, дигиталниот потпис ќе се промени, па некој потенцијален напаѓач нема да може да ги промени барањата за трансакција или да го измени износот на биткоин кој го испраќате.

За да испратите биткоин, треба да докажете дека поседувате приватен клуч на одреден wallet, бидејќи ви треба клуч за шифрирање на пораката за барање за трансакција. Бидејќи ја емитувате пораката само откако е шифрирана, никогаш не треба да го откриете вашиот приватен клуч.

Следење на балансот на вашиот wallet

Секој јазол во блокчејн чува копија од главната книга. Значи, како еден јазол го познава балансот на вашата сметка? Системот на блокчејн не ги следи сите биланси на сметки; само ја евидентира секоја трансакција која е потврдена и одобрена. Ledger-от всушност не води евиденција за салдото, туку само ги следи сите трансакции што се емитуваат во мрежата на биткоините (Слика 4). За да го одредите балансот на wallet-от, треба да ги анализирате и проверите сите трансакции што некогаш се случиле на целата мрежа поврзана со вашиот wallet.

Оваа “биланс” верификација се врши врз основа на линкови од претходните трансакции. За да испрати 10 биткоини на Џон, Марија мора да генерира барање за трансакција што вклучува линкови до претходни дојдовни трансакции кои содржат најмалку 10 биткоини. Овие врски се нарекуваат “inputs”. Јазлите во мрежата го потврдуваат износот и осигуруваат дека овие inputs се уште не потрошени. Всушност, секојпат кога ќе ги повикувате овие inputs во трансакцијата, тие се сметаат за неважечки за секоја идна трансакција. Сето ова е направено автоматски во wallet-от на Марија и двојно проверено од биткоин мрежните јазли; таа само испраќа 10 BTC трансакции на wallet-от на Џон користејќи го јавниот клуч.

Значи, како може системот да верува дека input трансакции се валидни? Ги проверува сите претходни трансакции корелирани со wallet-от што го користите за испраќање биткоини преку влезните референци. За да се забрза процесот на верификација, посебните записи за непотрошени трансакции се чуваат од страна на мрежните јазли. Благодарение на оваа безбедносна проверка, не е можно двојно да се трошат биткоините.

Да  бидеш сопственик на биткоини значи дека трансакциите се внесени во ledger кои укажуваат на вашата адреса од wallet-от  и сè уште не се користат како inputs. Целиот код за вршење на трансакции на биткоин мрежата е со отворен код; ова значи дека секој со лаптоп и интернет конекција може да работи со трансакции. Меѓутоа, ако има грешка во шифрата што се користи за емитување на пораката за барање на трансакција, придружните биткоини ќе бидат трајно изгубени.

Запомнете дека поради што мрежата е дистрибуирана не постои поддршка за клиентите за да се јавите, ниту пак некој кој би можел да ви помогне да ја обновите изгубената трансакција или ако ја заборавите лозинката на wallet-от. Поради оваа причина, ако сте заинтересирани за трансакција на биткоин мрежата, добра идеја е да користите софтвер со отворен код и официјална верзија на софтвер за биткоин-wallet (како што е Bitcoin Core) и да ја чувате лозинката на вашиот wallet или приватниот клуч во многу безбедно складиште.

Но, дали навистина е безбедно? И зошто се нарекува блокчејн?

Секој може да пристапи до биткоин мрежата преку анонимна врска (на пример, мрежата на TOR или VPN мрежа) и да ги доставува или прима трансакциите што не откриваат ништо повеќе од неговиот јавен клуч. Меѓутоа, ако некој го користи истиот јавен клуч одново и одново, можно е да ги поврзете сите трансакции со истиот сопственик. Мрежата на биткоин ви овозможува да генерирате што повеќе wallets, како што сакате, секој со свои приватни и јавни клучеви. Ова ви овозможува да добивате исплати на различни wallets и нема начин некој да знае дека поседувате приватни клучеви на овие wallets, освен ако не ги испратите сите примени биткоини во еден од нив.

Вкупниот број на можни биткоин адреси е 1461501637330902918203684832716283019655932542976.

Овој голем број ја штити мрежата од можни напади, додека дозволува секој да поседува wallet.

Со ова подесување, сè уште постои голема безбедносна дупка што може да се експлоатира за да се отповикаат биткоините по трошењето. Трансакциите се пренесуваат од јазол до јазол во мрежата, па редоследот по кој две трансакции стигнуваат до секој јазол може да биде различен. Напаѓачот може да испрати трансакција, да чека на колега да испрати производ, а потоа да испрати обратна трансакција назад кон својата сметка. Во овој случај, некои јазли може да ја добијат втората трансакција пред првата и затоа сметаат дека првичната трансакција за плаќање е неважечка, бидејќи трансакциските inputs ќе бидат обележани како веќе потрошени. Како знаеш која трансакција е прва барана? Не е сигурно да се нарачаат трансакциите според временска ознака, бидејќи тоа лесно може да биде фалсификувано. Затоа, не постои начин да се каже дали трансакцијата се случила пред друга, а тоа отвора потенцијал за измама.

Доколку се случи ова, ќе има несогласување меѓу мрежните јазли во однос на редоследот на трансакциите што ги добил секој од нив. Значи блокчејн системот е дизајниран да користи договор за јазол за да нарача трансакции и да спречи измама опишана погоре.

Биткоинската мрежа нарачува трансакции со групирање на истите во блокови; секој блок содржи одреден број трансакции и линк до претходниот блок. Ова е она што става еден блок по друг во времето. Затоа, блоковите се организирани во временски синџир (слика 6) кој го дава името на целиот систем: блокчејн.

Се смета дека трансакциите во истиот блок се случиле истовремено, а трансакциите што се уште не се во блок се сметаат за непотврдени. Секој јазол може да ги групира трансакциите во блок и да го емитува на мрежата како предлог за кој блок треба да биде следниот. Бидејќи секој јазол може да сугерира нов блок, како се согласува системот за кој блок треба да биде следниот?

За да се додадат во блокчејнот, секој блок мора да го содржи одговорот на комплексен математички проблем создаден со употреба на иреверзибилна криптографска хаш функција. Единствениот начин да се реши таков математички проблем е да се погоди случајни броеви кои, во комбинација со претходната блок содржина, генерираат дефиниран резултат. Тоа би можело да потрае околу една година за еден типичен компјутер да го погоди вистинскиот број и да го реши математичкиот проблем. Сепак, поради големиот број на компјутери во мрежата кои се погодуваат бројки, блок е решен во просек на секои 10 минути. Јазолот што го решава математичкиот проблем го стекнува правото да го постави следниот блок на синџирот и да го емитува во мрежата.

И што ако два јазли го решат проблемот во исто време и ги испраќаат своите блокови во мрежата истовремено? Во овој случај, двата блока се емитуваат и секој јазол се гради на блокот што го добил во прв план. Сепак, блокчејниот систем бара секој јазол веднаш да се изгради на најдолго достапен блокчејн. Значи, ако постои двосмисленост околу кој е последниот блок, веднаш штом ќе се реши следниот блок, секој јазол ќе го прифати најдолгиот синџир како единствена опција.

Поради малата веројатност за решавање на блокови истовремено, речиси е невозможно неколку блокови да бидат истовремено решени одново и одново, со градење различни “опашки”, така што целиот блокчејн брзо се стабилизира на една низа блокови на кои секој јазол одговара.

Несогласувањето околу тоа кој блок го претставува крајот на ланецот, повторно го отвора потенцијалот за измама. Ако трансакцијата се случи да биде во блок кој припаѓа на пократка опашка (како блок Б на слика 7), откако ќе се реши следниот блок, оваа трансакција, заедно со сите други во нејзиниот блок, ќе се вратат како непотврдени трансакции.

Трансакциите во блокчејн системот на биткоин се заштитени со математичка трка: Секој напаѓач се натпреварува против целата мрежа.

Ајде да видиме како Марија може да ја искористи оваа двосмисленост на крајот на синџирот за извршување на напад со двојно трошење. Марија му испраќа пари на Џон, Џон го пренесува производот на Марија. Бидејќи јазлите секогаш ја прифаќаат подолгата опашка како потврдена трансакција, ако Марија може да генерира подолга опашка која содржи обратна трансакција со истите input референци, Џон ќе биде без парите и неговиот производ.

Како системот спречува ваква измама? Секој блок содржи референца за претходниот блок (види слика 6). Таа референца е дел од математичкиот проблем што треба да се реши со цел да се прошири следниот блок на мрежата. Значи, исклучително е тешко да се пресмета серија блокови заради големиот број на случајни претпоставки кои се потребни за да се реши блокот и да се стави на блокчејнот. Марија е во трка против остатокот од мрежата за да го реши математичкиот проблем кој ѝ дозволува да го постави следниот блок на синџирот. Дури и ако таа го реши тоа пред некој друг, малку е веројатно дека таа може да реши два, три или повеќе блокови по ред, бидејќи секојпат таа се натпреварува против целата мрежа.

Може ли Марија да користи супер брз компјутер за да генерира доволно случајни претпоставки за да се натпреварува со целата мрежа во решавањето на блоковите? Да, но дури и со многу, многу брз компјутер, поради големиот број на членови во мрежата, многу е малку веројатно дека Марија може да реши неколку блокови по ред во точното време потребно за извршување на напад на двојно трошење.

Таа ќе треба да контролира 50 отсто од компјутерската моќ на целата мрежа за да има шанса за решавање на блок од 50 отсто пред некој друг јазол – па дури и во овој случај, таа ќе има само 25 отсто шанса за решавање на два блока во низа. Колку повеќе блокови треба да се решаваат по ред, толку е помала веројатноста за нејзиниот успех. Трансакциите во системот за блокчејн на биткоин се заштитени со математичка трка: Секој напаѓач се натпреварува против целата мрежа.

Затоа трансакциите стануваат побезбедни со текот на времето. Оние што се вклучени во еден блок потврдени пред еден час, на пример, се посигурни од оние во блок потврден во последните 10 минути. Бидејќи блокот се додава во синџирот на секои 10 минути во просек, трансакцијата вклучена во блок за првпат пред еден час најверојатно е обработена и сега е неповратна.

Фармање на Биткоин

За да испраќате биткоини, треба да се повикувате на дојдовната трансакција во сопствениот wallet. Ова се однесува на секоја трансакција низ целата мрежа. Значи, од каде доаѓаат биткоините?

Како начин за балансирање на дефлационата природа на биткоинот поради софтверските грешки и губењето на лозинки на wallet-от, се дава награда на оние кои го решаваат математичкиот проблем на секој блок. Активноста на водење на софтверот за биткоин блокчејнот со цел да се добијат овие биткоин награди се нарекува “фармање” – и тоа е многу слично како фармање на злато.

Наградите се главниот поттик за приватните луѓе да работат на јазлите, со што се обезбедува потребната компјутерска моќ за обработка на трансакции и стабилизирање на блокчејната мрежа.

Поради тоа што е потребно многу време за еден типичен компјутер да реши блок (околу една година во просек), јазлите се групираат заедно во групи што го делат бројот на претпоставки за решавање на следниот блок. Работата како група го забрзува процесот на погодување на вистинскиот број и добивање на награда, која потоа се дели меѓу членовите на групата. Овие групи се нарекуваат фармачки базени.

Некои од овие фармачки базени се многу големи, и претставуваат повеќе од 20 проценти од вкупната компјутерска мрежна моќ. Ова има јасни импликации за безбедноста на мрежата, како што е прикажано во погорниот пример за двојно трошење. Дури и ако еден од овие базени потенцијално би можел да добие 50 проценти од компјутерската мрежна моќ, толку повеќе назад по должината на ланецот ќе оди блокот, толку посигурни ќе бидат трансакциите во него.

Сепак, некои од овие фармачки базени со значителна компјутерска моќ одлучија да ги ограничат своите членови за да ја заштитат целокупната мрежна безбедност.

Бидејќи севкупната мрежна компјутерска моќ е веројатно да се зголеми со текот на времето, поради технолошките иновации и зголемениот број на јазли, блокчејнскиот систем ја рекалибрира математичката тешкотија во решавањето на следниот блок за целни 10 минути во просек за целата мрежа. Ова обезбедува стабилност на мрежата и севкупна безбедност.

Покрај тоа, на секои четири години блок наградата е намалена на половина, така што фармањето биткоин (водење на мрежа) станува помалку интересен со текот на времето. За да се поттикнат јазлите да продолжат да работат, може да се приложат мали надоместоци за секоја трансакција; овие награди се собираат од јазолот кој успешно ги вклучува таквите трансакции во еден блок и го решава својот математички проблем. Поради овој механизам, трансакциите поврзани со повисока награда обично се обработуваат побрзо од оние поврзани со ниска награда. Ова значи дека кога испраќате трансакција, можете да одлучите дали сакате да го обработите побрзо (поскапо) или поевтино (потребно е повеќе време). Трансакционите такси во биткоин мрежата во моментов се многу мали во споредба со тоа што банките наплатуваат, и тие не се поврзани со износот на трансакцијата.

Придобивки и предизвици на блокчејн

Сега кога имате општо разбирање за тоа како функционира блокчејнот, ајде брзо да разгледаме зошто е толку интересно.

Користењето блокчејн технологија има извонредни придобивки:

  • Имате целосна контрола врз вредноста што ја поседувате; нема трета страна што ја има вашата вредност или може да го ограничи вашиот пристап до него.
  • Трошокот за извршување на вредносната трансакција од и до било каде на планетата е многу низок. Ова овозможува микроплаќање.
  • Вредноста може да се пренесе за неколку минути, а трансакцијата може да се смета за безбедна по неколку часа, наместо денови или недели.
  • Секој во секое време може да ја потврди секоја трансакција направена на блокчејнот, што резултира со целосна транспарентност.
  • Можно е да се искористи блочејн технологијата за да се изградат децентрализирани апликации кои ќе можат брзо и безбедно да управуваат со информациите и да ја пренесат вредноста.

Сепак, постојат неколку предизвици кои треба да се решат:

  • Трансакциите може да се испраќаат и примаат анонимно. Ова ја зачувува приватноста на корисниците, но исто така дозволува илегална активност на мрежата.
  • Иако многу платформи за размена се појавуваат, а дигиталните валути стануваат популарни, сè уште не е лесно да се тргуваат биткоини за стоки и услуги.
  • Биткоин, како и многу други криптовалути, е многу променлив: Нема многу биткоини достапни на пазарот и побарувачката се менува брзо. Биткоин цената е непредвидлива, се менува врз основа на големи настани или соопштенија во индустријата за криптовалутите.

Генерално, блокчејната технологија има потенцијал да револуционизира неколку индустрии, од рекламирање до дистрибуција на енергија. Нејзината главна моќ лежи во својата децентрализирана природа и способност да ја елиминира потребата за доверба.

Случаите на нова употреба постојано се појавуваат – како и можноста за создавање на целосно децентрализирана платформа која работи со паметни договори како Ethereum. Но, важно е да се запамети дека технологијата се уште е во развој. Секојдневно се развиваат нови алатки за да се подобри безбедноста на блокчејните, а истовремено нуди и поширок спектар на функции, алатки и услуги.

Корисни линкови:

 

 

Leave a comment