<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SOLVING THE PROBLEMS OF BYZANTINE GENERALS USING BLOCKCHAIN TECHNOLOGY</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexander Bogdanov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Degtyarev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nadezhda Shchegoleva</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Vladimir Korkhov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nodir Zaynalov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jasur Kiyamov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Aleksandr Dik</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anar Faradzhov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Alexander Bogdanov</institution>
          ,
          <addr-line>Alexander Degtyarev, Nadezhda Shchegoleva, Vladimir Korkhov, Nodir Zaynalov, Jasur Kiyamov, Aleksandr Dik, Anar Faradzhov</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Plekhanov Russian University of Economics</institution>
          ,
          <addr-line>36 Stremyanny lane, Moscow, 117997</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Saint Petersburg State University</institution>
          ,
          <addr-line>7-9 Universitetskaya emb., Saint Petersburg, 199034</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <fpage>5</fpage>
      <lpage>9</lpage>
      <abstract>
        <p>2 Samarkand branch Tashkent university of information technology, Uzbekistan The process of digitalization of the Russian economy as the basis for the transition to the digital economy is conditioned by the requirements of objective reality and is based, first of all, on the introduction of digital technologies into the activities of its actors. The most promising is the Blockchain technology, which has the capabilities of the most effective coordination of the economic interests of the actors of the digital economy and is applicable in various spheres of economic activity. The article discusses the basics of cryptocurrencies and blockchain operation, as well as the technologies in which this "Tasks of Byzantine generals" (decision-making tasks) occurs. A comparison is made for solution of the problem with different blockchain technologies with several platforms that prevent behavior dangerous for transactions network and thereby increasing the competitiveness of the cryptocurrency.</p>
      </abstract>
      <kwd-group>
        <kwd>blockchain</kwd>
        <kwd>distributed ledger technology</kwd>
        <kwd>database</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        In recent years, e-commerce has played an important role in modern economic life as a new
form of platform. It developed rapidly due to its characteristics of openness and efficiency [
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ]. The
development of e-commerce not only contributes to the leap of the digital economy, but also realizes
the modernization of consumer consumption, thereby bringing enormous economic benefits to society.
However, with the constant growth of nodes, the supply chain becomes more complex, therefore,
while maintaining the block chain, we face urgent problems [
        <xref ref-type="bibr" rid="ref3 ref4">3,4</xref>
        ]. In particular, in the event of errors
in the transmission of information or disruptions in logistics in the supply chain due to asymmetry and
opacity of information. Consequently, these phenomena bring losses to consumers and increase supply
and inventory risks for suppliers. Currently, the blockchain implements a wide range of consensus
mechanisms, among which we wanted Practical Byzantine Fault Tolerance (PBFT) - one of the most
effective ways to fight. PBFT reduces the complexity of reaching agreement between different nodes
in a distributed system using a two-phase protocol. However, the consensus effectiveness of PBFT can
hardly be guaranteed when working with the growing number of partners in the supply chain.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. How does PBFT ensure consensus consistency?</title>
      <p>
        In a private blockchain network, all the participants are whitelisted and bounded by strict
contractual obligations to behave “correctly”, and hence more efficient consensus protocols such as
Byzantine Fault Tolerance (BFT) can be used. BFT works on the assumption that less than one-third
of the peers are faulty (f), which means that the network should consist of at least n = 3 f + 1 peers to
tolerate f faulty peers [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Thus f = [(n −1)/3]. The network requires 2 f + 1 peers to agree on the
block of transactions.
      </p>
      <p>The PBFT version included only two phases: PrepareRequest and PrepareResponse. This was
a necessary simplification due to the high communication costs and inherent efficiency issues faced by
the first prototype. The removal of the third phase made it possible to reach consensus much faster,
which is especially necessary in a P2P network with the possibility of high delays. In practice, this
demonstrated how strong the opponent is, according to (A.2). We start by demonstrating three “good
cases” for PBFT: (a) no replica is faulty (Fig. 1); (b) one replica is faulty, but not the primary one (Fig.
2) (c) the primary one is faulty, review of changes is required (Fig. 3).</p>
      <p>The reason for this was simple: some primary node could end up offering a valid block,
receiving support from a sufficient number of nodes (at least 2f + 1), but these same nodes could only
receive messages from each other after a long time. This will cause the view to change as the given
timeout has expired for that view (at least for the 'M' replicas), so the other backup will become the
primary and offer another valid block for the same height, again getting enough signatures from their
peers ( at least 2f + 1). This situation is shown in figures 4 and 5</p>
      <p>
        Within each cluster, a variable leader is determined, which changes after several rounds of
voting [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. If he does not respond to the leader's request within a certain time, the procedure for
choosing a new leader is performed Voting is initially held in the cluster, then an arbitrator outside the
cluster is selected using a special algorithm.
      </p>
      <p>PFT prevents double-spending attacks due to intra-cluster voting time differences and DAG
timing (state) timing, which is done through permalinks.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Platform Comparisons by PBFT Consensus</title>
      <p>The solution to the problem was obvious: BFT required a third phase. It was clear that block
signatures could not be represented on the network before the replica was sure that other nodes would
follow, otherwise several valid blocks could be generated at each height (as shown in Figures 4-5).
This issue stems from an adversarial condition where Byzantine agents can aggregate signatures (#H)
σ i from 2f + 1 replicas (sent in response to preparation), which allows a valid block #H to be created
even if all 2f + 1 replicas i are finally resolved retransmit #H 0 after view change. An interesting
feature of this problem from a practical/applied point of view is that it only happened in the end
(several times a year), even in a blockchain with systematic block generation (15s on average). Given
that all replicas are healthy, only a very “bad” combination of latency can lead to this scenario. From a
theoretical point of view, the problem is easy to reproduce.</p>
      <p>Note that the time it takes to send a block commit event from the ID is considered negligible
for the subscriber since they are both on the same virtual machine and as such there is no network
latency. The transaction scheduler can be either sequential or parallel. When using sequential
execution of a transaction, it is blocked until the execution of the previous transaction is completed;
with parallel scheduling of transactions, the subsequent transaction that does not have dependencies on
the current transaction can be executed in parallel with the current transaction sent for execution.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>The research purposed in this paper is to optimise the performance of the blockchain PBFT
consensus mechanism applied in the supply chain scenario. Therefore, to achieve the improvement of
the system’s delay, throughput and other performance with less time consumption. The research work
in this area has great scientific research significance and engineering application value. This article
mainly starts from the current research status of PBFT consensus mechanism, introduces the current
research results of PBFT consensus mechanism. It aims at its current weak link in the blockchain
system.</p>
      <p>
        We made a series of tests to eliminate errors and our recommendations were passed on to the
DGT developers to add a new version of the platform. The next steps are to repeat the experiments for
different consensus algorithms [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and for different workloads to evaluate the system performance for
each of the two transaction processors as a whole.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>S.</given-names>
            <surname>Pongnumkul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Siripanpornchana</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Thajchayapong</surname>
          </string-name>
          , “
          <article-title>Performance analysis of private blockchain platforms in varying workloads,” in 2017 26th International Conference on Computer Communication and Networks (ICCCN)</article-title>
          . IEEE,
          <year>2017</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Hao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Fang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Chen</surname>
          </string-name>
          , “
          <article-title>Performance analysis of consensus algorithm in private blockchain,” in 2018 IEEE Intelligent Vehicles Symposium (IV)</article-title>
          . IEEE,
          <year>2018</year>
          , pp.
          <fpage>280</fpage>
          -
          <lpage>285</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>M.</given-names>
            <surname>Castro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Liskov</surname>
          </string-name>
          et al., “
          <article-title>Practical byzantine fault tolerance,” in OSDI</article-title>
          , vol.
          <volume>99</volume>
          ,
          <year>1999</year>
          , pp.
          <fpage>173</fpage>
          -
          <lpage>186</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A. B.</given-names>
            <surname>Ayed</surname>
          </string-name>
          <article-title>A conceptual secure blockchain-based elec- tronic voting system //</article-title>
          <source>International Journal of Network Security and Its Applications</source>
          .
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Ouyang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ren</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          , C. de Laat, and
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhao</surname>
          </string-name>
          <article-title>A blockchain based witness model for trust-worthy cloud service level agreement enforcement //</article-title>
          <source>IEEE INFOCOM 2019-IEEE Conference on Computer Communications</source>
          .
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Castro</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Liskov</surname>
          </string-name>
          ,
          <article-title>"Practical Byzantine Fault Tolerance and Proactive Recovery"</article-title>
          ,
          <source>ACM Trans. Comput. Syst.</source>
          , vol.
          <volume>20</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>398</fpage>
          -
          <lpage>461</lpage>
          , Nov.
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>