Chat with us, powered by LiveChat Challenges of development and product teams in remote-first companies - Credence Writers
+1(978)310-4246 [email protected]

Prompt:

In this research project, you’ll study and investigate a niche area related to Emerging topics in Software Engineering with your teammates. The objective is to write a minimum 6 to 7-page literature survey on one of the topics given below, producing a unique research paper suitable to disseminate in the form of a publication on open-access archives on the Internet or a conference (this should be your mindset for doing this project). This project aims to increase the specialized knowledge and understanding of modern software engineering topics as well as good teamwork through collaboration.

The topic chosen for this paper is “challenges of development and product teams in remote-first companies”. The paper will be comprised of the following 9 portions, 4 of which I will need to have completed. The portions are:

Abstract
Introduction
Terminology****
Research Challenges****
Pros****
Cons****
Paper Surveys
Unresolved problems/difficulties
Conclusion
Asterisks have been placed next to the parts I need to have completed. I have attached a sample paper of how the paper should be written with regards to format. 2021 International Conference on Artificial Intelligence, Big Data and Algorithms (CAIBDA)

A Survey on Consensus Mechanisms for Blockchain Technology

Weiwei Gu1,*,†
Department of Computer Science, University of Rochester Rochester, New York 14620, USA
*[email protected]

Zekai Tang3,*
Shunmai Huamei foreigh language school
*[email protected]

Jianan Li2,*,†
Department of Electrical Engineering, Xi’an Jiaotong University Xi’an Jiaotong University’Innovation Harbor’Zone A’ 712046, China
*[email protected]
†These authors contributed equally.

Abstract—Blockchain technology has been significantly influencing the global economy in recent years. Meanwhile, the inherent consensus problem within blockchain systems turns out to be rather challenging in practice, since malicious parties would try various ways of attacks on the system, which should be carefully addressed by specifically designed consensus mechanisms. This article systematically studies the state-of-the- art consensus mechanisms, and look into their pros and cons, respectively.

Keywords-blockchain; consensus mechanism; Proof of Work; Proof of Stake
I. INTRODUCTION
The blockchain system is a distributed system that is required to be transparent and trustworthy. In a system consisting of more than one process(such as blockchain system), we hope the system can reach a certain level of reliability even given the presence of a number of faulty processes. To achieve such reliability, it usually requires the processes that are functioning correctly to reach a consensus on some data that is needed for computation. The consensus problem turns out to be one of the central problems in the field of distributed system. On this condition, the consensus mechanism helps solve the problem of how blockchain achieves consistency under distributed scenarios by verifying and confirming the transactions in a very short time through the voting of special nodes. If these nodes that do not relate with each other can agree on a transaction, we can assume that the whole network can also agree on it.
This article firstly introduces the consensus mechanism, which is the core of blockchain. The designers of different blockchain systems come up with different solutions to solve the consensus problem with different mechanisms that require the validators of the transactions to show that they are not hostile. The two most widely used consensus mechanisms are Proof of Work (PoW) and Proof of Stake (PoS) There are also other consensus algorithms that derive from either method such as Delegated Proof of Stake (DPoS). In this section, we give an overview of these mechanisms, showing how they are able to protect the blockchain from different types of attacks.

On the other hand, we compare the POW, POS and DPoS mechanisms in detail in the following essay.The references are mainly talking about the basic principle of blockchain ,which was quite different from our essay, which not only analyses these mechanisms, but also compares them from 5 perspectives. This article emphasizes the advantages and disadvantages of these 3 mechanisms.
A.Proof of Work (PoW)
PoW is the earliest and the most popular mechanism currently used to solve the consensus problem in blockchain systems, especially in the area of cryptocurrency. The mechanism itself was first proposed by Dwork and Naor to address the junk mail problem. It is a form of zero-knowledge proof that shows one party has expended a certain amount of computational power for a certain purpose, so that it is unlikely that the malicious party will own and spend the huge amount of computational power to complete a single attack.
Sakamoto Satoshi implements the Proof of Work mechanism to maintain the public ledger of Bitcoin, which is the earliest and still the most worthy cryptocurrency in the world. There are many ways to implement the Proof of Work mechanism, but in Bitcoin, Satoshi makes use of the hash functions. A hash function is a one-way, deterministic, and ideally one-to-one function that takes an input of any size and generates an output that appears to be random and unrelated to the input. The “Proof of Work” of the validation of Bitcoin transactions comes from the randomness of the hash function. To validate a block of transactions, a miner needs to combine the hash of the last mined block, the block of transactions to be validated, the public key of the miner, and a nonce to a string s, which serves as the input of the hash function H. The block is accepted only if H(s) begins with n bits of zeros, where n is determined by the chain based on the current available computational power involved in validating. Because of the randomness of H, and the first several parts of the string s are fixed, the miners need to continuously change the nonce and hash until they get a string that satisfies the requirement.
The Proof of Work mechanism is used to solve the forking problem during validation. If two parties broadcast the same block at the same time, the blockchain will abort the shorter

978-1-6654-2490-5/21/$31.00 ©2021 IEEE 46
DOI 10.1109/CAIBDA53561.2021.00017

chain, which means that the chain that more computational power is working on will win out. If a malicious party wants to fake a transaction in a block, they will have to obtain the computational power that is great enough to overpower that of the honest party, because the honest party will never work on the chain with the fake transaction. As a result, if the malicious party does not own most of the computational power, their chain will finally be aborted. Hence, the only threat to the chain will be the Double Spend Attack, and we will talk about that in the latter section.
B.Proof of Stake
The Proof of Stake is a mechanism to resolve the consensus problem in cryptocurrency that is introduced after the Proof of Work mechanism. It is believed to be able to achieve a similar level of security as Proof of Work based on a similar philosophy of the original system. There are majorly two kinds of Proof of Stake algorithms: the chain-based Proof of Stake and Byzantine- Fault-Tolerance (BFT) style Proof of Stake. The chain-based Proof of Stake algorithm will choose a node according to the interests held by the stakeholders at random, and the chosen node will be responsible for validating the new block of transactions. BFT-style Proof of Stake will also choose one node at random and validate a new block of transactions, but the result of BFT-style Proof of Stake will be determined by voting, which is also related to the interests held by stakeholders. Similar to Proof of Work, the honest node shall never accept a block including any fake transaction. As a result, the Proof of Stake algorithm can also prevent the malicious parties from faking transactions.
We will here use the implementation of Proof of Stake of Peercoin[4], the first cryptocurrency built upon the Proof of Stake mechanism with a carefully designed transaction called Coinstake (similar to coinbase), to illustrate how the mechanism works. The input of Coinstake should be no less than 1 and the first input called Kernel is necessary in order to meet certain hash requirements. The output of Coinstake should be no less than 2 and the first output must be empty. The hash requirements are closely related to the parameter coin-day (per unit coin age), and the more coin-day the stakeholder owns, the easier for the stakeholder to meet the hash requirements. Furthermore, the stake reward also grows as the coin-day grows. The initial minting is implemented by a combination of Proof of Stake and Proof of Work in this system. The main chain protocol determines that the blockchain with the most coin-age consumed will be the main chain, and the coin-age at stake of all the chains(including the main chain) will be consumed.
Different from the Proof of Work mechanism, both the chain-based Proof of Stake and the BFT-style Proof of Stake must solve an important problem: the “nothing at stake” problem. The nothing at stake is the case when someone loses nothing when behaving badly, but wins more without much effort. Nobody will give up the chance to mine because in Proof of Stake system, all nodes can choose to wait in other chains when fork happens with low cost. As a result, it becomes even harder to solve the problem, and hence the consensus algorithm fails to solve the problem that it is supposed to solve. Furthermore, the “nothing at stake” problem will make the system more vulnerable to the double spend attack due to the low cost.

The chain-based Proof of Stake implements a mechanism of Slash to solve the problem. The system enforces the validators participating in the mining to put up some deposit, which would be withdrawn if the stakeholders break the rules, such as mining blocks on multiple chains simultaneously and mining blocks at the height which is not the latest height of the chain. Also, the validators found breaking the rules will be deprived of the rights of mining the new blocks. However, this solution cannot prevent validators from conspiring in advance to commit an attack. Hence, the chain-based Proof of Stake mechanism also has another solution, which is punishing the validators if they create a block on a false chain so the validators don’t need to be known by the system in advance.
The BFT-based Proof of Stake mechanism enforces 2 important rules to solve the nothing at stake problem. The first is known as finality conditions that determine when a given hash to be considered finalized. The second one is called slashing conditions which list some rules as an example, it employs Gasper FFG(a Proof of Stake mechanism), which guarantees that there won’t be more than one competitive and finalized checkpoints(the last slot during each epoch period). If this is not the case, at least 13 of the validators will be slashed. This is because that every checkpoint requires more than 23votes of validators and this means at least 43(43-1)validators vote for the time sequence, which means that they cannot vote for the checkpoints for which they haven’t voted, otherwise their deposit will be slashed as well.
C.Delegated Proof of Stake (DPoS)
Derived upon the PoS mechanism, DPoS introduces a voting mechanism. According to Dantheman[2], the DPoS system divides the involved nodes into witnesses, delegates, and workers. Nodes need to compete with their resources to be elected as witnesses, which are the core of the system. The N nodes with the most votes will become the witnesses and obtain the right of generating blocks. Following the schedule of the algorithm, the witnesses should generate blocks one by one. If a witness node misses its turn of mining, the following witnesses will continue on the block that it was supposed to validate, and at this point that node will lose its witness identity and the stakeholders begin to vote for a new witness in substitution. Delegates can start a request to update the blockchain while not getting paid. Workers can propose new projects and they will be rewarded if the project they proposed is validated.
Recently, in order to resolve the potential unfairness of the DPoS mechanism, researchers constructed the Delegated Proof of Stake with Downgrade(DDPoS) mechanism[1]. It introduces PoW’s idea to improve the fairness of the DPoS mechanism. Instead of directly using the votes of the stakeholders to decide the witnesses, the blockchain first filters out some candidate nodes that are more appropriate to be the witnesses using the idea of PoW. Then the chain will follow the idea of DPoS and hold a stakeholder election within the candidate nodes. The DDPoS also has a degrade mechanism, which is similar to the credit system, to maintain the consensus. If a witness node is found to be malicious, its witness identity will be downgraded to a candidate node, and it will be sorted to the end of the candidate nodes. Also, the rank of all of its coworker nodes will be decremented by one. At the same time, the first awaiting candidate will automatically become the new witness node.

47

error: Content is protected !!