Биткойн е нова система за виртуална валута, която набра доста голяма популярност в последно време, така че реших да направя поредица от видеа, в които да опиша подробно съставните ѝ части и начина ѝ на работа. Планът ми за това първо видео е да опиша най-общо някои от тези елементи. В следващите видеа ще задълбая малко повече в аспектите, които ще засегна в това първо видео. Надявам се, че до края на тази серия от видеа не само ще знаеш какво е биткойн, но и ще разбираш технологията за извършване на транзакциите. Ще разбереш как се случва верификацията на тези транзакции и какво всъщност означава да се занимаваш с процеса, наречен "копаене на биткойни". Този термин вероятно ти е познат, ако биткойн е привлякъл интереса ти в последно време. Също така искам да подчертая, че методът на бикойн е сравнително заплетен. Изисква се известно време, за да се опишат всички съществени детайли. За мен най-добрият начин да разбереш метод като биткойн е да ми се довериш за малко и да се запознаеш с всички релевантни подробности. През това време със сигурност ще имаш много въпроси. Надявам се до края на тази поредица да засегнем всички важни теми и да получиш задоволителни отговори на всичките си въпроси. Това вероятно ще отнеме известно време, отчасти защото се опитвам да обяснявам нещата постепенно. Това може да налага пропускането на някои детайли, докато обясня достатъчно елементи от схемата. Така мога да добавям подробностите постепенно, без да те заливам с твърде много незначителни детайли и нюанси наведнъж, а да получиш представа за цялостната система. След като изяснихме това, вече можем да започваме. Първо, искам да подчертая, че биткойн наистина се представя като децентрализирана валута, защото реално няма централизирана банка или учреждение, което да участва в генерирането на биткойни или техните транзакции. Всъщност в контекста на биткойн транзакциите се нуждаят единствено от мрежа тип потребител към потребител – мрежа от независими участници, които са се съгласили помежду си за различните аспекти на използване и имплементация на протокола. Самият биткойн понякога е наричан криптовалута, което означава, че се използват редица криптографски техники за извършването на биткойн транзакции. Ще направя отделни видеа за някои от тези техники, но засега просто приеми, че е децентрализирана и е вид криптовалута. Също така искам да подчертая, че самият термин "биткойн" (бит монета) може да бъде малко подвеждащ. Биткойн транзакциите не приличат толкова на транзакциите с традиционни монети. В много отношения приличат на редове в някаква глобална счетоводна книга. Да кажем, че в момента се извършва транзакция и да кажем, че тази транзакция се извършва от две страни – ще ги наречем Алис и Боб. Това са традиционни имена, които се използват в много криптографски протоколи за описване на участниците. Представи си, че Алис иска да прехвърли (или да зачисли) някакъв брой от нейните биткойни на Боб. Можеш да гледаш на тази транзакция като на запис в някаква счетоводна книга. Преди да продължим, искам да подчертая, че макар да използвам имена като Алис и Боб, в контекста на биткойн няма реални лица във физическия смисъл на думата. Алис и Боб са субекти в биткойн системата, които в действителната ѝ имплементация представляват просто съвкупност от числа, които не са непременно свързани с реални личности. Можеш да мислиш за биткойн като за протокол, основан на псевдоними. Идеята е, че на практика се използват псевдоними вместо реални имена. Адресирането става чрез псевдоними, което предоставя някакво ниво на поверителност на потребителите, желаещи да извършват транзакции в биткойн системата. При транзакцията между Алис и Боб Алис ще дефинира няколко различни стойности. Тя трябва да определи броя биткойни, които иска да зачисли на Боб. Да кажем, че Алис има 50 биткойна и иска да даде 30 от тях на Боб. Тя иска да получи обратно част от биткойните си, така че трябва да дефинира точно какво ресто очаква. Да кажем, че в този случай това ще са 18 биткойна, като останалите 2 са такса за транзакцията. По-късно ще поговорим какво представлява тази такса. Смятам да я обсъдя обстойно в бъдещите видеа, но по принцип е стимул за останалите участници в биткойн мрежата да помогнат на Алис с валидацията на детайлите, свързани с тази транзакция за Боб. Алис ще вземе детайлите за транзакцията и ще приложи т.нар. електронен подпис върху тях. Електронният подпис е математически аналог на традиционния. Обвързва Алис с детайлите на тази транзакция. Отново, под Алис имам предвид псевдоним в биткойн системата, а обвързването е направено по надежден криптографски начин. Детайлите на тази транзакция, щом тя се осъществи, ще бъдат публикувани в мрежата. Алис ще вземе детайлите на транзакцията и на практика ще ги публикува до всички участници в мрежата от тип потребител към потребител, които представляват биткойн звена. Когато Боб получи информация за транзакцията по тази мрежа, вероятно ще провери някаква част от нея. Може да провери например, че числата излизат верни. Че, да кажем, Алис наистина има 50 биткойна и не се опитва да му прехвърли повече от това. Заради използваната криптография, той ще е математически подсигурен, че някои от тези становища са верни: че Алис наистина разполага с биткойните, които твърди, че има и че е изразила желанието си да ги прехвърли на него. Но на този етап няма да знае дали Алис не се е опитала да прехвърли тези биткойни на някой друг през това време или вероятно точно преди това. Този проблем се решава като… Между другото, трябва да вметна, че концепцията за това Алис да се опита да използва монетите си два пъти в контекста на цифрови парични средства и системи за електронна валута е известна като "двойно харчене". Тя е проблем при виртуалните валути, защото е много лесно да копираш числата, които представляват една транзакция и да се опиташ да ги използваш отново. Начинът, по който се справяме с двойното харчене или намаляваме риска за него, е чрез специализирано множество от звена в тази мрежа от тип потребител към потребител, които се наричат "биткойн копачи". Този термин може да ти е познат. Биткойн копачите са специфични участници, специфични звена в тази мрежа, които вземат всички транзакции, които видят. Те подслушват всички транзакции – не само тези на Алис и Боб, но и всички останали. Ще вземат тези транзакции и в крайна сметка ще съставят с тях т.нар. транзакционен блок. Това представлява отчет, съдържащ всички неотчетени до този момент транзакции. Ако една транзакция отговаря на, да кажем, един ред в счетоводна книга, тогава можеш да гледаш на транзакционния блок като на една цяла страница в тази книга. Биткойн копачите, освен всички тези неотчетени транзакции, ще включат в този блок специална транзакция, предназначена само за тях, която ги възнаграждава за усилията, положени за това копаене. Транзакционният блок ще съдържа и закодираното съдържание на предишния транзакционен блок, с което се създава последователност. Биткойн копачите ще включат и специално създадена последователност от числа, която се асоциира с тези транзакции. Тази последователност от числа се нарича "доказателство за свършена работа". Нарича се така, защото много трудно се генерира, изисква огромни усилия. Копаенето на биткойни не може да се прави от всеки, защото изисква предоставяне на някаква значима изчислителна мощ в замяна на заплащането, което получават като награда, и таксата за транзакцията, обещана от Алис за тази работа. Ще поговоря за протоколите на доказателството за свършена работа в отделно видео. Тъй като всеки транзакционен блок съдържа информация за предишни транзакции, реално получаваш повече от един-единствен блок. Можеш да гледаш на това като на низ от транзакции или низ от транзакционни блокове. Идеята е, че веднага щом един биткойн копач успее да конструира низ от транзакционни блокове, съдържащ всички тези неотчетени транзакции и доказателството за свършена работа, той ще го обяви публично до всички звена, всички участници в мрежата от тип потребител към потребител на биткойн. И когато се потвърди, че новопубликуваният низ притежава правилните свойства, участниците в мрежата просто ще започнат да го използват и да добавят нови транзакционни блокове към него. Ще вземат необработените заявки и ще започнат да ги добавят към транзакционния низ, публикуван от звеното, което правилно изчисли доказателството за свършена работа. Този низ от транзакционни блокове… В контекста на биткойн звената ще имат предвид само този низ от транзакционни блокове, който изисква най-голямо количество работа за генериране на съдържанието му. Имаме и доказателството за свършена работа, с което се идентифицира количеството работа за изчисляване на низа от транзакционни блокове. Най-дългият низ ще се счита за свещен от биткойн системата. Бъдещите копачи трябва да работят само върху низа, който изисква най-много работа. Забележителното тук е, че целият процес е децентрализиран. В транзакцията не е въвлечена доверена банка или друго централизирано учреждение. Надявам се, че това първо видео ти даде представа или усещане как работи системата с биткойн в най-общия смисъл. Има още много камъни за обръщане. В следващите видеа ще разгледаме тези подробности. Сигурен съм, че имаш много въпроси и се надявам, че следващите видеа ще ти помогнат да си отговориш на някои от тях.