Блокчейн

от Уикипедия, свободната енциклопедия
Направо към навигацията Направо към търсенето
Блокчейн илюстрация

Блокова верига или блокчейн (транслитерация от английски: Blockchain, получено от block (на български: блок) и chain (на български: верига) е метод за съхранение на информация в компютърна мрежа, който представлява непрекъснато растящ списък от компютърни записи, наречени „блокове“, свързани помежду си и кодирани криптографски.[1]

Всеки „блок“ съдържа информация за предходния „блок“ и е удостоверен за време. Това осигурява хронологична цялост („integrity“) на веригата назад до първия „блок“. Тази технология е замислена като гарантираща сигурност чрез самия си дизайн, защото не позволява модифициране на данните. Така в нея могат да се записват трансакции между двама участници по начин, който е устойчив и подлежи на проверка.[2] Типично блоковата верига се съхранява в мрежата в разпределен вид (с физически копия върху отделни компютри) и не съществува едно-единствено „главно копие“. Участниците в мрежата са равноправни (peer to peer) и спазват определен протокол за валидиране на новите „блокове“. Веднъж валидиран и записан, никой „блок“ не може да бъде променян, без да се променят всички следващи го „блокове“.

Концепцията е родена от разпределената база данни в биткойн[3], но може да се прилага и в други случаи на удостоверените услуги, като проверка на самоличност[4], различни събития, медицински картони[5][6] и др.

История[редактиране | редактиране на кода]

31 октомври 2008 г. – Публикувана е „бяла книга“ (на английски: white paper), описваща работата на системата биткойн. В нея се съдържа първото детайлно описание на блокчейн. Публикувана е от Сатоши Накамото. По-късно се разбира, че това потребителско име най-вероятно е псевдоним.

3 януари 2009 г. – „Изкопан“ е първият „блок“, наречен „генезис блок“, който е част от първия блокчейн в света и това дава началото и на първата криптовалута, наречена биткойн.[7]

12 януари 2009 г. – Направена е първата трансакция, която ползва блокчейн технология, чрез биткойн.

5 откомври 2009 г. – Установен е първият обменен курс за криптовалута, ползваща блокчейн. Използвано е уравнение, което включва стойността на електричеството, нужно на компютър да генерира биткойни.[8]

Приложение в криптовалутите[редактиране | редактиране на кода]

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

Tранзакция[редактиране | редактиране на кода]

„Трансакция“ в блокчейн технологията се състои от няколко главни части.[3]

  • „Хеш“ – Цялата трансакция бива събрана в един низ. Използва се хеш-функция за това събиране. Така трансакцията получава уникален код, който не може да се дублира и може да бъде разпозната по него. Пример за хеш на трансакция, записана в блокчейна на Биткойн: c96086642593229de093e65a013b6d37932e17ec9f45da21a2d18f903cdd5d84[9]
  • „Входове“ – Адрес или адреси, от които е получена сумата или сумите, използвани в трансакцията.
  • „Изходи“ – Адрес или адреси, към които е пратена сумата или сумите, използвани в трансакцията.
  • „Електронен подпис“ (на английски: Digital signature) – Създаден е от частния ключ на изпращача или изпращачите. Чрез него се доказва, че адресът или адресите им принадлежат, и че те са собствениците на изпратените количества.
  • „Такса“ – Количество, пратено към „копача“, който е прибавил трансакцията в „блок“.

„Адрес“ представлява публичен ключ и не бива да се бърка с IP адрес.[3]

Не е задължително да има само един изпращач или един получател в една трансакция.[3]

Процес на копаене[редактиране | редактиране на кода]

„Копачът“ в блокчейн технологията се грижи за потвърждаването на трансакциите и тяхното организиране във времето.[3]

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

  • Дигитален подпис“ (на английски: Digital signature) е математически създаден и е невъзможен за фалшифициране, защото изисква фалшификаторът да държи частния ключ на изпращача.
  • Всеки „ключ“ се генерира от софтуера на изпращача и се записва на устройството му. След това се използва отново при всяко ново изпращане или получаване на криптовалутата.
  • Потребителят може да реши да генерира нови частни и публични ключове по всяко време и да използва тях. Потребителят може да трие ключове свободно, но ако към някой от тях е имало прикачено количество криптовалута, тя също ще бъде изгубена.
  • Частният ключ е невъзможен за декодиране от публичния ключ чрез „класически компютри“ поради математическите му свойства. На теория само добре развит квантов компютър ще може да наруши тази сигурност. Потенциални решения на този проблем биват изследвани на световен мащаб, тъй като засяга абсолютно всеки софтуер, ползващ криптиране.[10]
  • Софтуерът позволява на потребителя да предпази файловете си, като ги криптира с парола. Ако файлът не е криптиран, всеки който добие достъп до устройството на което се намира софтуера, ще може директно да извлече частният ключ и така да открадне цялото количество принадлежащо на потребителят на този частен ключ.

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

Този „блок“ се прибавя към блокчейна след последния „изкопан блок“. Така „копачът“ организира трансакциите във времето, тъй като без „блокове“ подред няма как потребител да е сигурен, че в Peer-to-peer (P2P) компютърна мрежа те ще пристигнат в определен ред.

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

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

Възнаграждение[редактиране | редактиране на кода]

„Копач“ бива наричан всеки, който създава „блокове“. За всеки валиден „блок“, който се създава или се „изкопава“, има автоматично възнаграждение от системата със криптовалутата, която се „копае“.[3]

За да се създаде „блок“, освен да се прибавят валидни трансакции, трябва и да се реши даден математически проблем.

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

Включат ли се повече „копачи“, системата се настройва сама така, че изчисленията да стават по-трудни за всички. Целта е да може да се разпредели наградата и да се избегне случай, където един „копач“ с много машини да изкопае всичката криптовалута за кратко време. Това би довело до получаване на пълен контрол над системата от този един „копач“ и ще се изгуби децентрализацията.[11][7]

Бъдещи приложения[редактиране | редактиране на кода]

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

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

Критики[редактиране | редактиране на кода]

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

Според критикуващите, енергията използвана за поддръжка на системата чрез „копаене“, базирано на „доказателство за извършена работа“ (на английски: Proof-of-Work, PoW), е твърде много. През 2017 г. биткойн „копаене“ достига 35 тераватчаса (TWh) годишно, което е установено като приблизителната консумация на цяла страна като България.[13]

Друга критика е липсата на реални приложения извън дигиталния свят. Спори се, че единственото, което докарва цена на криптовалутите от създаването им до първите им години на ползване, са спекулации. Също така почти всички приложения, за които се казва, че блокчейн е нужен, всъщност се смята, че не е и че даже може да се забавят вече съществуващи бързи системи.[14]

Предимства[редактиране | редактиране на кода]

Децентрализацията на системата дава предимство пред централизираните услуги с възможността си да преодолява големи хакерски атаки като DDoS, DoS или кражба на лична информация. Все пак винаги има опасност някой клиент да има пробив в сигурността и да бъде подложен на индивидуална атака, но това в общия случай не застрашава цялата мрежа. В такъв случай разработчиците може да приложат бърз „patch“, но ако не отреагират достатъчно бързо, може да се премине към по-стара версия, която да не съдържа опасния код. Ако и това не е възможно, работата на софтуера трябва да се спре и да се прекрати „daemon“, ако има такъв работещ. В достатъчно голяма мрежа, която работи с отворен код, поемането на контрола над блокчейн от страна на един индивид или една организация е невъзможно. Отвореният код и свободните за четене трансакции без закачени към тях лични данни осигуряват прозрачност, защита и свобода за потребителя.[15] Има системи, които позволяват „скрити трансакции“, като монеро.

Източници[редактиране | редактиране на кода]

  1. Narayanan, Arvind, Bonneau, Joseph, Felten, Edward. Bitcoin and cryptocurrency technologies: a comprehensive introduction. Princeton, Princeton University Press, 2016. ISBN 978-0-691-17169-2.
  2. Iansiti, Marco. The Truth About Blockchain. // Harvard Business Review. Харвардски университет, януари 2017. Посетен на 17 януари 2017. The technology at the heart of bitcoin and other virtual currencies, blockchain is an open, distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way.
  3. а б в г д е bitcoin.com
  4. Thompson, Kirsten and Eriq Yu. Estonian Blockchain-Based ID Card Security Flaw Raises Issues About Identity. // 28 септември 2017. Посетен на 3 октомври 2017. (на английски)
  5. Blockchains and electronic health records (PDF). // mcdonnell.mit.edu. Архив на оригинала от 2016-12-25 в Wayback Machine.
  6. MedRec: Medical Data Management on the Blockchain. // PubPub. 19 септември 2016.
  7. а б „coinwisdom.bg“, архив на оригинала от 30 август 2017, https://web.archive.org/web/20170830191822/http://coinwisdom.bg/kak-raboti-bitkoin/, посетен 30 август 2017 
  8. „historyofbitcoin.org“, архив на оригинала от 9 януари 2016, https://web.archive.org/web/20160109155827/http://historyofbitcoin.org/, посетен 9 януари 2016 
  9. explorer.bitcoin.com
  10. cloudblogs.microsoft.com
  11. www.coindesk.com
  12. Blockchain voting: Can it help secure our elections?. // zdnet.com. Посетен на 18 септември 2018. (на английски)
  13. technews.bg
  14. hackernoon.com
  15. www.aciworldwide.com

Външни препратки[редактиране | редактиране на кода]