<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hamza Akrouti</title>
    <description>The latest articles on DEV Community by Hamza Akrouti (@akroutihamza).</description>
    <link>https://dev.to/akroutihamza</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F449638%2F31ce0030-fa9d-44c6-864a-04e6351a3d63.jpg</url>
      <title>DEV Community: Hamza Akrouti</title>
      <link>https://dev.to/akroutihamza</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/akroutihamza"/>
    <language>en</language>
    <item>
      <title>How can solve it for genius  </title>
      <dc:creator>Hamza Akrouti</dc:creator>
      <pubDate>Thu, 13 Aug 2020 20:53:52 +0000</pubDate>
      <link>https://dev.to/akroutihamza/how-can-solve-it-for-genius-39ho</link>
      <guid>https://dev.to/akroutihamza/how-can-solve-it-for-genius-39ho</guid>
      <description>&lt;p&gt;i want u to write this algorithm below and you work in general not in exemple Bonjour i want u to think in général&lt;br&gt;&lt;br&gt;
Warning : B is not always capital you should work with ch1 and ch2 us they lowercase string&lt;/p&gt;

&lt;p&gt;var ch1 = "jourbon"&lt;br&gt;
let's go complete this function circularword (ch) {&lt;br&gt;
let ch2="bonjour";&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--mtkSIIUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/t6h47nyeuu86nno722g6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--mtkSIIUR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/t6h47nyeuu86nno722g6.png" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
    </item>
    <item>
      <title>Consensus Algorithms in Blockchain Systems</title>
      <dc:creator>Hamza Akrouti</dc:creator>
      <pubDate>Sun, 09 Aug 2020 15:34:49 +0000</pubDate>
      <link>https://dev.to/akroutihamza/consensus-algorithms-in-blockchain-systems-44ag</link>
      <guid>https://dev.to/akroutihamza/consensus-algorithms-in-blockchain-systems-44ag</guid>
      <description>&lt;p&gt;&lt;em&gt;From “Proof of Work” to “Delegated Proof of Stake”: what mode of governance to build trust in a shared ledger through a decentralized network?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A behind-the-scenes look at the Blockchain: zoom in on the concept of consensus in order to fully understand this key process operating at the heart of the governance mode of a distributed ledger .In this article we will explain the consensus of the different algorithms by answering a few questions&lt;/em&gt;.&lt;/p&gt;

&lt;h5&gt;
  
  
  &lt;em&gt;Project realized as part of the Cybersecurity sector of Higher Institute of Informatics Mahdia, the first Tunisian computer science school&lt;/em&gt;
&lt;/h5&gt;

&lt;h1&gt;
  
  
  What is a consensus algorithms ?
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;By definition, a consensus algorithm is a computer process used to reach agreement on a single data value among distributed processes or systems. Consensus algorithms are designed to ensure reliability in a network involving multiple unreliable nodes.&lt;br&gt;
What are the Main implementations of consensus algorithms ?&lt;br&gt;
There are several implementations of consensus algorithms, each one has its advantages and its trade-offs Among the most used&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;
&lt;ul&gt;

&lt;li&gt;
&lt;h4&gt;
  
  
  Proof Of Work (POW): &lt;/h4&gt;
&lt;/li&gt;


&lt;p&gt;&lt;em&gt;Proof of Work, is the first decentralized Blockchain consensus algorithm that has emerged, it is used in several types of “Altcoins” cryptocurrency such as Bitcoin, Ethereum, LiteCoin, etc. This algorithm is data that can only be obtained by performing a task that consumes a lot of computing power and that once it has been obtained, it is easy to verify that it is indeed the result of this task . Software installed on miners’ computers and servers accesses their processing capacity to solve transaction-related algorithms. A block is therefore an encrypted proof of work created in a computationally intensive process. Although any party can submit a succession of blocks to the Blockchain, the amount of computing resources required for a dishonest party to create a false consensus is too large for it is worth it.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--l9iltkjv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2AQauTrRUaCGoWtfKgxgcupA.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--l9iltkjv--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2AQauTrRUaCGoWtfKgxgcupA.jpeg" alt="proof of work"&gt;&lt;/a&gt;&lt;/p&gt;
Fig. 1. Flow of PoW



&lt;p&gt;&lt;em&gt;However, PoW certainly has its drawbacks, it takes high power consumption and low transaction throughput compared to other algorithms.&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;


&lt;li&gt;

&lt;h4&gt;
  
  
  Proof Of Stake (POS):&lt;/h4&gt;


&lt;/li&gt;

&lt;p&gt;&lt;em&gt;Proof of Stake is another type of consensus algorithms. This is a new concept used for the Peercoinen 2012 cryptocurrency. Other protocols have followed such as ShadowCash, BlackCoin, Nav Coin50 and Nxt. PoS selects the creator of a new block in a deterministic process, based on the number of coins they already own, also known as the wager. This is because there is no reward in this type of consensus algorithm, although minors, in this case called counterfeiters, only pay transaction fees. Among the significant advantages of this algorithm, we distinguish security, reduction of the risk of centralization and finally energy efficiency.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qqV3uIqE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/591/1%2AM1gQLabRakPWg2ZainSnXQ.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qqV3uIqE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/591/1%2AM1gQLabRakPWg2ZainSnXQ.jpeg" alt="proof of work"&gt;&lt;/a&gt;&lt;/p&gt;
Fig. 2. Flow of PoS






&lt;li&gt;

&lt;h4&gt;
  
  
  proof Of Authority (POA): &lt;/h4&gt;


&lt;/li&gt;

&lt;p&gt;&lt;em&gt;Proof of Authority is a consensus mechanism inspired by the Proof Of Work consensus algorithm. transactions and blocks are validated by approved accounts, called validators, which is based on the process of using the identities of network users to choose the best validator to verify and validate transactions.&lt;br&gt;
Among its advantages, a reduced demand for computing power of the nodes, a transaction time significantly faster than that of networks based on PoW and PoS, and finally, the algorithm of the proof of authority offers a significant scalability and flexibility for the development and maintenance of decentralized applications.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--tdyoEEK9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2AbdNvm6i_5Y9Ad-27bVASoQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--tdyoEEK9--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/700/1%2AbdNvm6i_5Y9Ad-27bVASoQ.png" alt="proof of work"&gt;&lt;/a&gt;&lt;/p&gt;
Fig. 3. Flow of PoA



&lt;h1&gt;
  
  
  What are the Difference Beetwen this consensus protocols ?
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;In the table below is presented a synthetic comparison of the consensus mechanisms discussed throughout this article. This comparison was made on the basis of all the issues related to the said mechanisms that we have gradually dealt with: Security, incentive, equipment, energy consumption, node identity , scalability, etc.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qgA2kD9Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/560/1%2AG72_ojlZYXF5OuQJI2HsFQ.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qgA2kD9Z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://miro.medium.com/max/560/1%2AG72_ojlZYXF5OuQJI2HsFQ.png" alt="proof of work"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Conclusion :
&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;In conclusion, when considering deploying a blockchain-type solution with a view to solving a concrete problem (business application, specific use case), it is imperative to take into account certain considerations, both functional and non-functional, before being able to ensure the relevance of a particular consensus mechanism:&lt;br&gt;
&lt;ul&gt;

&lt;li&gt;
&lt;strong&gt;Public&lt;/strong&gt; (permissionless) or &lt;strong&gt;private&lt;/strong&gt; (permissioned) nature of the desired platform.&lt;/li&gt;

&lt;li&gt;
&lt;strong&gt;Performance objectives&lt;/strong&gt; (transaction flow in particular)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Energy consumption&lt;/strong&gt; limit.&lt;/li&gt;

&lt;li&gt;Node network &lt;strong&gt;scalability&lt;/strong&gt; and &lt;strong&gt;size requirements&lt;/strong&gt; (miners, miners, replica nodes).&lt;/li&gt;

&lt;li&gt;Desired relationships between &lt;strong&gt;the different actors&lt;/strong&gt;: users, validation nodes and developers.&lt;/li&gt;

&lt;li&gt;Level of &lt;strong&gt;decentralization&lt;/strong&gt; and “&lt;strong&gt;philosophy&lt;/strong&gt;” demanded by the sponsor or the user community.&lt;/li&gt;

&lt;li&gt;
&lt;strong&gt;Security level&lt;/strong&gt; and &lt;strong&gt;fault tolerance&lt;/strong&gt;.&lt;/li&gt;

&lt;li&gt;etc.&lt;/li&gt;
&lt;/ul&gt;&lt;/em&gt;&lt;/p&gt;


&lt;/ul&gt;

</description>
      <category>blockchain</category>
      <category>computerscience</category>
      <category>datascience</category>
    </item>
  </channel>
</rss>
