Съдържание:

Как всъщност работи блокчейнът
Как всъщност работи блокчейнът

Видео: Как всъщност работи блокчейнът

Видео: Как всъщност работи блокчейнът
Видео: Россия.Забытые годы.Гражданская война в России(часть 1) 2024, Може
Anonim

Тази публикация има за цел да разкаже на всички защо е изобретен блокчейнът, как работят криптовалутите и защо това е най-красивата система през последните години от гледна точка на логиката.

Веднага ще ви предупредя, че под изрязването има ОГРОМЕН лист текст и ако не сте готови да „затворите“въпроса по темата за криптовалутите веднъж завинаги, добавете запис към любимите си още сега и запазете време)

Блокчейн е технология, нова, странна, неразбираема, но сякаш променя света, за разлика от тези ваши истории. Явно тя е с нас от доста време.

Тази публикация е написана така, сякаш се казва на хора, които са много далеч от компютрите и ги познават само повърхностно, например, представете си, че той се е подготвял за вашите родители. Мога дори да го хвърля на моите колеги хуманитаристи и да съм сигурен, че ще разберат.

И Олег ще ни помогне на всички в този труден въпрос. Среща!

Ако не харесваш Олег, ще го изгоня.

Основите: защо се нуждаем от блокчейн?

Блокчейнът е описан в статията на Сатоши Накамото „Bitcoin: A Peer-to-Peer електронна парична система“. Там, само на осем страници, авторът описва основите на криптовалутата Bitcoin, която се основава на алгоритъма на Blockchain.

Списък, който не може да бъде променен

Блокчейн - верига от блокове или с други думи свързан списък. В такъв списък всеки следващ запис се отнася до един предишен и така нататък по веригата до първия. Като вагоните на влака всеки влачи следващия. По отношение на списъците има добра статия на Никита Лихачов за TJ, където същото се обяснява за напълно начинаещи. Аналогиите отчасти са взети оттам.

Да вземем пример

Приятелите на Олег постоянно вземат пари назаем от него. Олег е мил, но изключително забравящ. Седмица по-късно вече не помни кой не му е върнал дълга, но се срамува да пита всички за това. Затова един ден той решава да сложи край на това, като създаде списък с приятели на черната дъска в дома си, на които е заел пари.

Сега Олег винаги може да отиде до борда и да се увери, че Макс е върнал всичко, но Ваня вече не дава 700 рубли. Един ден Олег кани Ваня да пийне в дома му. Докато Олег отива до тоалетната, Ваня изтрива записа „Заех 200 рубли за Ваня“и на негово място пише „Ваня даде 500 рубли“.

Олег, който се довери на неговия списък, забравя за дълга и губи 700 рубли. Той решава да се пребори по някакъв начин. Миналата година Олег посети курс по програмиране, където му казаха за хеширането. Той помни, че всеки низ може да бъде превърнат в недвусмислен набор от знаци - хеш и промяната на всеки знак в низа напълно ще го промени.

Добавянето на точка в края промени крайния хеш до неузнаваемост - можете да го използвате.

Олег взема добре познатия хеш SHA-256 и хешира всеки запис с него, като добавя резултата в края. Сега Олег може да се увери, че никой не е променил записите си, като ги хешира отново и ги сравнява със зеления.

Но EVIL IVAN също знае как да използва SHA-256 и може лесно да промени записа заедно с неговия хеш. Особено ако хешът е изписан точно до него на дъската.

Ето защо, за по-голяма сигурност, Олег решава да хешира не само самия запис, но и да го добави заедно с хеша от предишния запис. Сега всички следващи записи зависят от предишните. Ако промените поне един ред, ще трябва да преизчислите хешовете на всички останали по-долу в списъка.

Но един ден Иван се промъква през нощта, променя записа, от който се нуждае, и актуализира хешовете за целия списък до края. Отнема му няколко часа, но Олег все още спи дълбоко и не чува. На сутринта Олег открива абсолютно правилен списък - всички хешове съвпадат. Но Иван все пак го измами, въпреки че прекара безсънна нощ за това. Как иначе можете да се предпазите от Night Ivan?

Олег решава по някакъв начин да усложни живота си. Сега, за да добави нов запис към списъка, Олег ще реши сложен проблем, свързан с него, например математическо уравнение. Той ще добави отговора към крайния хеш.

Олег е добър в математиката, но дори са необходими десет минути, за да добавите запис. Въпреки това отделеното време си заслужава, защото ако Иван иска да промени нещо отново, ще трябва да решава отново уравненията за всеки ред, а те могат да бъдат десетки. Ще отнеме много време, защото уравненията са уникални всеки път и са свързани с конкретен запис.

Но проверката на списъка е също толкова проста: първо трябва да сравните хешовете, както преди, и след това да проверите решенията на уравненията чрез просто заместване. Ако всичко се сближи, списъкът не се променя.

В действителност нещата с уравненията не са толкова добри: компютрите ги решават твърде добре и къде да съхраняват толкова много уникални уравнения. Следователно авторите на блокчейна излязоха с по-красив проблем: трябва да намерите такова число (nonce), така че крайният хеш на целия запис да започне с 10 нули. Такова еднократно е трудно да се намери, но резултатът винаги може да се провери само с очи.

Сега Олег проверява всички хешове и допълнително се уверява, че всеки започва с посочения брой нули. Хитър Иван, дори въоръжен с мощен лаптоп, няма да има време да преизчисли всички хешове за една нощ, така че да изпълнят условието - няма да има достатъчно време.

Такъв списък всъщност е домашният блокчейн на коляното. Безопасността му е гарантирана от математиците, които доказаха, че тези хешове не могат да се изчислят някак по-бързо, освен с груба сила. Такова изброяване на хешове за всеки запис е копаене, за което днес ще има много и подробно.

Централизация на доверието

Приятелите ни харесаха идеята да поддържат фалшив списък „кой кого е взел назаем“. Те също така не искат да си спомнят кой за кого е платил в бара и колко все още дължат - всичко е написано на стената. Обсъдихте идеята и решихте, че сега имате нужда от единен списък за всички.

Но на кого трябва да се повери толкова важно счетоводство? В крайна сметка, когато става дума за пари, доверието излиза на преден план. Няма да се доверим на неизвестното да задържи парите си. За това нашите предци са измислили банки, на които с времето започват да се вярва, защото са подплатени с лиценз, закони и застраховка от Централната банка.

В кръга от приятели всички се доверяват един на друг и можете просто да изберете най-отговорния за тази роля. Но какво ще стане, ако въпросът е за непознати? Цял град, държава или целият свят, какъвто е случаят с биткойн? По принцип там никой не може да вярва на никого.

Децентрализация: никой не вярва на никого

Затова те измислиха алтернативен подход: запазете копие от списъка за всички. По този начин нападателят ще трябва не само да пренапише един списък, но и да се промъкне във всяка къща и да пренапише списъците там. И тогава се оказва, че някой държи няколко списъка вкъщи, за които никой не знае. Това е децентрализация.

Недостатъкът на този подход е, че за да направите нови записи, ще трябва да се обадите на всички други участници и да информирате всеки от тях за последните промени. Но ако тези участници са бездушни машини, това изобщо престава да бъде проблем.

В такава система няма единна точка на доверие, а оттам и възможността за подкуп и измама. Всички участници в системата действат според едно правило: никой не вярва на никого. Всеки вярва само на информацията, с която разполага. Това е основният закон на всяка децентрализирана мрежа.

Транзакции

Когато купувате тенджера в магазин, вие въвеждате пин кода от вашата карта, което позволява на магазина да попита банката дали имате 35 рубли в сметката си. С други думи, подписвате транзакция за 35 рубли с вашия пин код, който банката потвърждава или отхвърля.

Нашите записи от типа "Взех назаем на Ваня 500 рубли" също са транзакции. Но ние нямаме банка, която да оторизира автора на транзакциите. Как можем да проверим дали Иван не е добавил тихомълком записа „Макс дължи на Олег 100 500 рубли“?

Блокчейнът използва механизма на публични и частни ключове за това; ИТ специалистите отдавна ги използват за оторизация в същия SSH. Обясних го на пръсти в публикацията „Сигурност, криптиране, киберпънк“в секцията „Въведение в криптирането“.

Накратко за това как работи тази сложна, но красива математика: генерирате двойка дълги прости числа на вашия компютър - публичен и частен ключ. Частният ключ се счита за супер таен, защото може да дешифрира това, което е криптирано в публичното пространство.

Но обратното също работи. Ако споделите публичния ключ с всичките си приятели, те ще могат да криптират всяко съобщение за тях, така че само вие да можете да го прочетете, тъй като вие притежавате частния.

Но освен това публичният ключ има полезен ефект - с него можете да проверите дали данните са криптирани с вашия частен ключ, без да декриптирате самите данни. Всички тези свойства са добре описани в "Книгата на шифрите".

Ние сме в децентрализиран интернет, където не може да се вярва на никого. Транзакцията се подписва с частен ключ и заедно с публичния ключ се изпраща в специално хранилище - пул от непотвърдени транзакции. Така че всеки член на мрежата може да потвърди, че вие сте го инициирали, а не някой друг иска да плати с вашите пари.

Това гарантира отвореността и сигурността на мрежата. Ако по-рано банките бяха отговорни за това, то в блокчейна математиците са отговорни за това.

За обикновените потребители, които не искат да разберат как да издават и съхраняват частни ключове, услугите за онлайн портфейл ще помогнат. За да копирате дълги публични ключове, там се правят удобни QR кодове. Например Blockchain Wallet, защото има удобно мобилно приложение и поддържа двете основни криптовалути – BTC и ETH.

Липса на понятието "баланс"

Подобно на нашия борд, блокчейнът по същество се състои само от история на транзакциите. Той не съхранява баланса на всеки портфейл, в противен случай ще трябва да измислим допълнителни методи за защита.

Само частният ключ потвърждава собствеността на портфейла. Но как други членове на мрежата могат да се уверят, че имам достатъчно пари за покупка?

Тъй като нямаме баланс, трябва да го докажете. Следователно блокчейн транзакцията включва не само вашия подпис и колко искате да похарчите, но и връзки към предишни транзакции, при които сте получили необходимата сума пари.

Тоест, ако искате да похарчите 400 рубли, вие преглеждате цялата си история на приходите и разходите и прикачвате към транзакцията си онези приходи, където са ви дадени 100 + 250 + 50 рубли, като по този начин доказвате, че имате тези 400 рубли.

Всеки член на мрежата отново ще се увери, че не сте прикачили доходи два пъти. Че тези 300 рубли, които Макс даде миналата седмица, наистина все още не сте похарчили.

Такива приходи, свързани с транзакция, се наричат входове в блокчейна, а всички получатели на пари се наричат изходи. Сумата от всички входове рядко е точно същата, каквато искате да прехвърлите в даден момент - следователно един от изходите най-често ще бъдете вие. С други думи, транзакцията в блокчейна изглежда като „Дадоха ми 3 и 2 BTC, искам да прехвърля 4 BTC от тях и да върна останалите 1 BTC обратно“.

Красотата на блокчейн е, че входовете не трябва да идват от един портфейл. В крайна сметка се проверява само ключът. Ако знаете частния ключ на всички входове, тогава можете лесно да ги прикачите към вашата транзакция и да платите с тези пари. Все едно плащате в супермаркет с няколко карти, от които знаете пин кода.

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

Тази сума ще бъде недостъпна за целия свят завинаги - сякаш изгаряте пачка банкноти. Няма нито една банка, в която да напишете заявление с копие на паспорта си и той ще го отпечата. Това изисква допълнително пускане на нови биткойни "от нищото".

Проблем с двойните разходи

По-горе казах, че транзакциите се добавят към специален "пул от непотвърдени транзакции". Защо се нуждаем от някакъв междинен субект, ако вече имаме, всъщност, готови подписани сделки? Защо не ги запишете директно в блокчейна?

Защото сигналите от точка А до точка Б винаги отиват със закъснение. Две транзакции могат да вървят по напълно различни начини. И транзакцията, която е инициирана първа, може да достигне до получателя по-късно, защото е изминала по-дълъг път.

Това води до двойно харчене, когато едни и същи пари се изпращат на двама адресати наведнъж, за което те дори не биха се досетили. Това не е да предавате сметки от ръка на ръка.

За децентрализирана мрежа, в която не може да се има доверие на никого, този проблем е особено остър. Ето как да се уверите, че една транзакция определено е била преди друга? Помолете подателя да зашие времето за изпращане в него, нали? Но запомнете – не можете да вярвате на никого, дори на подателя.

Времето на всички компютри непременно ще се различава и няма гарантиран начин за синхронизирането им. Копие от блокчейна се съхранява на всеки компютър в мрежата и всеки участник се доверява само на него.

Как можете да се уверите, че една транзакция е била по-ранна от друга?

Отговорът е прост: невъзможно е. Няма начин да се потвърди времето на транзакция в децентрализирана мрежа. И решението на този проблем е третата важна блокчейн идея, която Сатоши изобрети и която, колкото и да е странно, е изписана точно в името му – блокове.

Блоковете са гръбнакът на блокчейна

Всеки работещ компютър в мрежата избира всякакви транзакции, които харесва от общия пул. Обикновено само за най-високата комисионна, която може да спечели от него. Така той събира транзакции за себе си, докато общият им размер достигне договорения лимит. В Bitcoin това ограничение за размера на блока е 1 MB (след SegWit2x ще бъде 2 MB), а в Bitcoin Cash - 8 MB.

Целият блокчейн е по същество списък от такива блокове, където всеки се отнася към предишния. Може да се използва за проследяване на всяка транзакция в цялата история, като развива блокчейна дори до първия запис.

Именно този списък сега тежи стотици гигабайта и трябва да бъде напълно изтеглен на всички компютри, които искат да участват в мрежата (но това не е необходимо просто за създаване на транзакции и прехвърляне на пари). Изтегля се по един и същи начин от всички най-близки компютри в мрежата, като ако изтегляте сериал от торенти, в него се пускат само нови епизоди на всеки 10 минути.

След като напише транзакции от пула за себе си, компютърът започва да съставя от тях същия неподправен списък, както направихме в началото на публикацията на дъската у дома.

Само той го прави под формата на дърво - хешира записите по двойки, след което резултатът отново е по двойки и така докато остане само един хеш - коренът на дървото, който се добавя към блока. Защо точно с дърво - не намерих отговора, но предполагам, че просто така е по-бързо. Прочетете повече в уикито: Merkle tree.

Тъй като текущият блокчейн вече е изтеглен, нашият компютър знае точно какъв е последният блок в него. Той просто трябва да добави връзка към него в заглавката на блока, да хешира всичко и да каже на всички други компютри в мрежата „вижте, направих нов блок, нека го добавим към нашия блокчейн“.

Останалите трябва да проверят дали блокът е изграден по всички правила и дали не сме добавили ненужни транзакции там и след това да ги добавят към нашите вериги. Сега всички транзакции в него са потвърдени, блокчейнът се увеличава с един блок и всичко върви добре, нали?

Но не. Хиляди компютри работят едновременно в мрежата и веднага щом сглобят нов блок, те почти едновременно бързат да информират всички, че техният блок е създаден първи. А от предишния раздел вече знаем, че в децентрализирана мрежа е невъзможно да се докаже кой наистина е бил първият.

Както в училище, когато всички решаваха труден тест, рядко се случваше дори отличници да приемат отговорите едновременно.

Но ако за човек е трудна задача да планира ваканция, така че да попадне на майските празници, а билетите до морето са евтини, тогава за компютър е да добавите такъв номер (nonce) в края на блок, така че в резултат на това хешът на SHA-256 за целия блок започва да кажем 10 нули. Това е проблемът, който трябва да бъде решен, за да се добави блок към мрежата на биткойн. За други мрежи задачите може да се различават.

Така стигаме до концепцията за копаене, по която всички са толкова обсебени през последните години.

Минен

Копането на биткойн не е някакво свещено тайнство. Копането не е за намиране на нови биткойни някъде в дълбините на интернет. Копането е, когато хиляди компютри по света бръмчат в мазета, преминавайки през милиони числа в секунда, опитвайки се да намерят хеш, който започва с 10 нули. Те дори не е необходимо да са онлайн, за да направят това.

Видеокартите със стотици паралелни ядра решават този проблем по-бързо от всеки процесор.

Защо точно 10 нули? И просто така, няма смисъл. Така Сатоши измисли. Защото това е един от онези проблеми, за които винаги има решение, но със сигурност не може да се намери по-бързо от дълго монотонно изброяване на опции.

Сложността на добива директно зависи от размера на мрежата, тоест от нейната обща мощност. Ако създадете свой собствен блокчейн и го стартирате сами у дома на два лаптопа, тогава задачата трябва да бъде по-лесна. Например, така че хешът да започне само с една нула или така че сборът от четните цифри да е равен на сбора от нечетните.

Ще отнеме няколко десетилетия, за да може един компютър да намери хеш, започващ с 10 нули. Но ако комбинирате хиляди компютри в една мрежа и търсите паралелно, тогава според теорията на вероятността този проблем се решава средно за 10 минути. Това е времето, когато се появява нов блок в биткойн блокчейна.

На всеки 8-12 минути някой на земята намира такъв хеш и получава привилегията да обяви откритието си на всички, като по този начин избягва проблема кой е бил първият.

За намиране на отговор компютърът (към 2017 г.) получава 12,5 BTC – това е сумата на наградата, която се генерира от биткойн системата „от нищото“и намалява на всеки четири години.

Технически това означава, че всеки миньор винаги добавя друга транзакция към своя блок - „създайте 12,5 BTC и ги изпратете в портфейла ми“. Когато чуете „броят на биткойните в света е ограничен до 21 милиона, сега вече са наели 16 милиона“– това са наградите, генерирани от мрежата.

Отидете да видите истински биткойн блок на живо на един от специалните сайтове. Има и транзакции с входове и изходи, и цели 18 нули в началото и всички хешове описани по-горе.

Миньорите са тези, които добавят нововъзникващите транзакции към блокчейна. Така че, ако някой ви каже, че ще „направи блокчейн за ***“, първият въпрос, на който трябва да отговори, е кой ще копае върху него и защо. Най-често правилният отговор е „всеки ще, защото за копаене ние даваме своите монети, които ще растат и е изгодно за миньорите“. Но това не важи за всички проекти.

Например някое здравно министерство утре създава свой затворен блокчейн за лекари (и те го искат), кой ще го копае? Уикенд терапевти?

Но каква ще бъде ползата за миньорите по-късно, когато наградите изчезнат или станат оскъдни?

Според идеята на Създателя дотогава хората ще трябва да повярват в реалността на биткойн и майнингът ще започне да се изплаща с размера на таксите, включени във всяка транзакция. Тук става всичко: през 2012 г. всички комисионни бяха нулеви, миньорите копаха само за награди от блокове. Днес транзакция с нулева комисионна може да виси в басейна за няколко часа, защото има конкуренция и хората са готови да плащат за скорост.

Тоест същността на майнинга е в решаването на безсмислени проблеми. Не може ли цялата тази сила да се използва за нещо по-полезно – търсенето на лек за рак, например?

Същността на майнинга е да се реши всеки изчислителен проблем. Тази задача трябва да бъде достатъчно проста, за да могат участниците в мрежата да имат стабилна вероятност да намерят отговор - в противен случай транзакциите ще бъдат потвърдени завинаги. Представете си, че на касата в магазин трябва да чакате половин час всеки път, докато банката потвърди транзакцията ви. Никой няма да ползва такава банка.

Но задачата трябва да бъде в същото време трудна, така че всички нетизени да не намерят отговора наведнъж. Защото в този случай ще обявят много блокове с едни и същи транзакции към мрежата и ще има възможност за "двойно разхищение", което споменах. Или още по-лошо – разделяне на един блокчейн на няколко клона, в които никой не може да разбере коя транзакция е потвърдена и коя не.

Ако награда от 12,5 BTC се раздава само веднъж на всеки 10 минути и само един човек, който е намерил блока, се оказва, че трябва да хабя видеокарти в продължение на няколко години с надеждата, че един ден ще пусна $40 000 (на текущ обменен курс)?

Точно такъв е случаят с биткойн. Но не винаги е било така. Преди това мрежата беше по-малка, сложността е по-ниска, което означава, че вероятността еднолично да се намери хеш за нов блок е по-висока. Но тогава биткойнът не беше толкова скъп.

Сега никой не копае биткойни сам. Сега участниците са обединени в специални групи - майнинг пулове, където всички заедно се опитват да намерят правилния хеш.

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

Но самостоятелното копаене е напълно възможно в други мрежи. Доскоро беше лесно да копаете Ethereum, където блоковете се намират на всеки 10 секунди. Наградата за блок е много по-ниска там, но вероятността да спечелите доста пени е по-висока.

Значи ще изгорим хиляди видеокарти напразно и няма изход?

Да, но има идеи. Копането, което описах е класическо и се нарича Proof-of-Work (доказателство за работа). Тоест всяка машина доказва, че е работила в полза на мрежата, като решава безсмислени проблеми с дадена вероятност.

Но някои момчета започват да правят блокчейн с други видове копаене. Сега втората най-популярна концепция е Proof-of-Stake (доказателство за залога). При този тип копаене, колкото повече „монети“има участник в мрежата в акаунта си, толкова по-вероятно е той да вмъкне своя блок в блокчейна. Като най-шумния човек в селото.

Можете да помислите за други видове копаене. Както вече беше предложено, всички компютри в мрежата могат да търсят лек за рак, само вие трябва да разберете как в този случай да запишете техния принос към системата. В крайна сметка мога да заявя, че и аз участвам, но да си изключа видеокартата и да не броя.

Как оценявате количествено приноса на всеки участник в намирането на лек за рак? Ако ви хрумне - осмелете се да отрежете CancerCoin, шум в медиите ви е гарантиран.

Блокчейн

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

Гарантирано е, че тези блокове са различни, защото дори да изберат по чудо едни и същи транзакции от пула, да направят абсолютно идентични дървета и да познаят едно и също произволно число (nonce), техните хешове пак ще бъдат различни, тъй като всеки ще запише номера на портфейла си в блока за награда.

Сега имаме два валидни блока и отново възниква проблемът кой трябва да бъде разгледан първи. Как ще се държи мрежата в този случай?

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

И двамата миньори ще получат своята награда, а всички останали започват да копаят, разчитайки на последния блок, който лично са получили, като изхвърлят всички останали, които са повторно коригирани. В мрежата се появяват две версии на правилния блокчейн. Такъв е парадоксът.

Това е рутинна ситуация, в която теорията на вероятностите отново помага. Мрежата функционира в такова раздвоено състояние, докато един от миньорите не намери следващия блок към една от тези вериги.

Веднага след като такъв блок бъде намерен и вмъкнат във веригата, той става по-дълъг и се включва едно от споразуменията на блокчейн мрежата: при всякакви условия най-дългият блокчейн се приема като единственият верен за цялата мрежа.

Късата верига, въпреки цялата си коректност, е отхвърлена от всички участници в мрежата. Транзакциите от него се връщат в пула (ако не са потвърдени в друг) и обработката им започва наново. Миньорът губи наградата си, защото неговият блок вече не съществува.

С разрастването на мрежата подобни съвпадения от „много малко вероятно“отиват в категорията „е, понякога се случва“. Старите хора казват, че е имало случаи, когато верига от четири блока е изпускана наведнъж.

Поради това са измислени три правила за несигурност в края на веригата:

1. Наградите за копаене могат да се използват само след още 20 потвърдени блока след получаване. За биткойн това е около три часа.

2. Ако са ви изпратени биткойни, можете да ги използвате като входни данни в нови транзакции само след 1-5 блока.

3. Правила 1 и 2 просто са описани в настройките на всеки клиент. Никой не следи за тяхното спазване. Но законът с най-дългата верига все пак ще изтрие всички ваши транзакции, ако се опитате да подмамите системата да не ги прилага.

Опитвам се да измами блокчейн

Сега, когато знаете всичко за копаене, устройството на блокчейна и правилото за най-дългата верига, може да имате въпрос: възможно ли е някак конкретно да изпреварите блокчейна, като направите най-дългата верига сами, като по този начин потвърдите вашите фалшиви транзакции.

Да приемем, че имате най-мощния компютър на земята. Центровете за данни на Google и Amazon са на ваше разположение и вие се опитвате да изчислите такава верига, която ще се превърне в най-дългата блокчейн в мрежата.

Не можете да вземете и веднага да изчислите няколко блока от веригата, защото всеки следващ блок зависи от предишния. След това решавате възможно най-бързо да преброите всеки блок във вашите огромни центрове за данни успоредно с това как всички други участници продължават да увеличават основната блокчейн. Възможно ли е да ги изпреварим? Вероятно да.

Ако вашата изчислителна мощност е повече от 50% от мощността на всички участници в мрежата, тогава с 50% вероятност ще можете да изградите по-дълга верига по-бързо от всички останали, взети заедно. Това е теоретично възможен начин за измама на блокчейна чрез изчисляване на по-дълга верига от транзакции. Тогава всички транзакции в реалната мрежа ще се считат за невалидни и вие ще съберете всички награди и ще започнете нов етап в историята на криптовалутата, който се нарича "блокчейн разделение". Веднъж, поради грешка в кода, това беше случаят с Ethereum.

Но в действителност нито един център за данни не може да се сравни по мощност с всички компютри в света. Един и половина милиард китайци с icics, още милиард и половина гладни индийци с минни ферми и евтино електричество - това е огромна изчислителна мощност. Все още никой в света не може да се конкурира с тях сам, дори Google.

Това е като да излезеш на улицата и да се опиташ да убедиш всеки човек по света, че доларът вече струва 1 рубла и да успееш, преди медиите да те разобличат. И ако успеете да убедите всички, можете да сринете световната икономика. На теория не е ли възможно? Но на практика, по някаква причина, никой не успя.

Блокчейнът също се основава на тази вероятност. Колкото повече участници-миньори, толкова повече сигурност и доверие в мрежата. Следователно, когато друга голяма ферма за добив е покрита в Китай, процентът се срива. Всички се страхуват, че някъде по света е имало зъл гений, който вече е събрал пул от миньори с ~49% капацитет.

Заключение

Блокчейн не е строго дефиниран набор от алгоритми. Това е структура за изграждане на фалшива мрежа между участниците, където никой не може да вярва на никого. Докато четете, вероятно ви е хрумнало повече от веднъж, че „можете да го направите така и ще бъде още по-полезно“. Това означава, че разбирате блокчейна, поздравления.

Някои момчета по света също го разбраха и искаха да подобрят или да се адаптират за някои специфични задачи. Криптовалутите не са едни и същи, въпреки че има и много от тях. Ето кратък списък с някои от идеите и проектите, които са придобили известна популярност благодарение на преосмислянето на идеята за блокчейн.

Ethereum

„Етери“е втората най-популярна дума, която чувате в крипто-хайп новините, след биткойн. За обикновените хора това е друга криптовалута и начин да направите най-модерното нещо, наречено ICO. Разработчиците на сайта описват Ethereum като „строител на блокчейн за вашите нужди“. Това също е възможно, да.

Но ако копаете още по-дълбоко, етерът не е просто мрежа от монети. Това е огромна глобална компютърна машина, където потребителите изпълняват кода на програмите на други хора (умни договори), като получават награда за всеки изпълнен ред. И всичко това е децентрализирано, неразрушимо и с всички гаранции на блокчейна.

Можем да говорим за Ethereum и смарт договорите толкова дълго, че ще е достатъчно за още един такъв пост. Затова ще действаме в стила на топ блогърите: ако тази публикация бъде активно републикувана и ретуитирана и до петък получи поне 1500 уникални гледания, ще напиша продължение за Ethereum и смарт договорите.

Препоръчано: