3. Bitcoin vs bitcoin
• Bitcoin - с главно “B”
– Протокол за (псевдо) анонимна обмяна на
собственост в интернет без централна
институция.
• Bitcoin - с малко “b”
– Единица за участие в протокола.
4. Какво е Bitcoin протокола?
• Дефинира как може да се изпрати нещо ценно
пo интернет без централна институция, която да
потвърди транзакцията.
• Използва проста криптография за да подсигури
транзакциите.
• Промяна на протокола се приема от
потребителите само с консенсус > 50%.
• Протокола е изграден и продължава да се
изгражда от доброволци (open source).
5. Криптография
• Diffie-Hellman Key Exchange
– Ползва се за подписване на транзакции
• SHA-256
– Ползва се за “proof of work”
• Стандартни алгоритми, чиято сигурност е
доказана по математически път.
6. Diffie-Hellman Key Exchange
• Алис и Боб се уговарят да използват числото p = 23 за
делене с остатък и числото g = 5 за основа
• След това Алис избира едно цяло число а = 6 и
изпраща на Боб ключ A = ga(mod p)
– A = 56 mod 23 = 8
• Боб също избира цяло число b=15 и изпраща на Алис
ключ B = gb(mod p)
– B = 515 mod 23 = 19
• Алис изчислява общият ключ s = Ba(mod p)
– 196 mod 23 = 2
• Боб изчислява общият ключ s = Ab(mod p)
– 815 mod 23 = 2
7. SHA-256
• Биткойн му е майката!:
6E0E9EA85E1A7D5F8B1F0B17F3128A0E7BC05DAAE56E
65C13A9842FA6296ACA0
• Биткойн му е майката!17:
0ECD0378AFECEBB10F598818C7BE761F90C7D19B097C
B6E10E4BE34FC3075B4B
• Биткойн му е майката!122:
00188A215DF3C38A2F862AC0C0A7E67073E58516DFAF
667C6972A10696870D49
• Биткойн му е майката!17059640:
0000004CBF4A82203EF1DBBD3F5D53E1410E4661AE07
A240E0065623E7C1EEC8
8. Как работи Bitcoin протокола?
• Счетоводна книга, разпространена в самия
network.
• Транзакции се изпращат за добавяне в
счетоводната книга.
• Миньорите потвърждават транзакциите.
• Системата се подсигурява от конкурентното
миниране.
9. Какво е Block Chain-а?
• Счетоводна книга, разпространена на всички
клиенти в системата.
• Разпространява се като Torrent.
• Genesis block- създаден е за да може да се захрани
системата и се състои от своеволни данни.
• Header на всеки блок е hash от header-a на
предишния блок, което доказва че блокът е
автентичен.
• Всеки блок съдържа транзакции и се генерира
приблизително през 10 минути.
10. Какво е Bitcoin транзакция?
• Всеки потребител си има
– частен и публичен ключ.
– Bitcoin адрес се добива като се направи hash на публичния
ключ.
– Баланс на определения адрес, който се намира в block chain.
– Всичко това се прави напълно прозрачно и автоматично от
Bitcoin клиента.
• Потребител “А” подписва транзакция с часния си
ключ, адресирана към Bitcoin адреса на потребител
“B”.
• Транзакцията се изпраща в мрежата за потвърждение
11. Как се потвръждава транзакция?
• Миньорите приемат транзакциите и проверяват
наличния баланс на изпращача.
• Валидните транзакции се добавят към текущия
блок.
• Търсят hash с определени критерии, който се
създава от hash на предишния блок.
• След като намерят този hash, миньорът си добавя
собствен адрес с баланс от 25 BTC и публикува
блока.
• Всеки клиент добавя публикувания блок към
локалния block chain.
12. Bitcoin клиенти
• Както има много програми за боравене с
Torrent протокола, така има и много
програми за боравене с Bitcoin протокола.
• Desktop: Bitcoind, Armory, MultiBit, Electrum
• Mobile: приложения за Android (и Apple)
• Web: всяко web приложение, което държи
Bitcoin за потребителите (Blockchain.org,
Coinbase.com, Bitstamp.net, т.н.)
13. Сигурност
• Кражба на частни ключове.
– Всеки трябва да си пази частния ключ, както си
пази ПИН-а за дебитната карта.
• Атака на ключове, генерирани от слаби
фрази.
– Повечето клиенти автоматично генерират фрази
на случаен принцип.
• Атака на ключовете с груба сила.
• 51% атака с груба сила.
14. Атака на ключовете с груба сила
• 1 компютър, който може да прави 1 милиард
операции на секунда: 2^130 секунди.
• 1 милиард такива компютри: 2^100 секунди.
• 1 милиард приятели с по 1 милиард такива
компютри: 2^70 секунди.
• 2^25 секунди в годината, тоест 2^45 години.
• Вселената е на малко по-малко от 2^34 години
(около 14 милиард).
• Тоест, запретнете ръкави! :)
15. 51% атака
• Най-бързият компютър в света прави 54.9
PetaFLOPS, тоест 54.9 квадрилиона
операции в секунда и струва $290 милиона.
• Текущия Network Hash Rate е 13000+
Terahash/second или 17600+
PetaFLOPS/second.
• Нужни са 1603 за да се осъществи 51% атака
на стойност $464 милиарда долара.