Академический Документы
Профессиональный Документы
Культура Документы
2 2
3 2
3.1 . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2 h . . . . . . . . . . . . . . . . . . 3
3.2.1 . . . . . . . . . . . . . . . . . . 3
3.2.2 . . . . . . . . . . . . . . . . . . 4
3.2.3 . . . . . . . . . . . . . . . . . . . . . 6
3.2.4 ,
. . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.3 , -
N . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.1 N = 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.3.2 N = 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3.3 N = 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.4 N . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4 , 23
1
, -
. ( ,
) .
( , -
). ,
, .
, ..
. proof-of-work.
, (-
) T1 , T2 , ... .
, -
. , ,
50% ,
.
, ,
( N > 2 )
, . ,
1
, ,
.
2
,
. - .
, ,
. -
, , .
, ,
. : ,
, = 1 + floor(/h), h .
( h, -
). M D . T1 , T2 , ..., Tn
P (h0 < h < h0 + ) h. 2,
h. -
h H, (p) p
, .
p .
. , -
?
50%, .
, , 100/N . ,
40%? N = 2
60%, . N = 3
: 40555, 403030.
, , .
, 100/N < p < 50 ,
, . -
N . , (N 2)-
, . -
V (p). (p) V (p), T1 , T2 , ...,
Tn .
3
3.1
.. z 1 , -
T .
zT .2
, (
1
, z Kimoto Gravity
Well .
2
z = 2016, T = 10, z T = 2016 10
2 , .
2
)
.
.
H , h , h1 , h2 , ...,
hN 1 (N 1) . ,
N
X 1
H =h+ hi
i=1
.
H
T
h
proof-of-work -
. -
, -
T . ,
. ,
; , -
. . s
; , , (1 s).
T1 , T2 , ... , .
, :
. , -
, .
3.2 h
3.2.1
, : -
, (
). Ti -
xi . , xi ,
i- , -
(i 1)-. ,
, . , -
, ,
.
, -
. , , 1, s.
, 2, s(1 s). ,
3, s(1 s)2 . ..
? , , ,
. , ,
. , , ,
(1 s) (1 s) s = s(1 s)2 .
3
, 3 ,
1 1
s + s(1 s) + s(1 s)2 + ... = s 1 + (1 s) + (1 s)2 + ... = s =s =1
1 (1 s) s
:
M = 1 s + 2 s(1 s) + 3 s(1 s)2 + ... = s(1 + 2(1 s) + 3(1 s)2 + 4(1 s)3 + ...) =
1
= s(1 + (1 s) + (1 s)2 + (1 s)3 + (1 s)4 + ...)0 = s ( )0 =
1 (1 s)
1 1 1
= s ( )0 = s ( 2 ) =
s s s
, (s > s(1 s) > s(1 s)2 > ...).
, (1 s) , s ,
. , ,
, 1/s; s , , , 1/s .
2017 :
s = 0.0000000000000000000007506940164459079
, , :
P ( = 1) = s, P ( = 2) = s(1 s), P ( = 3) = s(1 s)2 .
, s.
, , proof-
of-work:
current target
s=
2256
4 target difficulty, :
3.2.2
, , ,
. , Ti ,
xi .
h .
xi = hTi .
3
, , , -
, ... 1.
4
target :
C
difficulty =
target
55 54 53 52
| {z } = 15 16 + 15 16 + 15 16 + 15 16 =
C = 0xffff 00...0
51
= 16 2220 + 16 2216 + 16 2212 + 16 2208 2220 2216 2212 2208 = 2224 2208 2224
4
, :
= h. (3.2)
. , -
() Unix-time,
.. . . -
, ..
() .
, ( ) h . -
. , - -
: , ,
-. .
(3.2) ,
. ,
5 , ,
h1
X 1 (1 s)h
P ( = 1) = s(1 s)i = s = 1 (1 s)h
1 (1 s)
i=0
, :
, .
, ,
2h1
X
P ( = 2) = s(1 s)i = (1 s)h P (0) = (1 s)h (1 s)2h
i=h
: h
, , , (h+1)- (2h)-.
, :
3h1
X
P ( = 3) = s(1 s)i = (1 s)h P (1) = (1 s)2h P (0) = (1 s)2h (1 s)3h
i=2h
M D .
M = 1 1 (1 s)h + 2 (1 s)h (1 s)2h + 3 (1 s)2h (1 s)3h + ... =
1 1
= 1 + (1 s)h + (1 s)2h + (1 s)3h + ... = =
1 (1 s)h 1x
( (1 s)h x.)
M 2 = 1 1 (1 s)h + 4 (1 s)h (1 s)2h + 9 (1 s)2h (1 s)3h + ... =
5
, ; .
, , .
; 1-2 .
; , , . ,
, ,
, ; 1 . ,
= 1. , ,
.
5
X j
= 1 + 3(1 s)h + 5(1 s)2h + 7(1 s)3h + ... = (2j + 1) (1 s)h
j=0
0
X X X X 1 X 1
= (2j + 1)xj = 2 jxj + xj = 2x jxj1 + = 2x xj + =
j=0 j=0 j=0 j=0
1x j=0
1 x
!0 0
X 1 1 1 1 1 2x + (1 x) 1+x
= 2x xj + = 2x + = 2x + = =
j=0
1x 1x 1x (1 x)2 1x (1 x)2 (1 x)2
2
1+x 1 x
D = M 2 (M )2 = =
(1 x)2 1x (1 x)2
(1 s)h
D = 2
1 (1 s)h
3.2.3
, P (h0 < h < h0 + ),
2 0.
, h h0 .
T1 , T2 , ..., Tn (n
).
, T1 , T2 , ..., Tn ,
h, 6 g(T~ , h), :
h .
(...) , Pkj = P ( = kj ). , .
( (Pk1 + Pk2 + ... + Pkm )n )
!
X n X
Pkf11 Pkf22 ...Pkfm
m
(n fi )
f1 , f2 , ..., fm i
fi
6
n
P
Ti nM
i=1
=
nD
.. , .. -
N (0, 1). , 8 ,
P n P n
T nM T
i=1 i i=1 i
M nM n n M nM
M = M = M =0
nD nD nD nD nD
n
P
Ti nM n
! n
!
i=1 1 X 1 X n 1
D = D = D Ti nM = D Ti (nD ) = 1.
nD nD nD nD
i=1 i=1
n
nT nM T nT 1x T (1 x) 1 n
= = q = n N (0, 1) (3.3)
nDT x
n (1x)2 x
, , h (
). a b
P (a < < b). , ,
x, P (a < < b)
P (c < x < d).
- : x (3.3). ,
.
, T -
p
T . , M |T | < , T MT
n .
M T = 1/(1 x),
p 1 1 p 1 p
T
1x 1
x
1x T T
s s s
T 1 p T p 1 xT p
x
1
T T 1 x T 1
p
: n
1 n , n n .
8
, , , M ( + ) = M + M , D(a) = a2 D, D(a + ) = D.
7
s
xT T (1 x) 1 T (1 x) 1 n
n = nq N (0, 1)
T 1 x
(T 1)/T
T (1 x) 1 n
g(T~ , h) = nq g(T~ , h) N (0, 1)
(T 1)/T
: - g(T~ , h),
h ( x, .. x = (1 s)h ) -
h.
, .. T1 , T2 , ..., Tn . ,
n , (N (0, 1)),
g(T~ , h).
, F (z) P ( < z) h.
P (a < < b) a b,
h:
Zb Za
1 y2 1 y2
P (a < < b) = P ( < b) P ( < a) = e 2 dy e 2 dy =
2 2
Z0 Zb Z0 Za
1 y2 1 y2 1 y2 1 y2
= e 2 dy + e 2 dy e 2 dy + e 2 dy =
2 2 2 2
0 0
Zb Za b/
Z 2 a/
Z 2
1 y2 1 y2 1 y2 y 1 2
y2 y
= e 2 dy e 2 dy = e 2 d e d =
2 2 2 2
0 0 0 0
1 b a
= erf erf
2 2 2
;
,
Rx 2
. : erf(x) = 2 ey dy
0
:
1 b a
P (a < < b) = erf erf (3.4)
2 2 2
, -
, h. h, :
T (1 x) 1
P (a < < b) = P a < n q < b =
(T 1)/T
s s
T 1 T 1
= P a < T (1 x) 1 < b =
nT nT
8
q q
T 1 T 1
1+a nT
1+b nT
=P <1x< =
T T
q q
T 1 T 1
(T 1) b nT
(T 1) a nT
=P <x< =
T T
q q
T 1 T 1
(T 1) a nT
(T 1) b nT
= P log1s < h < log1s
T T
, (3.4)
q q
T 1 T 1
(T 1) a nT
(T 1) b nT
P log1s < h < log1s =
T T
(3.5)
1 b a
= erf erf
2 2 2
: h. ,
P (h0 < h < h0 + ). a b ,
(3.5) (h0 ), (h0 + ).
q !
(T 1)a T 1 q
log1s nT
= h (T 1)a T 1
0
T = (1 s)h0
nT
q ! = Tq =
(T 1)b T 1 (T 1)b T 1 h +
log1s
nT
= h0 +
T
nT
= (1 s) 0
T
q q nT
(T 1) T (1 s)h0 = a T 1 a = (T 1) T (1 s)h0
= q nT = q T 1
(T 1) T (1 s)h0 + = b T 1 b = (T 1) T (1 s)h0 + nT
nT T 1
a b (3.5):
, (h0 , h0 + ) h.
P (h0 < h < h0 + ), , ,
2 ( [h0 , h0 + ])
. , h
.
,
r r
1
s)h0 + nT 1
s)h0 nT
2 erf (T 1) T (1 2(T 1)
erf2 (T 1) T (1 2(T 1)
L = lim =
0 2
9
erf (p q(1 s) ) erf (p q(1 s) )
= lim ,
0 4
, p q.
.
, :
2 X (1)n h 2n+1 i
(p q(1 s) )2n+1 p q(1 s)
erf (p q(1 s) )erf p q(1 s) = =
n=0 n!(2n + 1)
2 X (1)n h 2n+1 2n+1
i
= (p q q ln(1 s) + o()) (p q + q ln(1 s) + o()) =
n=0 n!(2n + 1)
2 X (1)n
(2n + 1)(p q)2n (q ln(1 s)) (2n + 1)(p q)2n q ln(1 s) + o() =
=
n=0 n!(2n + 1)
4q ln(1 s) X (1)n 4q ln(1 s) X (1)n ((p q)2 )n
= (p q)2n + o() = + o() =
n! n!
n=0 n=0
4q ln(1 s) X ((p q)2 )n 4q ln(1 s)
= + o() = exp((p q)2 ) + o()
n!
n=0
:
4q ln(1s)
exp((p q)2 ) + o() q ln(1 s)
L = lim = exp((p q)2 ).
0 4
p q , ,
s
ln(1 s) h0 nT nT h0 2
L= T (1 s) exp (T 1 T (1 s) )
2(T 1) 2(T 1)
s
3 3 2 !
ln(1 s) nT nT T 1
L= (1 s)h0 exp (1 s)h0 (3.7)
2(T 1) 2(T 1) T
3.2.4 ,
h ,
, , -
p. p
, (
), . ..
h
p= 100 (3.8)
H
, 0 < p < 100.
pH
P (h0 < h < h0 + ) = P h0 < < h0 + =
100
10
100 100 100 100
=P h0 <p< h0 + = P (p0 < p < p0 + )
H H H H
100 100
( H h0 = p0 , H = ). ,
s
3 3 2 !
ln(1 s) pH nT nT T 1 pH H
(p) = (1 s) 100 exp (1 s) 100 (3.9)
2(T 1) 2(T 1) T 100
,
p (p0 , p0 + ), 0.
3.2.5
, .. ,
Z100
s
3 3 2 !
ln(1 s) pH nT nT T 1 pH H
(1 s) 100 exp (1 s) 100 dp = 1
2(T 1) 2(T 1) T 100
0
:
Z100
s
3 3 2 !
ln(1 s) pH nT nT T 1 pH H
I= (1 s) 100 exp (1 s) 100 dp =
2(T 1) 2(T 1) T 100
0
ZH
s
3 3 2 !
pH ln(1 s) nT nT T 1
= u= = (1 s)u exp (1 s)u du =
100 2(T 1) 2(T 1) T
0
" 3
# ZH
nT T 1 ln(1 s)
(1 s)u exp ( (1 s)u )2 du =
p
= = = = =
2(T 1) T
0
(1s)H
11
(1s) H
Z1
1
Z
2
1
exp ( v)2 dv
p p
= exp ( v) dv =
1 (1s)H
, -
( , 120, , . (3.16)).
, v, . -
, , (..
), ,
.
, s , H
( ), T
. sH -
, , sHT
, T . T ,
sHT = 1. , n T > T , sHT > 1.
1 1
sHT > 1
sH > 1 sH < 1
T T
: 9 sH 1,
(1 s)H 1 sH.
1 T 1
1 sH < 1 (1 s)H < (1 s)H <
T T
p
/ exp(( v)2 ) ( v), (...) -
. , n T
Z1
n
I ( v)dv = 1,
(1s)H
3.2.6
(3.9) .
(3.9) , s H
. -
- diff 3.1 1011 ,
(3.1)
s 0.0000000000000000000007506940164459079,
ln(1 s)
12
; 2017
H = 2.4 1018
. , 2017- (1 s)H 0.998196.
s, , H ( ), (1 s)H
( H (1 s)H
).
, s H, (3.9) : T
n. .
, 20 ( T = 20 60 = 1200), -
:
,
10 . -
20 , , ,
50%, . ( -
20 , 10 .) ,
(3.9), ,
, 10 , .
(3.9).
, n,
p (
).
, ? ,
, , ( )
.
13
, , -
p,
11 (T = 11 60 = 660). , 11 10,
p = 100.
p > 80 (,
, p > 60). 11
10, n -
p 80 ,
. n.
,
:
14
, 11 .
p, , ,
10 , , 40 ?
T = 40 60 = 2400 :
15
, . -
, , p 25%, . n
.
, . n?
, n n (n 1) ,
. ,
, , ( , 15 < p < 30),
, , ,
(
).
, , , n ,
- .
16
, n - .
n, , ; -
n, - , , p
.
3.3 , -
N
, N , -
.
, , , 40% -
, N > 2 ,
. , 40%
.
, -
, , .
. , -
IP-.
IP- , .
, , N .
, , 50%
, .
3.3.1 N =2
, :
17
, 50%
,
, 50%
, .
:
Z100
pmaj = (p)dp (3.10)
50
3.3.2 N =3
, . 35%, 40% -
. , (
, -
, ),
p%; , .
, , 100 3 %,
, .. -
. , 50%, .
1003 6 p 6 50.
, ,
p; , .
x1 x2 . p + x1 + x2 = 100,
x1 + x2 = 100 p.
x1 + x2 = 100 p x1 + x2 = 100 p x1 + x2 = 100 p
x1 < p = x1 < p = x1 < p
x2 < p 100 p x1 < p x1 > 100 2p
, (-
) -
p (p) V (p):
18
Z50 Z100
3p 100
pmaj = (p) dp + (p) dp (3.11)
100 p
100/N 50
3.3.3 N =4
, , , 25%,
, .. . ,
50%, . 25 6 p 6 50.
x1 + x2 + x3 = 100 p
x1 + x2 + x3 = 100 p
x1 + x2 + x3 = 100 p
x1 < p x1 < p x1 < p
= =
x < p x < p x <p
2 2 2
x3 < p 100 p x1 x2 < p x1 + x2 > 100 2p
: x1 x2 ,
0 (100 p). (100 p),
(x1 , x2 )
. (x1 , x2 ) (100 p)2 ;
, (100 p)2 .
, x1 < p, x2 < p, x1 + x2 > 100 2p
, -
. RR ( -
), dx1 dx2
D
D = {x1 , x2 |x1 < p, x2 < p, x1 + x2 > 100 2p}.
, , -
N .
3.3.4 N
RR
(N 2)- dx1 dx2 ...dxN 2
D
D = {x1 , x2 , ..., xN 2 | x1 < p, x2 < p, ..., xN 2 < p, x1 + x2 + ... + xN 2 > 100 2p}.
x 1 + x 2 + ... + xN 1 = 100 p
x1 + x2 + ... + xN 1 = 100 p
x1 < p x1 < p
x2 < p = x2 < p =
... ...
xN 1 < p 100 p x1 x2 ... xN 2 < p
x1 + x2 + ... + xN 1 = 100 p
1<p
x
= x2 < p
...
x1 + x2 + ... + xN 2 > 100 2p
19
, .
x1 < 1
x2 < 1
...
x1 + x2 + ... + xN 2 >
, , . :
floor()
X ( i)N 2
V =1 (1)i CN
i
2 (3.12)
(N 2)!
i=0
, , , p.
, (3.12). ,
p . (100 2p) x1 +
x2 + ... + xN 2 p . ,
= (100 2p)/p.
(3.12) -
p ( pN 2 ),
floor(100/p)2 1002p N 2
X ( p i)
V = pN 2 1 (1)i CN
i
2
(3.13)
(N 2)!
i=0
, -
, , . -
x1 , x2 , ..., xN 2 0 (100 p), , ,
(100 p)N 2 .
, , -
(3.13) (100 p)N 2 :
N 2 floor(100/p)2 1002p N 2
( i)
p X p
V (p) = 1 (1)i CN
i
2
100 p (N 2)!
i=0
0, ! p < 100/N
floor(100/p)2
( 1002p
N 2 i)N 2
p
(1)i CN
i p
P
V (p) = 100p 1 2 (N 2)! , 100/N 6 p 6 50 (3.14)
i=0
1, p > 50.
20
3.4
Z100
pmaj = (p)V (p)dp (3.15)
0
, ,
(p)V (p). -
(3.9). :
s
ln(1 s) pH nT nT pH
2
(p) = T (1 s) 100 exp T 1 T (1 s) 100 =
2(T 1) 2(T 1)
s
3 2 !
ln(1 s) pH nT nT T 1 pH
= T (1 s) 100 exp (1 s) 100
2(T 1) 2(T 1) T
3
, nT /(2(T 1)), ,
. , -, -
15 .
.
T > 15. n n > 1. ,
3
nT
> 120 (3.16)
2(T 1)
21
pH 3
(1 s) 100 y, (nT )/(2(T 1)) , (T 1)/T
ln(1 s) p
y exp ( y)2 ,
(y) = > 120.
, > 120 .
- :
k 2 k
fk (x) = e(kx) (x).
, , , k .
, n , .
, n
y p,
pH
pH
(p) = ln(1 s) (1 s) 100 (1 s) 100 (3.17)
,
(.. (p value)). -
(x xk )/|f 0 (xk )|, xk f (x). a =
P
(f (x)) =
k
(1 s), b = , c = H/100.
( acp , ,
c > 0, b > 0, ln a < 0).
a, b c , ,
(3.17),
p 100
pH 1 H log1s pH 100 100
(p) = ln(1s)(1s) 100 = (1s) 100 p log1s
ln(1 s) H/100 H H
? , ,
, - :
Z
f (x)(x x0 )dx = f (x0 )
(p)V (p).
(p) - ,
V (p) . ,
Z100 Z100
pH 100 100
pmaj = (p)V (p)dp = (1 s) 100 p log1s V (p)dp =
H H
0 0
22
log1s 100 100 100 100
= (1 s) V log1s = V log1s
H H H H
100 100
pmaj = V log1s , (3.18)
H H
V (...) V , V .
, (3.18) ,
3
n T ( = nT /(2(T 1)), ).
,
. -,
(3.18). -
(p)V (p), , -
.
,
.
4 ,
Python 3, -
. ,
, ..
.
def getRho(p):
x = pow(1-s, p*H/100)
exponential = - beta * (gamma - x) ** 2
return (-log(1-s)/sqrt(pi))*x*sqrt(beta)*exp(exponential)
def getV(p):
if p >= 50:
return 1
elif p <= 100/N:
23
return 0
else:
temp = 0
for i in range(floor(100/p) - 1):
temp += pow(-1, i) * binomial(N-2, i) * \
pow (-i + (100-2p)/p, N-2) / factorial(N-2)
return pow(p/(100-p), N-2) * ( 1 - temp )
def majority_chance():
if beta > 1000000: # "easy" calculation using Dirac delta function
L = log(gamma,1-s) # the base is the _second_ argument
return (100/H) * getV(100*L/H)
else: # "hard" numeric calculation of integral
epsilon = 1/beta
ans = 0
for j in [y * epsilon for y in range(0, 100)]:
ans += getRho(j + epsilon/2) * getV(j + epsilon/2) * epsilon
return ans
s = 1/(H*t)
N = #number of segments
# we must somehow know or guess it
while True:
sleep(30) # checking every 30 seconds for such split
if majority_chance() < 0.5:
print("Check your network status. If youre unable \
to ping some IP addresses, \
then its likely you are isolated from the main chain. \
Switch off your mining in this case.")
24