ScienceDirect Available online at



Download 0,92 Mb.
Pdf ko'rish
bet14/19
Sana27.12.2022
Hajmi0,92 Mb.
#896407
1   ...   11   12   13   14   15   16   17   18   19
Bog'liq
1-s2.0-S1877050922000710-main

4.
 
Proof of Authority implementation based on VeChain proof of consensus algorithm 
For the Decision Blockchain we chose the VeChain proof of consensus algorithm that is described in 
more detail in the official documentation of VeChain Foundation [16]. 
The consensus protocol of any blockchain must contain the following mandatory information: the 
timestamp when the block was produced and the identity of the entity that generated the block. In order for the 
protocol to be complete it also needs an algorithm for deciding the legitimate branch at any given time that will 
go into the trunk of the blockchain. 
The VeChain Blockchain blocks are produced every Δ seconds. The genesis block being timestamped 
with 
t
0

Any block with the height n > 0 at t
n
, will have a timestamp that satisfies the following: t
n
=t
0
+ m∙

where m 

N and m ≥ n
.
To satisfy security constraints VeChainThor uses a deterministic pseudo-random process (DPRP) and 
the concept of “active/inactive” status if a master node is a legitimate option to produce block B(n,t), with height 
n and timestamp t. Using this method t must satisfy (t-
t0) mod Δ=0. So to answer who generates the block, a 
pseudo-
random number is generated γ(n,t) by:
γ(n,t) = DPRP(n,t) 

hash(n

t)
;
(1) 
where 

is the operation that concatenates two byte-arrays. 
A
B
denotes the set of master nodes with the “active” status associated with B, so to verify if a is 
legitimate master node for producing B(n,t) the following relation is defined and shown in Fig 3.: 
A
a
B(n,t)
 = 
A
PA(B(n,t))

a

where PA(.) gives the parent block.
(2) 
The computed index i
a
(nt) is as follows: 
i
a
(nt) = γ(n,t) mod ||A
aB(n,t)
||
(3) 
A deciding master node produces B(n,t) if and only if A
a
B(n,t)
[
i
a
(n,t)

= a.
In Fig. 3 the status update is illustrated, showcasing four time slots {t1, t2, t3} for block production. The blocks 
with solid lines mark the unverified blocks produced on time while the dashed ones are the missing blocks. Using 
equation (3) the system can compute, for each time slot, the index of the responsible master node. As seen from 
the equation (3) and (4), after the system verifies B(n, t3) the status gets updated. 
 
 
A
a*
B(n,t2)
[
i
a*
(n,t
2
)


inactive 
a*

active; where a* is the signer of
B(n,t
3

Fig. 3 Status update diagram 
Manuel Adelin Manolache, Sergiu Manolache, Nicolae Tapus/ Procedia Computer Science 00 (2021) 000

000
 
The order of master nodes that produce blocks can be completely changed if there is a missing block 
before a legitimate timestamp t. So, in this case it would be difficult for attackers to predict which master node 
will produce a number of consecutive blocks at a much later time, VeChain occasionally allowing master nodes 
to skip block creation, thus increasing unpredictability.
The legitimate branch validation algorithm decides the valid branch that will become the trunk out of 
two legitimate ones. Because in PoA 
there is no computational competition, the “longest chain” rule can’t be 
applied. The alternative to this, as implemented by the VeChain Blockchain PoA algorithm, is selecting the 
branch that is witnessed by the most DAs, which is considered to be better than the two. In order for this to be 
achieve the algorithm computes a specific value for each branch called accumulated witness number (AWN), for 
each block B(n,t) using the formula:
π
B(n,t) 
= π
PA(B(n,t)) 
+ ||A
B(n,t)
||
(4)
||A
B(n,t)
|| computes the number of master nodes that can be active in association with B(n,t) and can be 
regarded as the number of nodes that witnessed B(n,t). As such the branch with the largest AWN is chosen as the 
trunk and if they are the same, the VeChain Blockchain selects the branch with the smaller length. So when given 
two branches B and B’ with the latest blocks B(n,t) and B’(n’, t’), the protocol first calculates their AWNs πB(n,t) 
and πB’(n’,t’), then the following decision is made: chose B as trunk if πB(n,t) > πB’(n’,t
’) or choose B’ if 
πB’(n’,t’) > πB(n,t). If πB(n,t) = πB’(n’,t’), choose B if nn. If n=n’, keep the current trunk.

Download 0,92 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   19




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish