Модул 3 от 8

Техническа история на Bitcoin

3.0 Въведение

Резюме на Bitcoin White Paper

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

Bitcoin не се появи от нищото, а стъпи върху работата на много хора през предходните десетилетия. Този модул ще разгледа основите на интернет, върху които Bitcoin се гради, както и изследванията и разработките, признати в whitepaper-а.

През 70-те години група хора наблюдаваха как правителството на САЩ, в частност, се опитва да ограничи достъпа до криптографията и се заеха да гарантират, че тази технология ще бъде достъпна за всички хора, за да защитят своята онлайн поверителност. Някои от тези ранни пионери също се фокусираха върху потенциалните ползи от дигитална система за „здрави пари“, която може да се използва за съхранение и обмен на стойност през зараждащия се интернет. Фридрих Хайек – водещ представител на австрийската икономическа школа – си представяше как би изглеждала идеалната валута, базирана на свободната пазарна конкуренция, много преди ерата на интернет, но реши, че това е технически и политически невъзможно. Освен дигиталната поверителност, тази група, която по-късно се превърна в Cypherpunks, се опита да реализира визията на Хайек за дигитални пари, но тези опити се провалиха, докато Сатоши не публикува своите идеи в пощенския списък.

  • TCP/IP протокол (1976)
  • Протоколи за публични ключови криптосистеми – Ралф Меркле (1980)
  • Digicash – Дейвид Чаум (1989)
  • Дигитално отбелязване на време (90-те)
  • Hashcash – Адам Бек (1997)
  • BitTorrent – Брам Коен (2001)
  • Reusable POW – Хал Фини (2004)
  • Bitcoin Whitepaper – Сатоши Накамото (2008)

Ключово влияние върху развитието на Bitcoin беше появата на движението Cypherpunk през 90-те години. Те разработиха няколко криптографски технологии, включително криптография с публичен ключ, която позволява на потребителите да комуникират и споделят информация сигурно и поверително. Много от описаните тук разработки и участващите хора бяха част от тази група.

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

3.1 Развитието на TCP/IP

Повечето от нас са запознати с протоколите TCP/IP, които днес служат като основа на интернет. Техният произход датира от края на 70-те години, когато учени са изследвали алтернативни дизайни на Arpanet – още по-ранна мрежа, създадена от Министерството на отбраната на САЩ, за да позволи споделяне на ресурси между отдалечени компютри. TCP/IP става стандартният протокол за Arpanet през 1983 г., което води до доминирането му като модел за мрежова комуникация до края на 90-те години и до днес е основата на интернет, върху който работи Bitcoin.

OSI модел TCP/IP
Приложение Приложение
Представяне Приложение
Сесия Приложение
Транспорт Транспорт
Мрежа Мрежа
Канален слой Канален слой
Физически слой Физически слой

По същото време, когато се разработва моделът TCP/IP, Международната организация по стандартизация (ISO) и телекомуникационната индустрия (CCITT) разработват подобна, но по-обхватна рамка. Процесът за разработване на нови протоколи или предлагане на промени е бил бавен и тромав в сравнение с по-децентрализирания подход, използван при TCP/IP, което води до доминирането на този подход днес.

Заявка за промяна

Всяко предложение за развитие на съществуващи протоколи или идеи за нови може да бъде предложено в TCP/IP модела чрез Заявка за промяна процес. Те преминават през процес на одобрение, управляван от Internet Engineering Task Force (IETF), и стават с отворен код след одобрение, за да може всеки да ги прилага и използва. Някои забележителни примери:

  • 1969 RFC 1 Документира как пакетите ще се изпращат в Arpanet
  • 1981 RFC791 дефинира Интернет протокол V4 – все още широко използван днес
  • 1982 RFC 821 Simple Mail Transfer Protocol
  • 1987 Domain Name System – как домейн имената се преобразуват в IP адреси
  • 1999 RFC 2616 Hypertext Transfer Protocol – основен за сърфиране в уеб

The Bitcoin Improvement Proposal (BIP) следва подобен подход на RFC, но се фокусира изцяло върху подобренията на самия Bitcoin, а не върху развитието на нови или алтернативни протоколи. Bitcoin също заимства от този слоест модел и ще видите допълнителни протоколи, описани като слой две или три.

По същия начин, както базовите слоеве на TCP/IP модела са се променяли сравнително малко през последните десетилетия, като иновациите се случват на по-горните слоеве, така и базовият слой на Bitcoin се очаква да се променя много бавно на този етап, като решения за мащабиране като Lightning и Liquid се развиват над него.

Добър пример за това как базовите протоколи стават трудни за промяна с времето е IPv6. Очакваното изчерпване на адресното пространство в IPv4 създаде нужда от нов протокол. Първият проект на стандарта е създаден през 1998 г., но е ратифициран като интернет стандарт чак през 2017 г. Въпреки че решава много проблеми на IPv4 и е много по-подготвен за бъдещето, все още се възприема много бавно в индустрията днес. През това време са дефинирани много нови протоколи на по-горните слоеве за мултимедия, имейл и др.

Строителните блокове, използвани от Bitcoin

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

Слой Оригинален TCP/IP
Приложение Използва Domain Name System (DNS) за идентифициране на съседни възли. Порт 8333 сигнализира Bitcoin протокола.
Транспорт UDP за FIBRE комуникация между копачи за ниска латентност. TCP за P2P комуникация между възли.
Транспорт TOR маршрутизиране: Позволява анонимност и поверителност. Broadcast протокол: Препраща трафика през мрежата.
Канален слой Работи върху всякакъв носител (напр. Ethernet, Wi-Fi и др.)
Физически слой Физическо предаване чрез безжична връзка, Ethernet или други хардуерни интерфейси.
Bitcoin е неутрален протокол за прехвърляне на стойност, както HTTPS е протокол за прехвърляне на информация
  • HTTPS: Сигурни уебсайтове
  • SMTP: Изпращане на имейли
  • FTP: Прехвърляне на файлове
  • DNS: Управление на домейн имена
  • BTC: Съхраняване и прехвърляне на стойност

Bitcoin позволява стойността да се пренася надеждно и без необходимост от трета страна между хора или устройства през Интернет. Очаква се това да отключи огромна стойност.

3.2 Криптография с публичен ключ и протоколи

Днес интернетът и повечето съвременни компютърни системи разчитат на криптографията – метод за прикриване на информацията, така че само получателят да може да я разкодира. Основите на криптографията, използвана за защитата на Bitcoin, могат да бъдат проследени до 70-те години на миналия век.

Първият проблем, който трябва да се реши, е – как да се изпрати споделена тайна през незащитена среда.

Това за първи път е разгледано от Уитфийлд Дифий и Мартин Хелман.

Проблемът: двете страни – обикновено наричани Ани и Борис – искат да споделят тайна информация през мрежа, в която други могат да подслушват. За да постигнат това, те създават процеса за обмен на ключове на Дифий-Хелман.

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

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

Примери за употреба:

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

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

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

Протоколи за криптосистеми с публичен ключ

Освен че допринася към системата с публичен ключ на Дифий-Хелман, описана по-горе, Ралф Меркле продължава да допринася в тази област в продължение на много години и има ключова роля в разработването на някои основни компоненти, използвани от Bitcoin.

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

  • Входните данни могат да бъдат с всякакъв размер
  • Изходът винаги е с фиксирана дължина и е детерминиран (един и същ вход създава един и същ хеш всеки път)
  • Лесно е да се провери, но е изключително трудно да се обърне процесът, за да се определи входът
  • Дори малка промяна в данните напълно променя изхода
Hash function

Хеширането е неразделна част от протокола на Bitcoin. SHA-256, използван в Bitcoin, е създаден от NSA и е пример за криптографски хеширащ алгоритъм.

  • Всеки блок във веригата е хеширан, така че данните не могат да бъдат променени – това гарантира целостта на разпределената счетоводна книга.
  • Генерираният хеш трябва да отговаря на критериите за „Доказателство за работа“ (Proof of work), за да се счита за валиден блок.
  • Дърветата на Меркле – чрез използване на разклонения и хешове на хешове, хеш дърветата позволяват проверка на големи масиви от данни с минимално съхранение.
  • Хеш базирани подписи и ключове могат да се използват за портфейли, адреси и оторизация на транзакции.

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

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

Криптография с елиптични криви

Една от по-късните иновации идва под формата на криптография с елиптични криви.

Криптографията с елиптични криви е въведена през 1985 г. от двама учени – Н. Коблиц и В. Милър. Те предлагат идеята да се използват точки, дефинирани от елиптични криви, вместо крайни прости полета, така че да се запази предположението за проблема с дискретния логаритъм, както се използва в стандартния протокол за обмен на ключове на Дифий-Хелман. Подробностите за това как работи са извън обхвата на тази секция, но на високо ниво елиптичната крива е множеството от точки, които удовлетворяват определено математическо уравнение.

Уравнението за елиптична крива изглежда приблизително така:

Elliptic curve

Това има някои полезни свойства:

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

Тези свойства могат да се използват за създаване на двойки ключове по подобен начин на алгоритъма на Дифий-Хелман. Bitcoin използва ECDSA, което е съкращение от Elliptic Curve Digital Signature Algorithm. Това е процес, който използва елиптична крива и крайно поле, за да „подпише“ данни по такъв начин, че трети страни да могат да проверят автентичността на подписа, докато подписващият запазва изключителното право да създава подписа. При bitcoin данните, които се подписват, са транзакциите, които прехвърлят собствеността.

„Крайната“ част е подобна на подхода с „mod“ при Дифий-Хелман, където изходът на уравнението се разделя и остатъкът се използва, за да се гарантира, че попада в определен диапазон от числа.

3.3 DigiCash

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

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

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

Правителствата са добри в това да „отрязват главите“ на централно контролирани мрежи като Napster, но чистите P2P мрежи като Gnutella и TOR изглежда се справят сами.Satoshi Nakamoto

Децентрализираните системи без централен орган – peer-to-peer – предоставят няколко предимства:

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

Десетилетие по-късно той основава своята компания Digicash, за да създаде „ecash“ – първата в света система за дигитални пари. Много известни имена се присъединяват към Digicash за известно време, компанията постига известен успех, но в крайна сметка се проваля и обявява фалит.

По-нататъшно развитие на дигиталните пари

В публикация във форум от юли 2010 г. Satoshi Nakamoto казва: „Bitcoin е реализация на предложението b-money на Wei Dai в Cypherpunks през 1998 г. и предложението Bit Gold на Nick Szabo.“

Въпреки че нито една от тези две идеи не преминава отвъд фазата на предложение, някои от концепциите в тях очевидно оказват влияние върху развитието на Bitcoin:

  • Използване на „доказателство за работа“ (Proof of work), за да се придаде парична стойност на изчислителния труд
  • Концепцията, че цената на изчисленията се променя с времето и трябва да се взема предвид

Но първо ще разгледаме Hashcash.

3.4 Hashcash

Hashcash беше създаден от Adam Back, още един от ранните иноватори в тази област. Adam имаше силен интерес към свободните пазари и поверителността в интернет и попадна на пощенския списък на Cypherpunks, към който се присъедини и стана активен участник.

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

Ключовата иновация, която Hashcash въведе, беше свързването на реални ресурси – изчислителна мощ – с дигитална мрежа. Докато дигиталните ресурси до този момент можеха да се копират неограничено, броят на създадените „hashcash“ беше ограничен от това колко енергия хората са готови да вложат.

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

BitGold

Nick Szabo надгради концепцията на Hashcash и доказателството за работа, за да предложи алтернативно решение, което описа в пощенски списък година след публикуването на Hashcash, през 1998 г.

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

  • Кой ще управлява регистъра на собствеността на хешовете и как може да му се има доверие?
  • Хеширането обикновено ще става по-евтино с времето, което е предизвикателство и за HashCash.

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

B-Money

Скоро след предложението за Bit Gold, Wei Dai предложи подобно решение. Той вече беше разработил няколко други инструмента за Cypherpunks и имаше свои собствени идеи за дигиталните пари.

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

Wei Dai предложи няколко решения на тези проблеми, едно от които беше вместо централна организация(и) да поддържа регистъра, ВСИЧКИ възли да поддържат копие. Ако всички потребители проверяват собствения си регистър и валидността на всяка транзакция, стига всички възли да са актуални, регистрите трябва да останат синхронизирани в цялата мрежа. Тази силно разпределена система би било трудно да се компрометира.

Wei Dai осъзна, че това не решава проблема на византийските генерали (1), тъй като възлите лесно могат да изгубят синхронизация или просто да лъжат. Той предложи алтернативни методи, като например подмножество от „доверени“ сървъри, които да поддържат регистъра, и създаване на финансови стимули тези сървъри да бъдат честни.

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

3.5 BitTorrent

Друг проект, който изигра значителна роля в оформянето на криптовалутите преди появата на биткойн, е BitTorrent.

През 2001 г. Брам Коен публикува дизайн за протокол, наречен BitTorrent, създаден за работа в система за споделяне на файлове от тип peer-to-peer. Той започва работа във фирма, наречена MojoNation, която е създадена, за да позволи на хората да разделят поверителни файлове на криптирани части, които се разпределят по компютри с инсталиран софтуер. Копие от файла се изтегля едновременно от няколко компютъра. Въпреки че в крайна сметка проектът се проваля, това въвежда Коен в сферата на споделянето на файлове, където той решава, че може да създаде по-добър протокол, който се състои от:

  • Swarm: общност от машини, които изтеглят или качват съдържание
  • Tracker: специализиран инструмент, който функционира подобно на търсачка, но следи файловете, съдържащи се в swarm-а. Това позволява на потребителите лесно да виждат и достъпват всеки файл, който им е необходим
  • BitTorrent клиент: инсталира се на компютър за достъп до tracker-а. Обърнете внимание, че swarm-ът е единственото място, където файловете реално се съхраняват
  • Схема за стимулиране, при която потребителите, които споделят файлове в мрежата, получават по-бързо изтегляне

Прилики с Bitcoin:

  • И двата протокола работят на принципа peer-to-peer
  • Децентрализиран дизайн
  • BitTorrent файловете и счетоводната книга на Bitcoin са разпределени в мрежата
  • Отворен код (BitTorrent впоследствие става софтуер със затворен код)

3.6 Многократна доказателство за работа

Hal Finney е друг известен член на движението Cypherpunk, който беше много заинтересован от развитието на електронните пари и беше активен в пощенския списък.

Той реши да направи нов опит за разработване на система за електронни пари, базирана на доказателство за работа (proof-of-work). До този момент изходът на хеша беше уникален за всяка транзакция, но неговата идея беше да създаде „повторно използваеми доказателства за работа“.

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

Решението все още се сблъскваше с някои от същите проблеми като другите предложения:

  • Проблемът „кокошката или яйцето“ при приемането, при който липсва стимул за потребителите да искат да заявят токени, а продавачите не желаят да се свържат със системата, освен ако потребителите не искат да плащат с тези токени.
  • Доказателството за работа (POW) вероятно също ще поевтинява с времето, тъй като изчислителната мощност се подобрява, което предполага, че пазарът в крайна сметка ще бъде залят с единици валута RPOW.
Ако законът на Мур продължи да бъде валиден, цената за създаване на (POW) токен ще намалява с постоянен, експоненциален темп. Имайте предвид, че това не са пари и не е предназначено да бъде средство за съхранение на стойност, а по-скоро лесно разменяема репрезентация на компютърно усилие.
Hal Finney

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

3.7 Биткойн

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

Да обобщим до този момент, имаме поне следните идеи:

  • Криптографски подписи, които могат да осигурят ниво на поверителност и анонимност
  • Концепция за необезпечена валута (B-Money)
  • Предложения (но не и средства) за ограничаване на емитирането на нова валута
  • Дигитални монети, чиято собственост се определя чрез публични ключове (B-Money) и могат да се прехвърлят чрез подписване и пренасочване според адреса на получателя (RPOW и Hashcash)
  • Всички възли поддържат копие на напълно разпределена счетоводна книга (B-Money) (по това време отхвърлена като непрактична)
  • Протокол за отбелязване на време – използване на Merkle дърво хеширане за осигуряване на математически доказуема хронология на събитията, която е трудна за фалшифициране, ако всички потребители пазят едни и същи записи
  • Доказателство за работа (proof of work), за да се свърже реалното усилие със системата (но използвайки самия хеш като валута)
  • Напълно децентрализирани мрежи, в които всички участници са равни и могат да влизат и излизат от мрежата (BitTorrent)
  • Концепция за свързване на нови хешове с предишни хешове (Bit Gold и отбелязване на време)

Това, което липсваше по това време, включваше:

  • Жизнеспособно решение на проблема на „византийските генерали“
  • Метод за ограничаване на количеството пари в обръщение въпреки непрекъснатите подобрения в хардуера
  • Схема за стимулиране на хората да участват (проблемът с кокошката и яйцето)

Другата основна разлика между последните опити и Bitcoin беше, че Сатоши е работил по кода известно време в истинския дух на „Cypherpunks write code“ преди да го обяви в пощенските списъци, за разлика от Bit Gold и B-Money, които бяха по-скоро концептуални.

Каква беше иновацията, която отличи Bitcoin от предишните опити за електронни пари?

Доказателството за работа (proof of work) щеше да се използва като механизъм за консенсус и начин за осигуряване на сигурност и неизменяемост: Вместо да се използва хешът като форма на пари, той щеше да се използва от нов концептуален процес, наречен копаене (mining), при който възел събира група транзакции, добавя произволно число и след това прилага хеширане към „блока“ от данни. Валиден блок, който отговаря на изискването за хеш, след това се обявява в мрежата. Тези блокове се свързват чрез хеша на предишния блок във всеки, а най-дългата блокчейн се използва при равенство, когато различни възли валидират и обявяват различни блокове едновременно, създавайки разклонения на веригата. Доказателството за работа стана разпределеният механизъм за разрешаване на проблема на византийските генерали.

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

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


Обобщение

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

Природата на Bitcoin е такава, че след като версия 0.1 беше пусната, основният дизайн беше фиксиран за целия му живот
Satoshi Nakamoto

Въпреки че са предложени и приети много идеи за подобрения (BIP), Bitcoin работи във фонов режим от 2009 г., следвайки протокола, заложен в първоначалната версия, и почти без прекъсвания. Всички подобрения са направени, като се запазва обратната съвместимост с всички предишни версии.

Бележки
  1. За обяснение на проблема на византийските генерали – вижте https://en.wikipedia.org/wiki/Byzantine_fault

↑ Обратно към съдържанието