Professional Documents
Culture Documents
Лекція 12 (презентация) ,kjrxtqy
Лекція 12 (презентация) ,kjrxtqy
Те ма 3 . П и т а н н я бе з п е к и
д е ц е н т р а л і з ов а н и х с и с т е м
Лекція 12
Навчальні питання:
1. Завдання про розорення гравця
2. Стани системи (ланцюг зловмисника – ланцюг чесної мережі)
Діаграми станів
Ймовірності станів
3. Аналітичний розрахунок ймовірності формування ланцюжка
блоків заданої довжини
Ймовірність формування одного блоку
Ймовірність формування ланцюжка з двох блоків
Ймовірність формування ланцюжка з трьох блоків
Ймовірність формування ланцюжка з N блоків
4. Функція розподілу часу формування блоку мережі Bitcoin
Й мов і р н і с т ь ус п і ш н о го п р ов ед е н н я 2
ат а к и 5 1 % ( B i t c o i n : A P e e r- t o - P e e r
E l e c t ro n i c C a s h S y s t e m . S a t o s h i N a ka m o t o )
https://bitcoin.org/uk/bitcoin-paper
3
Ро з р а ху н к и С ато ш и Н а ка мото
Розглянемо сценарій, в якому зловмисник намагається генерувати більш довгий
ланцюг блоків, ніж чесні учасники. Навіть якщо він досягне успіху, це не призведе до
того, що можна буде створювати «гроші з повітря», привласнювати собі чужі монети
або вносити інші довільні зміни. Вузли ніколи не приймуть некоректну транзакцію,
навіть якщо блок її містить. Атакуючий може лише намагатися змінити одну зі своїх
транзакцій, щоб повернути собі гроші.
Гонку між чесними учасниками і нападаючим можна уявити як біноміальне
випадкове блукання. Успішна подія, коли "чесний" ланцюг подовжується на один
блок, призводить до збільшення відриву на одиницю, збільшуючи свою перевагу на 1
, а неуспішна, коли черговий блок формує зловмисник, – до його скорочення на один
блок, зменшуючи розрив на 1. Ймовірність атакуючого наздогнати різницю в кілька
блоків така ж, як і в задачі про "розорення гравця". Уявімо, що гравець має
необмежений кредит, починає з деяким дефіцитом і у нього є нескінченно багато
спроб, щоб відігратися.
4
Ро з р а ху н к и С ато ш и Н а ка мото
Ймовірність того, що зловмисник досягне успіху, тобто ймовірність зловмисника
наздогнати чесних учасників, обчислюється таким чином:
p ймовірність появи блоку у чесному ланцюжку
1 якщо, p q
qz
q p якщо, p q
z
Ро з р а ху н к и С ато ш и Н а ка мото
Розглянемо тепер, як довго одержувачу платежу варто чекати, перш ніж він буде
повністю впевнений, що колишній власник не зможе скасувати транзакцію. Ми
припускаємо, що зловмисник-відправник дозволяє адресату деякий час вірити, що
платіж був проведений, після чого повертає гроші собі. Одержувач дізнається про це,
але шахрай сподівається, що буде вже занадто пізно.
Адресат створює нову пару ключів і повідомляє свій публічний ключ
відправнику прямо перед підписанням транзакції. Це не дозволить відправнику
заздалегідь почати працювати над ланцюжком і провести транзакцію в той момент,
коли він буде досить вдалим, щоб зробити ривок вперед. Після відправки платежу
шахрай починає потай працювати над паралельною версією ланцюжка, що містить
альтернативну транзакцію.
6
Ро з р а ху н к и С ато ш и Н а ка мото
Одержувач чекає, поки транзакція не буде додана в блок і поки той не буде
продовжений ще z блоками. Йому невідомий прогрес зловмисника, але якщо середня
швидкість генерації чесних блоків – відома величина, то число блоків нападника
q
підпорядковується розподілу Пуассона з математичним очікуванням: z .
p
Щоб отримати ймовірність того, що атакуючий обжене чесних учасників, ми
множимо значення випадкової величини (число створених ним блоків) на ймовірність
того, що він зможе надолужити різницю, що залишилася:
k e q p
z k
если k z
k 0
k ! 1
если k z
П р и п у щ е н н я С . Н а ка мото
e
1 q
z k
z k
1 p
k 0 k!
Ме тод Мо н т е - Ка рл о
В и п а д ков е бл у ка н н я
t0 t1 t2 t3 t4 t5
x5 0,16807
x4 0,2401 0
x3 0,343 0 0,36015
x2 0,49 0 0,4116 0
x1 0,7 0 0,441 0 0,3087
x0 1 0 0,42 0 0,2646 0
x1 0,3 0 0,189 0 0,1323
x2 0,09 0 0,0756 0
x3 0,027 0 0,02835
x4 0,0081 0
x5 0,00243
11
В и п а д ков е бл у ка н н я
З а вд а н н я п р о р о з о р е н н я г р а в ц я
Вона моделює гравця, який входить в казино, щоб зіграти в просту азартну гру.
Гравець ( A ) і казино (гравець B ) мають відповідно a і b монет і при кожній партії
деякої гри один з них виграє у іншого 1 монету. Імовірність виграшу гравця A для
кожної партії дорівнює p , для гравця B ймовірність виграшу дорівнює q 1 p .
Питання: чому дорівнюють ймовірності pa і pb того, що гравець A виграє (відповідно
виграє гравець B ) гру (тобто гравець A виграє всі гроші B раніше, ніж B виграє їх
у A ).
В и п а д ков е бл у ка н н я
В и п а д ков е бл у ка н н я
Й мов і р н о с т і с т а н і в
Розглянемо ймовірності настання якої-небудь події. Для визначеності покладемо
ймовірність формування блока зловмисником за кожну спробу q 0,3 (вірогідність не
сформувати блок буде (1 q) 0,7 ). Необхідна кількість підтверджень N 1 .
Ймовірності здобути перемогу зловмисником необхідно не більше ніж за N nmax 2
спроби. Проаналізуємо ймовірності різних результатів:
1) перша спроба
P1 q 0,3 (фактична перемога зловмисника на першій спробі);
P1 1 q 0,7 (формування блоку чесною мережею);
2) друга спроба (враховуємо, що з ймовірністю 0,3 виграв зловмисник на першій
спробі)
P2 P1 q 0,7 0,3 0,21 (перемога зловмисника – йому вдалося на другій
спробі наздогнати чесну мережу);
P2 P1 (1 q) 0,7 0,7 0,49 (другий блок також сформувала чесна мережа).
Таким чином в моделі розорення гравця зловмисникові вдасться перемогти за дві
спроби з ймовірністю PA P1 P2 0,3 0,21 0,51.
Й мов і р н о с т і ф о рм у в а н н я бл о ку
Й мов і р н о с т і ф о рм у в а н н я бл о ку
і так далі. Тобто, в загальному випадку ймовірність події A при t -му випробуванні
буде визначатися виразом:
pt 1 p p .
t 1
(5.1)
Вираз (5.1) відповідає функції ймовірності формування блоку в t -му
випробуванні за умови, що всі попередні спроби були невдалими.
Таким чином, ймовірність настання події A при проведенні випробувань (тобто
1,2,3, ,t ), позначимо цю ймовірність як PA , буде відповідати функції розподілу
ймовірності формування блоку і визначатися як:
t t
PA pi 1 p p
i 1
(5.2)
i 1 i 1
А в граничному випадку при проведенні всіх випробувань:
p
i 1
p 1 p p 1
1 1 p
i
i 1 i 1
25
А н а л і т и ч н и й р о з р а ху н о к й м ов і р н о с т і
ф о р м у в а н н я л а н ц юж к а бл о к і в з а д а н о ї д овж и н и
t i
p N 1 p
tN
pt1 N i 1
. (5.6)
( N 1)!
За фактом, вираз (5.6) є від’ємним біноміальним розподілом. Тобто вираз (5.6)
можна записати як від’ємний біноміальний розподіл:
t 1 N
tN
pt1 N p 1 p .
t N
С е р е д н і й ч а с п о ш и р е н н я бл о к у у м е р е ж і B i t c o i n