За Съвсем Начинаeщи: Как работи Биткойн? Криптография.

Започната от Биткойн.БГ, Декември 05, 2013, 04:41:13 PM

« назад - напред »

Биткойн.БГ

Как работи Биткойн?

Използва криптография с обнародван ключ, разпределена (P2P) мрежа и схема известна като доказателство за извършена работа (proof-of-work) за обработка и проверка на преводите.

Криптография с Обнародван Ключ

Биткойн е мрежа за размяна на кратки съобщения подписани с частните електронни подписи на участниците. Като паричен знак Биткойн се нарича крипто-валута, защото в основата е криптографията (гр. kryptographia* - тайнопис, шифър). Това е една от най-старите науки и съществува от няколко хиляди години. Съвременната криптография се характеризира с използването на изчислителни машини с голяма производителност и от там с усложняване на прилаганите математически алгоритми за шифроване (криптиране) и дешифроване (декриптиране). В ерата на Интернет най-използван метод е криптографията с обнародван ключ (шифър). При този метод електронният подпис се състои от две части или още, от два ключа - частен и обнародван. Тези два ключа представляват символни низове с различна размерност и са математически еднопосочно свързани един с друг. От частния ключ може лесно да изчислим обнародвания ключ, но обратното е практически невъзможно. Този метод още се нарича асиметрична криптография чрез двойка съответстващи ключове. Теоретичната основа е дадена от дял в математиката наречен Математика на Елиптичната Крива.

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

Обнародваният ключ от нашия електронен подпис ползват други лица, които искат:

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

  • Да удостоверим собствената си самоличност пред друго лице и да подпишем съобщение, което лицето може да прочете ако знае нашия обнародван ключ.
  • Да прочетем лично съобщение изпратено до нас от друго лице, тъй като е подписано с нашия обнародван ключ и само ние може да го прочетем.
Образно казано, отделящата ни от външния свят двойна информационна врата откъм частната (вътрешна) страна се отключва и заключва с частния ключ, а откъм обществената (външна) страна се отключва и заключва с обнародвания ключ. Този е начина на действие и на окачествените електроннни подписи издавани от фирми вписани като доставчици на удостоверителни услуги от Комисията за регулиране на съобщенията по Закона за електронния документ и електронния подпис на Република България. Има все пак някои малки разлики между окачествените електронни подписи и частните електронни подписи използвани в Биткойн мрежата, на които си струва да се обърне внимание:

  • Хеш-функцията (англ. hash - разбърквам, раздробявам) е еднопосочна математическа функция, при която входен масив от данни с произволна дължина се преобразува в кратък символен низ с точно определена дължина. Това сбито представяне на входната последователност наричаме хеш-дроб, хеш-стойност, цифров отпечатък или извлечение (digital fingerprint, message digest). Дори и най-малката промяна на входния масив, като замяна на главна буква с малка, въвеждане или изтриване на празно място, слагане или премахване на точка или запетайка, води до съвсем различна хеш-стойност. Когато два различни входни масива имат еднакъв цифров отпечатък казваме, че има насрещен сблъсък или колизия (лат. collisio). Колкото по-малка е вероятността от колизия, толкова по-качествена е една хеш-функция. За да се сведе тази възможност практически до нула се прилагат хеш-алгоритми, които представляват набор от различни хеш-функции.
  • Ползата от прилагането на хеш-алгоритми е в това, че ако имаме два или повече входни масива няма нужда да ги сравняваме символ по символ за да установим дали са тъждествени. Достатъчно е да сравним техните цифрови отпечатъци. Ако използваме метафора, може да сравним еднопосочната математическа зависимост с тази при хората и техните пръстови отпечатъци. Ако имаме един човек пред нас много лесно може да свалим негов пръстов отпечатък. Ако разполагаме обаче само с пръстов отпечатък и не знаем нищо друго за този човек, не можем да правим обосновани предположения за неговата възраст, височина, тегло, коса, очи, раса, религия, народност или други особености. Знаем само, че става въпрос за един и същ човек. Точно такава е зависимостта между частния и обнародвания ключ в един електронен подпис. Най-широко разпространеният хеш алгоритъм прилаган към момента в окачествените електронни подписи е SHA-1 RSA. SHA означава обезопасен хеш-алгоритъм (англ. secure hash algorithm). RSA са началните букви от имената на неговите създатели - Рон Ривест (Ron Rivest), Ади Шамир (Adi Shamir) и Леонард Аделман (Leonard Adleman). Частните електронни подписи в Биткойн мрежата използват SHA-2. Има разработки за преминаване към нов хеш-алгоритъм, когато рано или късно това се наложи.
  • Ако един притежател на окачествен електронен подпис изгуби частния си ключ, може да отиде до фирма доставчик на удостоверителни услуги за да му се издаде нов. Фирмата нулира стария електронен подпис в обнародвания списък и срещу такса и представен документ за самоличност вписва нов електронен подпис. Ползвателите на Биткойн мрежата нямат такива ограничения. Те могат да произведат за себе си стотици, дори хиляди електронни подписи, тъй като това става само с едно щракване на компютърната мишка. Обнародваният ключ в Биткойн мрежата играе ролята на Биткойн сметка или още, на Биткойн адрес. Всеки, който прави Биткойн превод във ваша полза всъщност излъчва съобщение в мрежата подписано с вашия обнародван ключ. Тъй като само вие притежавате съответстващия частен ключ, само вие може да го "отключите" и да се разпореждате със салдото по тази Биткойн сметка. Тази гъвкавост обаче, си има цена! Няма кой да ви помогне ако загубите частните ключове. Затова от изключителна важност е да може да носите отговорност за собствените си пари. Трябва да се поддържа обезопасен архив с частните ключове. Носителите на съответната информация могат да са различни според предпочитанията. Символната поредица може да се съхранява на външен магнитен носител като флаш памет или пък разпечатана на хартия. Не трябва да забравяте, че повече копия не винаги е по-добре, защото всеки който се добере дори и до едно необезопасено копие на частен ключ всъщност може неограничено да се разпореди с парите по съотвестващия Биткойн адрес!

В една открита и общодостъпна мрежа каквато е Интернет не е лесно да се опазят, както личните данни на отделните лица, така и търговските тайни на стопанските организации. Ето защо ролята на криптографията ще нараства с изпреварващи темпове.




* гр. κρυπτός, криптос - скрит, и γράφω, графо - пиша