Блокчейн

от Уикипедия, свободната енциклопедия
Jump to navigation Jump to search
Блокчейн илюстрация

Блокова верига или Блокчейн (транслитерация на английски: 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ранзакция[редактиране | редактиране на кода]

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

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

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

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

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

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

  1. Когато потребител публикува транзакция в мрежата, при получаване „копачът“ първо проверява валидността. Той прави това, като проверява електронен подпис закачен към транзакцията. Този „подпис“ е невъзможен за фалшифициране, защото изисква фалшификаторът да държи частния ключ на изпращача. Този ключ се генерира от софтуера на изпращача веднъж при съвсем първото стартиране на програмата и се записва на твърдия диск. След това се използва отново при всяко ново изпращане или получаване на криптовалутата. Потребителят може да реши да генерира нов частен и публичен ключ и да използва тях. Частният ключ е невъзможен за декодиране от публичния ключ закачен към него, тъй като изисква разделянето на публичния ключ на две масивни прости числа от които той е събран, като едното от тях е частния ключ. Дори с мощността на всички компютри в света това е невъзможно да се извърши за практичен период от време. Единствения начин сигурността на потребителя да бъде нарушена, е ако някой се добере до частния ключ на твърдия диск на потребителя, но понякога и това не е лесно, защото софтуерът позволява на потребителя да заключи файловете си с парола, като ги кодира.
  2. Ако транзакцията е валидна, копачът я записва в т.нар. „блок“, заедно с други получени и валидни транзакции.
  3. Той прибавя този блок към блокчейна, след последния „изкопан“ блок. Така той организира транзакциите във времето, тъй като без блокове подред няма как потребител да е сигурен, че в Peer-to-peer мрежа те ще пристигнат в определен ред, защото в такава мрежа няма ред.
  4. Транзакция бива считана за потвърдена веднъж, след като е прибавена в „блок“. Няма нужда да бъде прибавяна в следващия блок за следващото потвърждение, а просто да се преброи колко блока има между този в който тя присъства и най-новия блок. Колкото повече потвърждения има транзакцията, толкова по-сигурно е, че тя е необратима.

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

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

„Копачът“, бива наричан така, защото за всеки блок който той създава или „изкопава“, бива възнаграден от системата със криптовалутата която „копае“. Той бива възнаграден, защото за да създаде блок, той освен да прибави валидни транзакции, трябва и да реши даден математически проблем. Биткойн ползва SHA-256 хеш-функция, за да създаде този проблем. Изисква се копачът да създаде хеш с определен брой нули в началото. Тъй като SHA-256 е непредвидлив, това е равносилно на тото без ограничение на опитите, но с много малък шанс за познаване. Това отнема много време, дори с мощен хардуер и е по-лесно за решаване с повече и по-мощни машини, които извършват повече опити за по-малко време. Ако се включат твърде много „копачи“, системата се настройва сама така, че изчисленията да стават по-трудни. Целта е да може да се разпредели наградата, а не един копач с много мощни машини да изкопае всичката криптовалута сам. Това би довело до получаване на пълен контрол над системата от този един „копач“ и ще се изгуби децентрализацията.[9][7]

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

  1. 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. Харвардски университет, January 2017. Посетен на 2017-01-17. 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. https://bitcoin.com/bitcoin.pdf
  4. ((en)) 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). //
  6. MedRec: Medical Data Management on the Blockchain. // 19 September 2016.
  7. а б http://coinwisdom.bg/kak-raboti-bitkoin/
  8. http://historyofbitcoin.org/
  9. https://www.coindesk.com/information/how-bitcoin-mining-works/

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