Peercoin Mining Calculator 2020 and Profit 🤑 Calculator

Proof Of Stake

Proof Of Stake
https://preview.redd.it/7nfccptuway41.png?width=1200&format=png&auto=webp&s=0103130266549ba8ae21e63d837b67528e39f59c
In my previous article, I have covered one of the most famous consensus mechanism i.e Proof of Work. But like any technology, that protocol also has a certain drawback, and to overcome these issues another protocol has been developed i.e Proof Of Stake.
Proof Of Stake, as the name implies depends upon the stake of a validator. Like Miners in PoW, PoS consists of a group of validators. These validators use a pseudo-random algorithm to select a node that will act as a validator for the next block. The validator was decided based on a combination of different factors which includes the staking age and the node’s wealth. This means that the more coin one has, the more mining power he or she will have. Thus unlike PoW which is quite a power extensive because it depends upon solving a complex computational puzzle to decide the next block, the validation and generation of next block in PoS solely depend on the owner's stake. In Proof of Stake systems, the blocks that were mined are termed as ‘forged’.
This algorithm was introduced in 2011 with the idea to solve the problems with Proof of Work. Though both these algorithm is used to achieve consensus in the blockchain network, the underlying process to reach the final goal is different.
Some of the crypto coins like Nxt (NXT), Blackcoin, ShadowCoin, and Peercoin (PPC) uses the PoS method. Ethereum (ETH) is also planning to switch to a PoS system.
How do PoS works?
The blockchain network consists of a series of a node which acts as a miner (Forge in this case). Any network user who wants to participate in the forging activity needs to stake a certain amount of coin into the network. One can do this by sending a special transaction that will lock up their base cryptocurrency(in Ethereum's case, ether). The stake size determines the chances of a node to be selected as the next validator who will forge the next block. The bigger the stake, the higher the chances.
The newly created node which got selected to forge the next block checks the validity of the transactions in the block. If the transactions are valid, it then signs the block and adds it to the blockchain network. The node receives the transaction fees that are associated with the transactions in the block as a reward.
In the case when the node doesn’t want to serve as a forger, it can withdraw its stake along with the rewards earned. The network verifies and releases the node once it successfully checks that the node has not been involved in any malicious activity.
Advantages of using PoS:-
o Enhanced security.
o Energy-efficient.
o Reduced risk of centralization.
Forge selection method:-
Two unique methods are being used in case there is a requirement of not selecting the node with the maximum stake. These are:-
o Randomized Block Selection
In this method, a node gets selected as the validators which are having a combination of the lowest hash value and the highest stake. The account which will receive the right to forge a block can be easily predicted by each node because the stakes are public
o Coin Age Selection method
In this method, a node gets selected as the validators who have kept their stake for a longer period. The Coin age is calculated by multiplying the number of days the coins have been reserved as stake by the number of coins that are available as stake.
Coin age=no.of days coined staked *total no of coins staked
The coin age of a node has been reset to zero once it forged a block. To forge another block, the node has to wait for a certain period. Hence this method prevents the large stake nodes from dominating the blockchain network.
Different types of PoS
Proof Of Stake can be categorized into two parts:-
o Chain-based proof of stake
This algorithm randomly selects a validator during the time slot (e.g. every period of 10 seconds might be a time slot) available to create a block, and then assign it an authority to create a block with the constraint that the block must point to some previous block. Generally, it points to the last block of the longest chain. Hence over time, the blocks converge into one growing chain.
Blockchain projects that implemented this model are Nxt, Peercoin, Ardor.
o BFT-style proof of stake
This model offers ‘consistency’. Here the randomly chosen validators decide whether a particular block can be included in the chain or not at the end of each round. This type could be favored for a more “permission” approach. In this case, the consensus on a block does not depend on the length or size of the chain.
Blockchain projects that implemented this model are Neo, Tendermint, Polkadot, Hyperledge Fabric.
How it reduces the risk of a Network attack?
Since this model works on the concept of the stake owned by the validator, thus to effectively control the network and approve fraudulent transactions, a node has to own a majority stake in the network (also known as the 51% attack) which is quite impractical because if a hacker tries to purchase 51% of the total number of coins, the market reacts by the fast price appreciation.
Also, wherever the network detects any fraudulent transaction, not only the forger node loses a part of its stake but is also restricted from participating in future activities. Till the time the cost of staking is higher than the reward, the validator is at a loss in case of attempting fraud.
With the “Casper” upgrade underway for Ethereum, Proof-of-Stake (POS) model is gaining more popularity among other Blockchain consensus designs. With this upgrade, the protocols will set certain criteria that will identify a bad validator. The bad validator would lose their deposit if proven, thus making this model more secure.
Read more: Understanding different Consensus Mechanisms, Proof Of Work Explained
#bitcoin #ethereum #consensus #pos #blockchain
submitted by RumaDas to u/RumaDas [link] [comments]

An extensive list of blockchain courses, resources and articles to help you get a job working with blockchain.

u/Maximus_no and me spent some time at work collecting and analyzing learning material for blockchain development. The list contains resources for developers, as well as business analysts/consultants looking to learn more about blockchain use-cases and solutions.

Certifications and Courses

IIB Council
Link to course: IIB council : Certified Blockchain Professional
C|BP is an In-Depth, Industry Agnostic, Hands-On Training and Certification Course specifically tailored for Industry Professionals and Developers interested in implementing emerging technologies in the Data-Driven Markets and Digitized Economies.
The IIB Council Certified Blockchain Professional (C|BP) Course was developed to help respective aspiring professionals gain excessive knowledge in Blockchain technology and its implication on businesses.
WHO IS IT FOR:

Professionals

C|BP is developed in line with the latest industry trends to help current and aspiring Professionals evolve in their career by implementing the latest knowledge in blockchain technology. This course will help professionals understand the foundation of Blockchain technology and the opportunities this emerging technology is offering.

Developers

If you are a Developer and you are willing to learn blockchain technology this course is for you. You will learn to build and model Blockchain solutions and Blockchain-based applications for enterprises and businesses in multiple Blockchain Technologies.

Certified Blockchain Business Foundations (CBBF)

This exam is designed for non-technical business professionals who require basic knowledge about Blockchain and how it will be executed within an organization. This exam is NOT appropriate for technology professionals seeking to gain deeper understanding of Blockchain technology implementation or programming.

A person who holds this certification demonstrates their knowledge of:

· What is Blockchain? (What exactly is it?)
· Non-Technical Technology Overview (How does it work?)
· Benefits of Blockchain (Why should anyone consider this?)
· Use Cases (Where and for what apps is it appropriate?)
· Adoption (Who is using it and for what?)
· Future of Blockchain (What is the future?)

Certified Blockchain Solution Architect (CBSA)

A person who holds this certification demonstrates their ability to:

· Architect blockchain solutions
· Work effectively with blockchain engineers and technical leaders
· Choose appropriate blockchain systems for various use cases
· Work effectively with both public and permissioned blockchain systems

This exam will prove that a student completely understands:

· The difference between proof of work, proof of stake, and other proof systems and why they exist
· Why cryptocurrency is needed on certain types of blockchains
· The difference between public, private, and permissioned blockchains
· How blocks are written to the blockchain
· Where cryptography fits into blockchain and the most commonly used systems
· Common use cases for public blockchains
· Common use cases for private & permissioned blockchains
· What is needed to launch your own blockchain
· Common problems & considerations in working with public blockchains
· Awareness of the tech behind common blockchains
· When is mining needed and when it is not
· Byzantine Fault Tolerance
· Consensus among blockchains
· What is hashing
· How addresses, public keys, and private keys work
· What is a smart contract
· Security in blockchain
· Brief history of blockchain
· The programming languages of the most common blockchains
· Common testing and deployment practices for blockchains and blockchain-based apps

Certified Blockchain Developer - Ethereum (CBDE)

A person who holds this certification demonstrates their ability to:

· Plan and prepare production ready applications for the Ethereum blockchain
· Write, test, and deploy secure Solidity smart contracts
· Understand and work with Ethereum fees
· Work within the bounds and limitations of the Ethereum blockchain
· Use the essential tooling and systems needed to work with the Ethereum ecosystem

This exam will prove that a student completely understands how to:

· Implement web3.js
· Write and compile Solidity smart contracts
· Create secure smart contracts
· Deploy smart contracts both the live and test Ethereum networks
· Calculate Ethereum gas costs
· Unit test smart contracts
· Run an Ethereum node on development machines

Princeton: Sixty free lectures from Princeton on bitcoin and cryptocurrencies. Avg length ~15 mins

Basic course with focus on Bitcoin. After this course, you’ll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. You’ll have the conceptual foundations you need to engineer secure software that interacts with the Bitcoin network. And you’ll be able to integrate ideas from Bitcoin in your own projects.

MIT : BLOCKCHAIN TECHNOLOGIES: BUSINESS INNOVATION AND APPLICATION

· A mid / basic understanding of blockchain technology and its long-term implications for business, coupled with knowledge of its relationship to other emerging technologies such as AI and IoT
· An economic framework for identifying blockchain-based solutions to challenges within your own context, guided by the knowledge of cryptoeconomics expert Christian Catalini
· Recognition of your newfound blockchain knowledge in the form of a certificate of completion from the MIT Sloan School of Management — one of the world’s leading business schools
Orientation Module: Welcome to Your Online Campus
Module 1: An introduction to blockchain technology
Module 2: Bitcoin and the curse of the double-spending problem
Module 3: Costless verification: Blockchain technology and the last mile problem
Module 4: Bootstrapping network effects through blockchain technology and cryptoeconomics
Module 5: Using tokens to design new types of digital platforms
Module 6: The future of blockchain technology, AI, and digital privacy

Oxford Blockchain Strategy Programme

· A mid / basic understanding of what blockchain is and how it works, as well as insights into how it will affect the future of industry and of your organization.
· The ability to make better strategic business decisions by utilizing the Oxford Blockchain Strategic framework, the Oxford Blockchain Regulation framework, the Oxford Blockchain Ecosystem map, and drawing on your knowledge of blockchain and affiliated industries and technologies.
· A certificate of attendance from Oxford Saïd as validation of your newfound blockchain knowledge and skills, as well as access to a global network of like-minded business leaders and innovators.
Module 1: Understanding blockchain
Module 2: The blockchain ecosystem
Module 3: Innovations in value transfer
Module 4: Decentralized apps and smart contracts
Module 5: Transforming enterprise business models
Module 6: Blockchain frontiers

Resources and Articles

Introduction to Distributed Ledger Technologies (DLT) https://www.ibm.com/developerworks/cloud/library/cl-blockchain-basics-intro-bluemix-trs/
Tomas’s Personal Favourite: 150+ Resources for going from web-dev to blockchain engineer https://github.com/benstew/blockchain-for-software-engineers
Hyperledger Frameworks Hyperledger is widely regarded as the most mature open-source framework for building private & permissioned blockchains.
Tutorials: https://www.hyperledger.org/resources/training
R3 Corda Open-source developer frameworks for building private, permissioned blockchains. A little better than Hyperledger on features like privacy and secure channels. Used mostly in financial applications.
Ethereum, Solidity, dApps and Smart-Contracts
Ethereum & Solidity Course (favourite): https://www.udemy.com/ethereum-and-solidity-the-complete-developers-guide/
An Introduction to Ethereum’s Token Standards: https://medium.com/coinmonks/anatomy-of-an-erc-an-exhaustive-survey-8bc1a323b541
How To Create Your First ERC20 Token: https://medium.com/bitfwd/how-to-do-an-ico-on-ethereum-in-less-than-20-minutes-a0062219374
Ethereum Developer Tools [Comprehensive List]: https://github.com/ConsenSys/ethereum-developer-tools-list/blob/masteREADME.md
CryptoZombies – Learn to code dApps through game-development: https://cryptozombies.io/
Intro to Ethereum Development: https://hackernoon.com/ethereum-development-walkthrough-part-1-smart-contracts-b3979e6e573e
Notes from Consensys Academy Participant (free): https://github.com/ScottWorks/ConsenSys-Academy-Notes
AWS Ethereum Templates: https://aws.amazon.com/blogs/aws/get-started-with-blockchain-using-the-new-aws-blockchain-templates/
Create dApps with better user-experience: https://blog.hellobloom.io/how-to-make-a-user-friendly-ethereum-dapp-5a7e5ea6df22
Solidity YouTube Course: https://www.youtube.com/channel/UCaWes1eWQ9TbzA695gl_PtA
[UX &UI] Designing a decentralized profile dApp: https://uxdesign.cc/designing-a-decentralized-profile-dapp-ab12ead4ab56
Scaling Solutions on Ethereum: https://media.consensys.net/the-state-of-scaling-ethereum-b4d095dbafae
Different Platforms for dApps and Smart-Contracts
While Ethereum is the most mature dApp framework with both the best developer tools, resources and community, there are other public blockchain platforms. Third generation blockchains are trying to solve Ethereum’s scaling and performance issues. Here is an overview of dApp platforms that can be worth looking into:
NEO - https://neo.org/ The second most mature dApp platform. NEO has better scalability and performance than Ethereum and has 1’000 TPS to ETH’s 15 by utilizing a dBFT consensus algorithm. While better infrastructure, NEO does not have the maturity of Ethereum’s developer tools, documentation and community.
A writeup on why a company chose to develop on NEO and not Ethereum: https://medium.com/orbismesh/why-we-chose-neo-over-ethereum-37fc9208ffa0
Cardano - https://www.cardano.org/en/home/ While still in alpha with a long and ambitious roadmap ahead of it, Cardano is one of the most anticipated dApp platforms out there. IOHK, the research and engineering company that maintains Cardano, has listed a lot of great resources and scientific papers that is worth looking into.
An Intro to Cardano: https://hackernoon.com/cardano-ethereum-and-neo-killer-or-overhyped-and-overpriced-8fcd5f8abcdf
IOHK Scientific Papers - https://iohk.io/research/papers/
Stellar - https://www.stellar.org/ If moving value fast from one party to another by using smart-contracts is the goal, Stellar Lumens is your platform. Initially as an open-source fork from Ripple, Stellar has become one of the mature frameworks for financial applications. Stellar’s focus lies in interoperability with legacy financial systems and cheap/fast value transfer. It’s smart-contract capability is rather limited in comparison to Ethereum and HyperLedger, so take that in consideration.
Ripplewww.ripple.com Ripple and its close cousin, Stellar, is two of the most well-known cryptocurrencies and DLT frameworks meant for the financial sector. Ripple enables instant settlement between banks for international transactions.

Consensus Algorithms

[Proof of Work] - very short, cuz it's well-known.
[1] Bitcoin - to generate a new block miner must generate hash of the new block header that is in line with given requirements.
Others: Ethereum, Litecoin etc.
[Hybrid of PoW and PoS]
[2] Decred - hybrid of “proof of work” and “proof of stake”. Blocks are created about every 5 minutes. Nodes in the network looking for a solution with a known difficulty to create a block (PoW). Once the solution is found it is broadcast to the network. The network then verifies the solution. Stakeholders who have locked some DCR in return for a ticket* now have the chance to vote on the block (PoS). 5 tickets are chosen pseudo-randomly from the ticket pool and if at least 3 of 5 vote ‘yes’ the block is permanently added to the blockchain. Both miners and voters are compensated with DCR : PoS - 30% and PoW - 60% of about 30 new Decred issued with a block. * 1 ticket = ability to cast 1 vote. Stakeholders must wait an average of 28 days (8,192 blocks) to vote their tickets.
[Proof of Stake]
[3] Nxt - The more tokens are held by account, the greater chance that account will earn the right to generate a block. The total reward received as a result of block generation is the sum of the transaction fees located within the block. Three values are key to determining which account is eligible to generate a block, which account earns the right to generate a block, and which block is taken to be the authoritative one in times of conflict: base target value, target value and cumulative difficulty. Each block on the chain has a generation signature parameter. To participate in the block's forging process, an active account digitally signs the generation signature of the previous block with its own public key. This creates a 64-byte signature, which is then hashed using SHA256. The first 8 bytes of the resulting hash are converted to a number, referred to as the account hit. The hit is compared to the current target value(active balance). If the computed hit is lower than the target, then the next block can be generated.
[4] Peercoin (chain-based proof of stake) - coin age parameter. Hybrid PoW and PoS algorithm. The longer your Peercoins have been stationary in your account (to a maximum of 90 days), the more power (coin age) they have to mint a block. The act of minting a block requires the consumption of coin age value, and the network determines consensus by selecting the chain with the largest total consumed coin age. Reward - minting + 1% yearly.
[5] Reddcoin (Proof of stake Velocity) - quite similar to Peercoin, difference: not linear coin-aging function (new coins gain weight quickly, and old coins gain weight increasingly slowly) to encourage Nodes Activity. Node with most coin age weight have a bigger chance to create block. To create block Node should calculate right hash. Block reward - interest on the weighted age of coins/ 5% annual interest in PoSV phase.
[6] Ethereum (Casper) - uses modified BFT consensus. Blocks will be created using PoW. In the Casper Phase 1 implementation for Ethereum, the “proposal mechanism" is the existing proof of work chain, modified to have a greatly reduced block reward. Blocks will be validated by set of Validators. Block is finalised when 2/3 of validators voted for it (not the number of validators is counted, but their deposit size). Block creator rewarded with Block Reward + Transaction FEES.
[7] Lisk (Delegated Proof-of-stake) - Lisk stakeholders vote with vote transaction (the weight of the vote depends on the amount of Lisk the stakeholder possess) and choose 101 Delegates, who create all blocks in the blockchain. One delegate creates 1 block within 1 round (1 round contains 101 blocks) -> At the beginning of each round, each delegate is assigned a slot indicating their position in the block generation process -> Delegate includes up to 25 transactions into the block, signs it and broadcasts it to the network -> As >51% of available peers agreed that this block is acceptable to be created (Broadhash consensus), a new block is added to the blockchain. *Any account may become a delegate, but only accounts with the required stake (no info how much) are allowed to generate blocks. Block reward - minted Lisks and transaction fees (fees for all 101 blocks are collected firstly and then are divided between delegates). Blocks appears every 10 sec.
[8] Cardano (Ouroboros Proof of Stake) - Blocks(slots) are created by Slot Leaders. Slot Leaders for N Epoch are chosen during n-1 Epoch. Slot Leaders are elected from the group of ADA stakeholders who have enough stake. Election process consist of 3 phases: Commitment phase: each elector generates a random value (secret), signs it and commit as message to network (other electors) saved in to block. -> Reveal phase: Each elector sends special value to open a commitment, all this values (opening) are put into the block. -> Recovery phase: each elector verifies that commitments and openings match and extracts the secrets and forms a SEED (randomly generated bytes string based on secrets). All electors get the same SEED. -> Follow the Satoshi algorithm : Elector who have coin which corresponded to SEED become a SLOT LEADER and get a right to create a block. Slot Leader is rewarded with minted ADA and transactions Fee.
[9] Tezos (Proof Of Stake) - generic and self-amending crypto-ledger. At the beginning of each cycle (2048 blocks), a random seed is derived from numbers that block miners chose and committed to in the penultimate cycle, and revealed in the last. -> Using this random seed, a follow the coin strategy (similar to Follow The Satoshi) is used to allocate mining rights and signing rights to stakeholders for the next cycle*. -> Blocks are mined by a random stakeholder (the miner) and includes multiple signatures of the previous block provided by random stakeholders (the signers). Mining and signing both offer a small reward but also require making a one cycle safety deposit to be forfeited in the event of a double mining or double signing.
· the more coins (rolls) you have - the more your chance to be a minesigner.
[10] Tendermint (Byzantine Fault Tolerance) - A proposal is signed and published by the designated proposer at each round. The proposer is chosen by a deterministic and non-choking round robin selection algorithm that selects proposers in proportion to their voting power. The proposer create the block, that should be validated by >2/3 of Validators, as follow: Propose -> Prevote -> Precommit -> Commit. Proposer rewarded with Transaction FEES.
[11] Tron (Byzantine Fault Tolerance) - This blockhain is still on development stage. Consensus algorithm = PoS + BFT (similar to Tendermint): PoS algorithm chooses a node as Proposer, this node has the power to generate a block. -> Proposer broadcasts a block that it want to release. -> Block enters the Prevote stage. It takes >2/3 of nodes' confirmations to enter the next stage. -> As the block is prevoted, it enters Precommit stage and needs >2/3 of node's confirmation to go further. -> As >2/3 of nodes have precommited the block it's commited to the blockchain with height +1. New blocks appears every 15 sec.
[12] NEO (Delegated Byzantine Fault Tolerance) - Consensus nodes* are elected by NEO holders -> The Speaker is identified (based on algorithm) -> He broadcasts proposal to create block -> Each Delegate (other consensus nodes) validates proposal -> Each Delegate sends response to other Delegates -> Delegate reaches consensus after receiving 2/3 positive responses -> Each Delegate signs the block and publishes it-> Each Delegate receives a full block. Block reward 6 GAS distributed proportionally in accordance with the NEO holding ratio among NEO holders. Speaker rewarded with transaction fees (mostly 0). * Stake 1000 GAS to nominate yourself for Bookkeeping(Consensus Node)
[13] EOS (Delegated Proof of Stake) - those who hold tokens on a blockchain adopting the EOS.IO software may select* block producers through a continuous approval voting system and anyone may choose to participate in block production and will be given an opportunity to produce blocks proportional to the total votes they have received relative to all other producers. At the start of each round 21 unique block producers are chosen. The top 20 by total approval are automatically chosen every round and the last producer is chosen proportional to their number of votes relative to other producers. Block should be confirmed by 2/3 or more of elected Block producers. Block Producer rewarded with Block rewards. *the more EOS tokens a stakeholder owns, the greater their voting power
[The XRP Ledger Consensus Process]
[14] Ripple - Each node receives transaction from external applications -> Each Node forms public list of all valid (not included into last ledger (=block)) transactions aka (Candidate Set) -> Nodes merge its candidate set with UNLs(Unique Node List) candidate sets and vote on the veracity of all transactions (1st round of consensus) -> all transactions that received at least 50% votes are passed on the next round (many rounds may take place) -> final round of consensus requires that min 80% of Nodes UNL agreeing on transactions. It means that at least 80% of Validating nodes should have same Candidate SET of transactions -> after that each Validating node computes a new ledger (=block) with all transactions (with 80% UNL agreement) and calculate ledger hash, signs and broadcasts -> All Validating nodes compare their ledgers hash -> Nodes of the network recognize a ledger instance as validated when a 80% of the peers have signed and broadcast the same validation hash. -> Process repeats. Ledger creation process lasts 5 sec(?). Each transaction includes transaction fee (min 0,00001 XRP) which is destroyed. No block rewards.
[The Stellar consensus protocol]
[15] Stellar (Federated Byzantine Agreement) - quite similar to Ripple. Key difference - quorum slice.
[Proof of Burn]
[16] Slimcoin - to get the right to write blocks Node should “burn” amount of coins. The more coins Node “burns” more chances it has to create blocks (for long period) -> Nodes address gets a score called Effective Burnt Coins that determines chance to find blocks. Block creator rewarded with block rewards.
[Proof of Importance]
[17] NEM - Only accounts that have min 10k vested coins are eligible to harvest (create a block). Accounts with higher importance scores have higher probabilities of harvesting a block. The higher amount of vested coins, the higher the account’s Importance score. And the higher amount of transactions that satisfy following conditions: - transactions sum min 1k coins, - transactions made within last 30 days, - recipient have 10k vested coins too, - the higher account’s Important score. Harvester is rewarded with fees for the transactions in the block. A new block is created approx. every 65 sec.
[Proof of Devotion]
[18] Nebulas (Proof of Devotion + BFT) - quite similar to POI, the PoD selects the accounts with high influence. All accounts are ranked according to their liquidity and propagation (Nebulas Rank) -> Top-ranked accounts are selected -> Chosen accounts pay deposit and are qualified as the blocks Validators* -> Algorithm pseudo-randomly chooses block Proposer -> After a new block is proposed, Validators Set (each Validator is charged a deposit) participate in a round of BFT-Style voting to verify block (1. Prepare stage -> 2. Commit Stage. Validators should have > 2/3 of total deposits to validate Block) -> Block is added. Block rewards : each Validator rewarded with 1 NAS. *Validators Set is dynamic, changes in Set may occur after Epoch change.
[IOTA Algorithm]
[19] IOTA - uses DAG (Directed Acyclic Graph) instead of blockchain (TANGLE equal to Ledger). Graph consist of transactions (not blocks). To issue a new transaction Node must approve 2 random other Transactions (not confirmed). Each transaction should be validate n(?) times. By validating PAST(2) transactions whole Network achieves Consensus. in Order to issue transaction Node: 1. Sign transaction with private key 2. choose two other Transactions to validate based on MCMC(Markov chain Monte Carlo) algorithm, check if 2 transactions are valid (node will never approve conflicting transactions) 3. make some PoW(similar to HashCash). -> New Transaction broadcasted to Network. Node don’t receive reward or fee.
[PBFT + PoW]
[20] Yobicash - uses PBFT and also PoW. Nodes reach consensus on transactions by querying other nodes. A node asks its peers about the state of a transaction: if it is known or not, and if it is a doublespending transaction or not. As follow : Node receives new transaction -> Checks if valid -> queries all known nodes for missing transactions (check if already in DAG ) -> queries 2/3 nodes for doublepsending and possibility -> if everything is ok add to DAG. Reward - nodes receive transaction fees + minting coins.
[Proof of Space/Proof of Capacity]
[21] Filecoin (Power Fault Tolerance) - the probability that the network elects a miner(Leader) to create a new block (it is referred to as the voting power of the miner) is proportional to storage currently in use in relation to the rest of the network. Each node has Power - storage in use verified with Proof of Spacetime by nodes. Leaders extend the chain by creating a block and propagating it to the network. There can be an empty block (when no leader). A block is committed if the majority of the participants add their weight on the chain where the block belongs to, by extending the chain or by signing blocks. Block creator rewarded with Block reward + transaction fees.
[Proof of Elapsed Time (POET)]
[22] Hyperledger Sawtooth - Goal - to solve BFT Validating Nodes limitation. Works only with intel’s SGX. PoET uses a random leader election model or a lottery based election model based on SGX, where the protocol randomly selects the next leader to finalize the block. Every validator requests a wait time from an enclave (a trusted function). -> The validator with the shortest wait time for a particular transaction block is elected the leader. -> The BlockPublisher is responsible for creating candidate blocks to extend the current chain. He takes direction from the consensus algorithm for when to create a block and when to publish a block. He creates, Finalizes, Signs Block and broadcast it -> Block Validators check block -> Block is created on top of blockchain.
[23] Byteball (Delegated Byzantine Fault Tolerance) - only verified nodes are allowed to be Validation nodes (list of requirements https://github.com/byteball/byteball-witness). Users choose in transaction set of 12 Validating nodes. Validating nodes(Witnesses) receive transaction fees.
[24] Nano - uses DAG, PoW (HashCash). Nano uses a block-lattice structure. Each account has its own blockchain (account-chain) equivalent to the account’s transaction/balance history. To add transaction user should make some HashCash PoW -> When user creates transaction Send Block appears on his blockchain and Receive block appears on Recipients blockchain. -> Peers in View receive Block -> Peers verify block (Double spending and check if already in the ledger) -> Peers achieve consensus and add block. In case of Fork (when 2 or more signed blocks reference the same previous block): Nano network resolves forks via a balance-weighted voting system where representative nodes vote for the block they observe, as >50% of weighted votes received, consensus achieved and block is retained in the Node’s ledger (block that lose the vote is discarded).
[25] Holochain - uses distributed hash table (DHT). Instead of trying to manage global consensus for every change to a huge blockchain ledger, every participant has their own signed hash chain. In case of multi-party transaction, it is signed to each party's chain. Each party signs the exact same transaction with links to each of their previous chain entries. After data is signed to local chains, it is shared to a DHT where every neighbor node validate it. Any consensus algorithms can be built on top of Holochain.
[26] Komodo ('Delegated' Delayed Proof of Work (dPoW)) - end-to-end blockchain solutions. DPoW consensus mechanism does not recognize The Longest Chain Rule to resolve a conflict in the network, instead the dPoW looks to backups it inserted previously into the chosen PoW blockchain. The process of inserting backups of Komodo transactions into a secure PoW is “notarization.” Notarisation is performed by the elected Notary nodes. Roughly every ten minutes, the Notary nodes perform a special block hash mined on the Komodo blockchain and take note of the overall Komodo blockchain “height”. The notary nodes process this specifc block so that their signatures are cryptographically included within the content of the notarized data. There are sixty-four “Notary nodes” elected by a stake-weighted vote, where ownership of KMD represents stake in the election. They are a special type of blockchain miner, having certain features in their underlying code that enable them to maintain an effective and cost-efcient blockchain and they periodically receives the privilege to mine a block on “easy difculty.”
Source: https://www.reddit.com/CryptoTechnology/comments/7znnq8/my_brief_observation_of_most_common_consensus/
Whitepapers Worth Looking Into:
IOTA -http://iotatoken.com/IOTA_Whitepaper.pdf
NANO -https://nano.org/en/whitepaper
Bitcoin -https://bitcoin.org/bitcoin.pdf
Ethereum: https://github.com/ethereum/wiki/wiki/White-Paper
Ethereum Plasma (Omise-GO) -https://plasma.io/plasma.pdf
Cardano - https://eprint.iacr.org/2016/889.pdf
submitted by heart_mind_body to CryptoCurrency [link] [comments]

My brief observation of most common Consensus Algorithms

I have studied most common consensus algorithms. Here is the summary, maybe for someone it will be helpful. My goal is to describe every specific consensus briefly so everyone can easily understand it. *Please let me know if I have wrote something wrong, or maybe you are aware of interesting algorithm, I have missed.
[Proof of Work] - very short, cuz it's well-known.
[1] Bitcoin - to generate a new block miner must generate hash of the new block header that is in line with given requirements.
Others: Ethereum, Litecoin etc.
[Hybrid of PoW and PoS]
[2] Decred - hybrid of “proof of work” and “proof of stake”. Blocks are created about every 5 minutes. Nodes in the network looking for a solution with a known difficulty to create a block (PoW). Once the solution is found it is broadcast to the network. The network then verifies the solution. Stakeholders who have locked some DCR in return for a ticket* now have the chance to vote on the block (PoS). 5 tickets are chosen pseudo-randomly from the ticket pool and if at least 3 of 5 vote ‘yes’ the block is permanently added to the blockchain. Both miners and voters are compensated with DCR : PoS - 30% and PoW - 60% of about 30 new Decred issued with a block. * 1 ticket = ability to cast 1 vote. Stakeholders must wait an average of 28 days (8,192 blocks) to vote their tickets.
[Proof of Stake]
[3] Nxt - The more tokens are held by account, the greater chance that account will earn the right to generate a block. The total reward received as a result of block generation is the sum of the transaction fees located within the block. Three values are key to determining which account is eligible to generate a block, which account earns the right to generate a block, and which block is taken to be the authoritative one in times of conflict: base target value, target value and cumulative difficulty. Each block on the chain has a generation signature parameter. To participate in the block's forging process, an active account digitally signs the generation signature of the previous block with its own public key. This creates a 64-byte signature, which is then hashed using SHA256. The first 8 bytes of the resulting hash are converted to a number, referred to as the account hit. The hit is compared to the current target value(active balance). If the computed hit is lower than the target, then the next block can be generated.
[4] Peercoin (chain-based proof of stake) - coin age parameter. Hybrid PoW and PoS algorithm. The longer your Peercoins have been stationary in your account (to a maximum of 90 days), the more power (coin age) they have to mint a block. The act of minting a block requires the consumption of coin age value, and the network determines consensus by selecting the chain with the largest total consumed coin age. Reward - minting + 1% yearly.
[5] Reddcoin (Proof of stake Velocity) - quite similar to Peercoin, difference: not linear coin-aging function (new coins gain weight quickly, and old coins gain weight increasingly slowly) to encourage Nodes Activity. Node with most coin age weight have a bigger chance to create block. To create block Node should calculate right hash. Block reward - interest on the weighted age of coins/ 5% annual interest in PoSV phase.
[6] Ethereum (Casper) - uses modified BFT consensus. Blocks will be created using PoW. In the Casper Phase 1 implementation for Ethereum, the “proposal mechanism" is the existing proof of work chain, modified to have a greatly reduced block reward. Blocks will be validated by set of Validators. Block is finalised when 2/3 of validators voted for it (not the number of validators is counted, but their deposit size). Block creator rewarded with Block Reward + Transaction FEES.
[7] Lisk (Delegated Proof-of-stake) - Lisk stakeholders vote with vote transaction (the weight of the vote depends on the amount of Lisk the stakeholder possess) and choose 101 Delegates, who create all blocks in the blockchain. One delegate creates 1 block within 1 round (1 round contains 101 blocks) -> At the beginning of each round, each delegate is assigned a slot indicating their position in the block generation process -> Delegate includes up to 25 transactions into the block, signs it and broadcasts it to the network -> As >51% of available peers agreed that this block is acceptable to be created (Broadhash consensus), a new block is added to the blockchain. *Any account may become a delegate, but only accounts with the required stake (no info how much) are allowed to generate blocks. Block reward - minted Lisks and transaction fees (fees for all 101 blocks are collected firstly and then are divided between delegates). Blocks appears every 10 sec.
[8] Cardano (Ouroboros Proof of Stake) - Blocks(slots) are created by Slot Leaders. Slot Leaders for N Epoch are chosen during n-1 Epoch. Slot Leaders are elected from the group of ADA stakeholders who have enough stake. Election process consist of 3 phases: Commitment phase: each elector generates a random value (secret), signs it and commit as message to network (other electors) saved in to block. -> Reveal phase: Each elector sends special value to open a commitment, all this values (opening) are put into the block. -> Recovery phase: each elector verifies that commitments and openings match and extracts the secrets and forms a SEED (randomly generated bytes string based on secrets). All electors get the same SEED. -> Follow the Satoshi algorithm : Elector who have coin which corresponded to SEED become a SLOT LEADER and get a right to create a block. Slot Leader is rewarded with minted ADA and transactions Fee.
[9] Tezos (Proof Of Stake) - generic and self-amending crypto-ledger. At the beginning of each cycle (2048 blocks), a random seed is derived from numbers that block miners chose and committed to in the penultimate cycle, and revealed in the last. -> Using this random seed, a follow the coin strategy (similar to Follow The Satoshi) is used to allocate mining rights and signing rights to stakeholders for the next cycle*. -> Blocks are mined by a random stakeholder (the miner) and includes multiple signatures of the previous block provided by random stakeholders (the signers). Mining and signing both offer a small reward but also require making a one cycle safety deposit to be forfeited in the event of a double mining or double signing. * the more coins (rolls) you have - the more your chance to be a minesigner.
[10] Tendermint (Byzantine Fault Tolerance) - A proposal is signed and published by the designated proposer at each round. The proposer is chosen by a deterministic and non-choking round robin selection algorithm that selects proposers in proportion to their voting power. The proposer create the block, that should be validated by >2/3 of Validators, as follow: Propose -> Prevote -> Precommit -> Commit. Proposer rewarded with Transaction FEES.
[11] Tron (Byzantine Fault Tolerance) - This blockhain is still on development stage. Consensus algorithm = PoS + BFT (similar to Tendermint): PoS algorithm chooses a node as Proposer, this node has the power to generate a block. -> Proposer broadcasts a block that it want to release. -> Block enters the Prevote stage. It takes >2/3 of nodes' confirmations to enter the next stage. -> As the block is prevoted, it enters Precommit stage and needs >2/3 of node's confirmation to go further. -> As >2/3 of nodes have precommited the block it's commited to the blockchain with height +1. New blocks appears every 15 sec.
[12] NEO (Delegated Byzantine Fault Tolerance) - Consensus nodes* are elected by NEO holders -> The Speaker is identified (based on algorithm) -> He broadcasts proposal to create block -> Each Delegate (other consensus nodes) validates proposal -> Each Delegate sends response to other Delegates -> Delegate reaches consensus after receiving 2/3 positive responses -> Each Delegate signs the block and publishes it-> Each Delegate receives a full block. Block reward 6 GAS distributed proportionally in accordance with the NEO holding ratio among NEO holders. Speaker rewarded with transaction fees (mostly 0). * Stake 1000 GAS to nominate yourself for Bookkeeping(Consensus Node)
[13] EOS (Delegated Proof of Stake) - those who hold tokens on a blockchain adopting the EOS.IO software may select* block producers through a continuous approval voting system and anyone may choose to participate in block production and will be given an opportunity to produce blocks proportional to the total votes they have received relative to all other producers. At the start of each round 21 unique block producers are chosen. The top 20 by total approval are automatically chosen every round and the last producer is chosen proportional to their number of votes relative to other producers. Block should be confirmed by 2/3 or more of elected Block producers. Block Producer rewarded with Block rewards. *the more EOS tokens a stakeholder owns, the greater their voting power
[The XRP Ledger Consensus Process]
[14] Ripple - Each node receives transaction from external applications -> Each Node forms public list of all valid (not included into last ledger (=block)) transactions aka (Candidate Set) -> Nodes merge its candidate set with UNLs(Unique Node List) candidate sets and vote on the veracity of all transactions (1st round of consensus) -> all transactions that received at least 50% votes are passed on the next round (many rounds may take place) -> final round of consensus requires that min 80% of Nodes UNL agreeing on transactions. It means that at least 80% of Validating nodes should have same Candidate SET of transactions -> after that each Validating node computes a new ledger (=block) with all transactions (with 80% UNL agreement) and calculate ledger hash, signs and broadcasts -> All Validating nodes compare their ledgers hash -> Nodes of the network recognize a ledger instance as validated when a 80% of the peers have signed and broadcast the same validation hash. -> Process repeats. Ledger creation process lasts 5 sec(?). Each transaction includes transaction fee (min 0,00001 XRP) which is destroyed. No block rewards.
[The Stellar consensus protocol]
[15] Stellar (Federated Byzantine Agreement) - quit similar to Ripple. Key difference - quorum slice.
[Proof of Burn]
[16] Slimcoin - to get the right to write blocks Node should “burn” amount of coins. The more coins Node “burns” more chances it has to create blocks (for long period) -> Nodes address gets a score called Effective Burnt Coins that determines chance to find blocks. Block creator rewarded with block rewards.
[Proof of Importance]
[17] NEM - Only accounts that have min 10k vested coins are eligible to harvest (create a block). Accounts with higher importance scores have higher probabilities of harvesting a block. The higher amount of vested coins, the higher the account’s Importance score. And the higher amount of transactions that satisfy following conditions: - transactions sum min 1k coins, - transactions made within last 30 days, - recipient have 10k vested coins too, - the higher account’s Important score. Harvester is rewarded with fees for the transactions in the block. A new block is created approx. every 65 sec.
[Proof of Devotion]
[18] Nebulas (Proof of Devotion + BFT) - quite similar to POI, the PoD selects the accounts with high influence. All accounts are ranked according to their liquidity and propagation (Nebulas Rank) -> Top-ranked accounts are selected -> Chosen accounts pay deposit and are qualified as the blocks Validators* -> Algorithm pseudo-randomly chooses block Proposer -> After a new block is proposed, Validators Set (each Validator is charged a deposit) participate in a round of BFT-Style voting to verify block (1. Prepare stage -> 2. Commit Stage. Validators should have > 2/3 of total deposits to validate Block) -> Block is added. Block rewards : each Validator rewarded with 1 NAS. *Validators Set is dynamic, changes in Set may occur after Epoch change.
[IOTA Algorithm]
[19] IOTA - uses DAG (Directed Acyclic Graph) instead of blockchain (TANGLE equal to Ledger). Graph consist of transactions (not blocks). To issue a new transaction Node must approve 2 random other Transactions (not confirmed). Each transaction should be validate n(?) times. By validating PAST(2) transactions whole Network achieves Consensus. in Order to issue transaction Node: 1. Sign transaction with private key 2. choose two other Transactions to validate based on MCMC(Markov chain Monte Carlo) algorithm, check if 2 transactions are valid (node will never approve conflicting transactions) 3. make some PoW(similar to HashCash). -> New Transaction broadcasted to Network. Node don’t receive reward or fee.
[PBFT + PoW]
[20] Yobicash - uses PBFT and also PoW. Nodes reach consensus on transactions by querying other nodes. A node asks its peers about the state of a transaction: if it is known or not, and if it is a doublespending transaction or not. As follow : Node receives new transaction -> Checks if valid -> queries all known nodes for missing transactions (check if already in DAG ) -> queries 2/3 nodes for doublepsending and possibility -> if everything is ok add to DAG. Reward - nodes receive transaction fees + minting coins.
[Proof of Space/Proof of Capacity]
[21] Filecoin (Power Fault Tolerance) - the probability that the network elects a miner(Leader) to create a new block (it is referred to as the voting power of the miner) is proportional to storage currently in use in relation to the rest of the network. Each node has Power - storage in use verified with Proof of Spacetime by nodes. Leaders extend the chain by creating a block and propagating it to the network. There can be an empty block (when no leader). A block is committed if the majority of the participants add their weight on the chain where the block belongs to, by extending the chain or by signing blocks. Block creator rewarded with Block reward + transaction fees.
[Proof of Elapsed Time]
[22] Hyperledger Sawtooth - Goal - to solve BFT Validating Nodes limitation. Works only with intel’s SGX. PoET uses a random leader election model or a lottery based election model based on SGX, where the protocol randomly selects the next leader to finalize the block. Every validator requests a wait time from an enclave (a trusted function). -> The validator with the shortest wait time for a particular transaction block is elected the leader. -> The BlockPublisher is responsible for creating candidate blocks to extend the current chain. He takes direction from the consensus algorithm for when to create a block and when to publish a block. He creates, Finalizes, Signs Block and broadcast it -> Block Validators check block -> Block is created on top of blockchain.
[Other]
[23] Byteball (Delegated Byzantine Fault Tolerance) - only verified nodes are allowed to be Validation nodes (list of requirements https://github.com/byteball/byteball-witness). Users choose in transaction set of 12 Validating nodes. Validating nodes(Witnesses) receive transaction fees.
[24] Nano - uses DAG, PoW (HashCash). Nano uses a block-lattice structure. Each account has its own blockchain (account-chain) equivalent to the account’s transaction/balance history. To add transaction user should make some HashCash PoW -> When user creates transaction Send Block appears on his blockchain and Receive block appears on Recipients blockchain. -> Peers in View receive Block -> Peers verify block (Double spending and check if already in the ledger) -> Peers achieve consensus and add block. In case of Fork (when 2 or more signed blocks reference the same previous block): Nano network resolves forks via a balance-weighted voting system where representative nodes vote for the block they observe, as >50% of weighted votes received, consensus achieved and block is retained in the Node’s ledger (block that lose the vote is discarded).
[25] Holochain - uses distributed hash table (DHT). Instead of trying to manage global consensus for every change to a huge blockchain ledger, every participant has their own signed hash chain. In case of multi-party transaction, it is signed to each party's chain. Each party signs the exact same transaction with links to each of their previous chain entries. After data is signed to local chains, it is shared to a DHT where every neighbor node validate it. Any consensus algorithms can be built on top of Holochain.
[26] Komodo ('Delegated' Delayed Proof of Work (dPoW)) - end-to-end blockchain solutions. DPoW consensus mechanism does not recognize The Longest Chain Rule to resolve a conflict in the network, instead the dPoW looks to backups it inserted previously into the chosen PoW blockchain. The process of inserting backups of Komodo transactions into a secure PoW is “notarization.” Notarisation is performed by the elected Notary nodes. Roughly every ten minutes, the Notary nodes perform a special block hash mined on the Komodo blockchain and take note of the overall Komodo blockchain “height”. The notary nodes process this specifc block so that their signatures are cryptographically included within the content of the notarized data. There are sixty-four “Notary nodes” elected by a stake-weighted vote, where ownership of KMD represents stake in the election. They are a special type of blockchain miner, having certain features in their underlying code that enable them to maintain an effective and cost-efcient blockchain and they periodically receives the privilege to mine a block on “easy difculty.”
post with references you can find here: https://bitcointalk.org/index.php?topic=2936428.msg30170673#msg30170673
submitted by tracyspacygo to CryptoTechnology [link] [comments]

Proof of Stake (PoS)

Proof of Stake (PoS)
Source https://coinscapture.com/blog/proof-of-stake-pos-explained

https://preview.redd.it/5z3n0jtw1p031.jpg?width=5002&format=pjpg&auto=webp&s=dc5ca29cfbab03055de174b11faee9ca2875c49d
The validation of transactions through Proof of work (PoW) consumes a lot of computational energy and time for solving a complex cryptographic puzzle in mining, so as an alternative to this Proof of Stake (PoS) was developed. Proof of Stake (PoS) is a consensus algorithm that was initially suggested in 2011 on the Bitcointalk forum and the first cryptocurrency to implement it was Peercoin in 2012.
What is Proof of Stake (PoS)?
It is a consensus algorithm having the same work purpose as PoW of achieving distributed consensus - a system giving incentives for validating people’s transactions and maintaining integrity but the way to reach this goal is quite different. In PoS, the users who validate transactions and create new blocks are referred as Forgers and the blocks are referred as “forged” or “minted”. The selection is done on the basis of two elements. Let’s check each of them.
Forger’s Stake:
The first element considered is the user’s stake. Forgers (validator) in order to get a chance to verify transactions have to stake some portion of their coins or tokens. Thus, the forger holding the highest amount of coins has the highest chance of being chosen. During the transaction validation, the forger stakes his own coins which are held securely in the system. If the forger mistakenly validates a fraudulent transaction, he may lose the stake amount along with the right to participate in the forging process. However, to resume participation in the forging process, the forger has to again stake some coins. In the PoS algorithm, the incentive is always given in the form of transaction fees.
Selection Methods:
The second element is the selection method that depends on the blockchain type. The two selection methods are Randomised Block Selection and Coin Age Selection.
1. Randomized Block Selection:
The next forger is selected on the basis of a formula i.e. the combination of the lowest hash value and the highest stake. Each node in the system can predict the next forger on the basis of stake as it is public. Nxt and BlackCoin are two cryptocurrencies that use the randomized block selection method.
2. Coin Age Selection:
In this method, the forger is selected on the “coin age” of the stake amount. The coin age is calculated by multiplying the number of coins with the number of days of coins that are held as a stake. The coins should be held for a minimum of 30 days before they compete. The chance to become the next forger turns brighter when the coins are stalked for a longer time and more amount of coins. Once the user has forged the block, the coin age is reset to zero and waiting period of 30-90 days is applied. This prevents users dominance on the blockchain. Peercoin uses coin age selection process combined with a randomized selection method.
Advantages:
1. Energy efficient:
As PoS involves no mining process that consumes a lot of electricity.
2. No 51% attack:
It is an attack that includes a group of entities that control the maximum hashing power of a blockchain which is used for personal gains. In PoS, this attack is avoided because it an expensive process to accumulate 51% of the coin.
Disadvantages:
1. Nothing at stake issue:It is a situation which can occur due to consensus failure due to which there is fork generation (i.e. splitting of blockchain in two) and validator is left with no option but has to support both the chains and validate the block. Due to this issue, the stake would be duplicated on both chains meaning the validators can claim twice the amount of rewards.
Proof of Stake is a protocol that determines the creator of the new block in a deterministic way depending on the wealth, effectively and efficiently fulfilling the intended purpose of achieving and maintaining a decentralised system.
submitted by coinscapturecom to u/coinscapturecom [link] [comments]

My brief observation of most common Consensus Algorithms

I have studied most common consensus algorithms. Here is the summary, maybe for someone it will be helpful. My goal is to describe every specific consensus briefly so everyone can easily understand it. *Please let me know if I have wrote something wrong, or maybe you are aware of interesting algorithm, I have missed.
Proof of Work - very short, cuz it's well-known.
Bitcoin - to generate a new block miner must generate hash of the new block header that is in line with given requirements.
Others: Ethereum, Litecoin etc.
Proof of Stake
Nxt- The more tokens are held by account, the greater chance that account will earn the right to generate a block. The total reward received as a result of block generation is the sum of the transaction fees located within the block. Three values are key to determining which account is eligible to generate a block, which account earns the right to generate a block, and which block is taken to be the authoritative one in times of conflict: base target value, target value and cumulative difficulty. Each block on the chain has a generation signature parameter. To participate in the block's forging process, an active account digitally signs the generation signature of the previous block with its own public key. This creates a 64-byte signature, which is then hashed using SHA256. The first 8 bytes of the resulting hash are converted to a number, referred to as the account hit. The hit is compared to the current target value(active balance). If the computed hit is lower than the target, then the next block can be generated.
Peercoin (chain-based proof of stake) - coin age parameter. Hybrid PoW and PoS algorithm. The longer your Peercoins have been stationary in your account (to a maximum of 90 days), the more power (coin age) they have to mint a block. The act of minting a block requires the consumption of coin age value, and the network determines consensus by selecting the chain with the largest total consumed coin age. Reward - minting + 1% yearly.
Reddcoin (Proof of stake Velocity) - quite similar to Peercoin, difference: not linear coin-aging function (new coins gain weight quickly, and old coins gain weight increasingly slowly) to encourage Nodes Activity. Node with most coin age weight have a bigger chance to create block. To create block Node should calculate right hash. Block reward - interest on the weighted age of coins/ 5% annual interest in PoSV phase.
Ethereum (Casper) - uses modified BFT consensus. Blocks will be created using PoW. In the Casper Phase 1 implementation for Ethereum, the “proposal mechanism" is the existing proof of work chain, modified to have a greatly reduced block reward. Blocks will be validated by set of Validators. Block is finalised when 2/3 of validators voted for it (not the number of validators is counted, but their deposit size). Block creator rewarded with Block Reward + Transaction FEES.
Lisk (Delegated Proof-of-stake) - Lisk stakeholders vote with vote transaction (the weight of the vote depends on the amount of Lisk the stakeholder possess) and choose 101 Delegates, who create all blocks in the blockchain. One delegate creates 1 block within 1 round (1 round contains 101 blocks) -> At the beginning of each round, each delegate is assigned a slot indicating their position in the block generation process -> Delegate includes up to 25 transactions into the block, signs it and broadcasts it to the network -> As >51% of available peers agreed that this block is acceptable to be created (Broadhash consensus), a new block is added to the blockchain. *Any account may become a delegate, but only accounts with the required stake (no info how much) are allowed to generate blocks. Block reward - minted Lisks and transaction fees (fees for all 101 blocks are collected firstly and then are divided between delegates). Blocks appears every 10 sec.
Cardano (Ouroboros Proof of Stake) - Blocks(slots) are created by Slot Leaders. Slot Leaders for N Epoch are chosen during n-1 Epoch. Slot Leaders are elected from the group of ADA stakeholders who have enough stake. Election process consist of 3 phases: Commitment phase: each elector generates a random value (secret), signs it and commit as message to network (other electors) saved in to block. -> Reveal phase: Each elector sends special value to open a commitment, all this values (opening) are put into the block. -> Recovery phase: each elector verifies that commitments and openings match and extracts the secrets and forms a SEED (randomly generated bytes string based on secrets). All electors get the same SEED. -> Follow the Satoshi algorithm : Elector who have coin which corresponded to SEED become a SLOT LEADER and get a right to create a block. Slot Leader is rewarded with minted ADA and transactions Fee.
Tendermint (Byzantine Fault Tolerance) - A proposal is signed and published by the designated proposer at each round. The proposer is chosen by a deterministic and non-choking round robin selection algorithm that selects proposers in proportion to their voting power. The proposer create the block, that should be validated by >2/3 of Validators, as follow: Propose -> Prevote -> Precommit -> Commit. Proposer rewarded with Transaction FEES.
Tron (Byzantine Fault Tolerance) - This blockhain is still on development stage. Consensus algorithm = PoS + BFT (similar to Tendermint): PoS algorithm chooses a node as Proposer, this node has the power to generate a block. -> Proposer broadcasts a block that it want to release. -> Block enters the Prevote stage. It takes >2/3 of nodes' confirmations to enter the next stage. -> As the block is prevoted, it enters Precommit stage and needs >2/3 of node's confirmation to go further. -> As >2/3 of nodes have precommited the block it's commited to the blockchain with height +1. New blocks appears every 15 sec.
NEO (Delegated Byzantine Fault Tolerance) - Consensus nodes* are elected by NEO holders -> The Speaker is identified (based on algorithm) -> He broadcasts proposal to create block -> Each Delegate (other consensus nodes) validates proposal -> Each Delegate sends response to other Delegates -> Delegate reaches consensus after receiving 2/3 positive responses -> Each Delegate signs the block and publishes it-> Each Delegate receives a full block. Block reward 6 GAS distributed proportionally in accordance with the NEO holding ratio among NEO holders. Speaker rewarded with transaction fees (mostly 0). * Stake 1000 GAS to nominate yourself for Bookkeeping(Consensus Node)
EOS (Delegated Proof of Stake) - those who hold tokens on a blockchain adopting the EOS.IO software may select* block producers through a continuous approval voting system and anyone may choose to participate in block production and will be given an opportunity to produce blocks proportional to the total votes they have received relative to all other producers. At the start of each round 21 unique block producers are chosen. The top 20 by total approval are automatically chosen every round and the last producer is chosen proportional to their number of votes relative to other producers. Block should be confirmed by 2/3 or more of elected Block producers. Block Producer rewarded with Block rewards. *the more EOS tokens a stakeholder owns, the greater their voting power
The XRP Ledger Consensus Process
Ripple - Each node receives transaction from external applications -> Each Node forms public list of all valid (not included into last ledger (=block)) transactions aka (Candidate Set) -> Nodes merge its candidate set with UNLs(Unique Node List) candidate sets and vote on the veracity of all transactions (1st round of consensus) -> all transactions that received at least 50% votes are passed on the next round (many rounds may take place) -> final round of consensus requires that min 80% of Nodes UNL agreeing on transactions. It means that at least 80% of Validating nodes should have same Candidate SET of transactions -> after that each Validating node computes a new ledger (=block) with all transactions (with 80% UNL agreement) and calculate ledger hash, signs and broadcasts -> All Validating nodes compare their ledgers hash -> Nodes of the network recognize a ledger instance as validated when a 80% of the peers have signed and broadcast the same validation hash. -> Process repeats. Ledger creation process lasts 5 sec(?). Each transaction includes transaction fee (min 0,00001 XRP) which is destroyed. No block rewards.
The Stellar consensus protocol
Stellar (Federated Byzantine Agreement) - quit similar to Ripple. Key difference - quorum slice.
Proof of Burn
Slimcoin - to get the right to write blocks Node should “burn” amount of coins. The more coins Node “burns” more chances it has to create blocks (for long period) -> Nodes address gets a score called Effective Burnt Coins that determines chance to find blocks. Block creator rewarded with block rewards.
Proof of Importance
NEM - Only accounts that have min 10k vested coins are eligible to harvest (create a block). Accounts with higher importance scores have higher probabilities of harvesting a block. The higher amount of vested coins, the higher the account’s Importance score. And the higher amount of transactions that satisfy following conditions: - transactions sum min 1k coins, - transactions made within last 30 days, - recipient have 10k vested coins too, - the higher account’s Important score. Harvester is rewarded with fees for the transactions in the block. A new block is created approx. every 65 sec.
IOTA Algorithm
IOTA - uses DAG (Directed Acyclic Graph) instead of blockchain (TANGLE equal to Ledger). Graph consist of transactions (not blocks). To issue a new transaction Node must approve 2 random other Transactions (not confirmed). Each transaction should be validate n(?) times. By validating PAST(2) transactions whole Network achieves Consensus. in Order to issue transaction Node: 1. Sign transaction with private key 2. choose two other Transactions to validate based on MCMC(Markov chain Monte Carlo) algorithm, check if 2 transactions are valid (node will never approve conflicting transactions) 3. make some PoW(similar to HashCash). -> New Transaction broadcasted to Network. Node don’t receive reward or fee.
Proof of Space/Proof of Capacity
Filecoin (Power Fault Tolerance) - the probability that the network elects a miner(Leader) to create a new block (it is referred to as the voting power of the miner) is proportional to storage currently in use in relation to the rest of the network. Each node has Power - storage in use verified with Proof of Spacetime by nodes. Leaders extend the chain by creating a block and propagating it to the network. There can be an empty block (when no leader). A block is committed if the majority of the participants add their weight on the chain where the block belongs to, by extending the chain or by signing blocks. Block creator rewarded with Block reward + transaction fees.
Proof of Elapsed Time
Hyperledger Sawtooth - Goal - to solve BFT Validating Nodes limitation. Works only with intel’s SGX. PoET uses a random leader election model or a lottery based election model based on SGX, where the protocol randomly selects the next leader to finalize the block. Every validator requests a wait time from an enclave (a trusted function). -> The validator with the shortest wait time for a particular transaction block is elected the leader. -> The BlockPublisher is responsible for creating candidate blocks to extend the current chain. He takes direction from the consensus algorithm for when to create a block and when to publish a block. He creates, Finalizes, Signs Block and broadcast it -> Block Validators check block -> Block is created on top of blockchain. post with references you can find here: https://bitcointalk.org/index.php?topic=2936428.msg30170673#msg30170673
submitted by tracyspacygo to CryptoCurrency [link] [comments]

Basis of Distributed Faith — Consensus Mechanism

Basis of Distributed Faith — Consensus Mechanism

https://preview.redd.it/zczoxqdt22m21.jpg?width=900&format=pjpg&auto=webp&s=d825adf31c68966a4105de135fea5784c6f629b3
At present, the Hard Fork of Ethereum has attracted more attention once again. After the fork, Ethereum will move to the final stage — Serenity.(Here is the previous part about fork in case you missed it:Ethereum Had Finished the Hard Fork,Talking About Something About Fork )According to the plan, in the Serenity stage, the Ethereum consensus mechanism will be changed from the Proof of Work to the Proof of Stake. So what is the consensus mechanism?Through this post,you will understand the basis of distributed faith — consensus mechanism.

What is the consensus mechanism?

In an environment of mutual distrust, in order to safeguard his own interests, each node involved in the transaction will abide by the rules of the blockchain network spontaneously and honestly, and judge the authenticity of each record, and finally the records judged to be true will be recorded into the blockchain.
How to keep accounts and how to obtain the right to keep accounts are the basic problems that the consensus mechanism needs to solve. The “longest chain consensus” is adopted to solve the problem of how to keep account, that is, each accounting node takes the chain with the largest number of blocks as the accounting option. In addition, the consensus mechanism also needs to solve the problem of how to obtain accounting rights. The following three methods will be introduced.

Proof of Work

PoW stands for Proof of Work,which is a mechanism to prove that a specified amount of work has been completed through the results. PoW was first used in bitcoin network. If the miner finds a nonce that satisfies the difficulty of the hash value, it can be considered that the workload of matching the random number is completed, and the miner will obtain the accounting right. The probability of bookkeeping depends on the proportion of computational power in the total network. If the proportion of computational power is 10%, then there is a 10% chance to compete for the right of bookkeeping. PoW algorithm is simple and easy to implement, but it occupies resources, and the block confirmation takes long time so that the efficiency is not high.

Proof of Stake

PoS stands for Proof of Stake.It is a mechanism that can adjust the difficulty of obtaining accounting rights through the rights held by nodes. PoS was first applied to the Peercoin , which allocated the corresponding rights and interests through the coin age (coin age= the amount of coins held * time). For instance, if a user holds 100 coins for 10 days, then the coin age is 1000. The higher the coin age a miner has, the greater the rights and interests, and the greater the probability of obtaining accounting rights. PoS does not need to compete for calculation power, which reduces the waste of power energy to a certain extent.

Delegated Proof-of-Stake

PoS has had a profound impact on the development of the blockchain consensus mechanism. There are many derivative versions of PoS, among which the Delegated Proof-of-Stake is the most important representative. DPoS stands for Delegated Proof-of-Stake. In the blockchain network with DPoS, users holding the token select a certain number of accounting nodes by voting, and each selected node undertakes the task of verifying transactions and accounting within a certain period of time, maintaining the blockchain operation orderly. The blockchain system will reward token to accounting nodes. Elected nodes need to do the verification and accounting work. If they cannot be completed, they will be removed, and new nodes will be selected to replace the old nodes. DPoS greatly reduces the number of verification and accounting nodes, which can greatly improve the blockchain data processing capabilities and significantly reduce the cost of maintaining blockchain network security.
In addition to the above three proof mechanisms, there are still many proof mechanisms to solve the problem of how to obtain accounting rights, but none of them is perfect. The present is by no means the end of the development process of the certification mechanism. In the future, there will be more derivatives and new certification mechanisms. Different certification mechanisms are needed for different requirements and scenarios.

Written by Sam,translated by Gambol. They are both Nerthus community volunteers.
Keen to find out more about Nerthus,reach us at:
Website or Twitter.
submitted by NerthusChain to Nerthus [link] [comments]

Bitcoin Mining - A Development That Involves a Bit More Than Number Crunching

The attractive cryptocurrency and therefore the varied thoughts that occur within the minds of the onlookers usually surround few obvious queries - however, will it inherit being and what about its circulation? the solution, however, is simple. Bitcoins must be deep-mined, so as to form the cryptocurrency exist within the Bitcoin market. The mysterious creator of Bitcoin, Satoshi Nakamoto, visualized a way to exchange the dear cryptocurrencies on-line, by doing away with the need for any centralized establishment. For Bitcoins, there are an alternate thanks to holding the required records of the group action history of the complete circulation, and everyone this can be managed via a suburbanized manner.
The ledger that facilitates the method is thought because of the "blockchain". The essence of this ledger would possibly need heaps of newspaper for showing frequently in any respect common Bitcoin news. Blockchain expands each minute, existing on the machines concerned within the large Bitcoin network. Individuals could question the validity, even legitimacy, of those transactions and their recordings into Blockchain. This too is but even, through the method of Bitcoin mining. https://www.bitcoin24mining.com/ Mining allows the creation of latest Bitcoin and collecting transactions to the ledger. Mining basically entails finding of advanced mathematical calculations, and therefore the miners use huge computing power to resolve it. The individual or 'pool' that solves the puzzle, place the following block and wins a bequest too. And, however, mining will avoid double-spending? virtually every ten minutes, outstanding transactions are deep-mined into a block. So, any inconsistency or illegitimacy is totally dominated out.
For Bitcoins, mining isn't spoken of during an ancient sense of the term. Bitcoins are deep-mined by utilizing cryptography. A hash operate termed as "double SHA-256" is utilized. However troublesome is it to mine Bitcoins? this may be another question. This relies lots on the hassle and computing power being utilized into mining. Another issue value mentioning is that the packaging protocol. For every 2016 blocks, issue entailed in the mining of Bitcoins is adjusted by itself merely to take care of the protocol. In turn, the pace of block generation is unbroken consistent. A Bitcoin issue chart may be an excellent live to demonstrate the mining issue over time. The issue level adjusts itself to travel up or down during a directly proportional manner, looking at the processing power, whether or not it's being fuelled or set out. because the range of miners rises, the share of profits merited by the participants diminish, everybody finishes up with smaller slices of the profits.
Having individual economies and communities, cryptocurrencies like Dogecoin, Namecoin or Peercoin, are known as Altcoins. These are alternatives to Bitcoin. Virtually like Bitcoins, these 'cousins' do have a large fan-following and aficionados WHO are keen to require a deep plunge into the massive ocean and start to mine it. Algorithms utilized for Altcoin mining are either SHA-256 or Scrypt. Many alternative innovative algorithms exist too. Ease, affordability, and ease will render it possible to mine Altcoins on a computer or by using special mining package. Altcoins are a touch 'down to earth' compared to Bitcoins, nonetheless remodeling them into pile may be a very little troublesome. Cryptocurrency buffs will simply hope, if a number of them may witness the equivalent astronomical fame!
submitted by heiwhiteSEO to u/heiwhiteSEO [link] [comments]

"POS stands for the future? Qtum brings deep analysis"

Each cryptocurrency will adopt some kind of consensus mechanism so that the entire distributed network can maintain synchronization. Bitcoin adopted the Proof of Work (PoW) consensus mechanism from the very beginning of its birth to achieve proof of workload through continuous digital cryptographic hash operations. Since the hashing algorithm is unidirectional, even a small change in the input data will make the output hash value completely different. If the calculated hash value satisfies certain conditions (referred to as "mining difficulty"), participants in the bitcoin network identify the workload proof. Mining difficulty is an ever-changing hash target. When the speed of network-generated blocks becomes faster, the difficulty is automatically increased to maintain the average of the entire network every 10 minutes.
 
Definition
For those who are not very familiar with the blockchain, here are some basic definitions to help understand the post:
 
PoW and Blockchain Consensus System
Through 8 years of development of Bitcoin, the security of the PoW mechanism has been confirmed. However, PoW has the following problems:
 
  1. PoW has wasted a lot of power resources and is not friendly to the environment;
  2. PoW is only economically advantageous for big people who have a lot of power (normal users can hardly mine into mines);
  3. PoW lacks incentives for users to hold or use coins;
  4. PoW has a certain risk of centralization, because miners tend to join large pools, which makes large pools have a greater influence on the network;
 
The right to benefit prove mechanism (Proof of Stake, hereinafter referred to as PoS) can solve a lot of problems among this, because it enables any user with tokens in your wallet can have the opportunity to dig mine (of course, will get mining reward). The PoS was originally proposed by Sunny King in Peercoin. It was later refined and adopted in a variety of cryptocurrencies. Among these are PoS Vasin's PoS 2.0, Larry Ren's PoS Velocity, and the recent CASPER proposed by Vlad Zamfir, as well as various other relatively unknown projects.
 
The consensus mechanism adopted by Qtum is based on PoS3.0. PoS3.0 is an upgraded version of PoS2.0, also proposed and implemented by Pavel Vasin. This article will focus on this version of the PoS implementation. Qtum made some changes based on PoS3.0, but the core consensus mechanism is basically the same.
 
For general community members and even some developers, PoS is not particularly easy to understand because there are currently fewer documents detailing how to ensure network security in networks that use only token ownership to achieve consensus. This article will elaborate on how to generate, verify, and secure the PoS blockchain in PoS3.0. The article may involve some technical knowledge, but I will try to describe it with some of the basic definitions provided in this article. But at least the reader needs to have a basic idea of ​​a UTXO-based blockchain.
 
Before introducing PoS, let me briefly introduce PoW's working mechanism, which can help the following understanding of PoS. The PoW mining process can be represented by the following pseudocode:  
While(blockhash > difficulty) { Block.nonce = block.nonce + 1 Blockhash = sha256(sha256(block)) } 
 
The hash operation used here I explained earlier, that is, to use arbitrary length data as input, after a series of operations, get a fixed-length information digest as an output, but only know the information digest but it is impossible to reverse the corresponding input data . The whole process is a lot like the lottery winning mechanism. You can create a “voucher” by hashing the data and compare it with the target hash range to determine if you “win”. If you don't win, you can create a new "voucher" again by slightly changing some of the data. The random number nonce in Bitcoin is used to adjust the input data. Once the required hash is found, the block is legitimate and can be broadcast to a distributed network. Once the other miners in the network receive this new block message and pass the verification, they will add the block to the chain and continue to build the block after the new block.
 
PoS protocol structure and rules
 
Now we begin to introduce PoS. PoS has the following goals :
  1. Cannot fake blocks;
  2. "Large households" will not receive much disproportionately large rewards;
  3. Having strong computing power does not help create blocks;
  4. No one or several members of the network can control the entire blockchain;
The basic concept of PoS is very similar to PoW, and it is like a lottery. The only difference is that PoS can't get new "lotteries" just by fine-tuning the input data, PoW uses "block hash" as lottery ticket, and PoS introduces the concept of "kernel hash".
The Kernel hash takes as input multiple unmodifiable data in the current block. So, because the miners can't find a simple way to modify the kernal hash, they can't get legal through a lot of traversal of the possible hash.New block.
 
In order to achieve this goal, PoS added many additional consensus rules.
First, unlike PoW, the PoS's coinbase transaction (that is, the first transaction in the block) has zero output. At the same time, in order to reward Staker, a staking transaction was introduced as the second transaction of the block. The staking transaction has the following features:
  1. There are at least 1 legal vin
  2. The first vout must be empty script
  3. The second vout must not be empty
 
In addition, staking transactions must also obey the following rules :
  1. The second vout must be a pubkey script (note that it is not pubkeyhash) or an OP_RETURN script that cannot be used to save data on the chain;
  2. The timestamp in the transaction must be consistent with the block timestamp;
  3. The total output value of the staking transaction must be less than or equal to the sum of all input values, PoS block awards, and transaction fees (ie output <= (input + block_reward + tx_fees));
  4. The output corresponding to the first vin must pass the confirmation of at least 500 blocks (that is, the currency spent needs at least 500 blocks to confirm);
  5. Although the staking transaction can have multiple input vins, only the first vin is used for the consensus mechanism;
 
These rules make it easy to identify the staking transaction, thus ensuring that it can provide enough information to verify the block. It should be noted here that the first vout is not the only way to identify the staking transaction, but since the PoS3.0 designer Sunny King started using this method, and proved its reliability in long-term practice, so we have also adopted this method to identify staking transactions.
 
Now that we know the definition of the staking transaction and we understand the rules that it must follow, let's introduce the rules of the PoS block :
 
The most important of these rules for PoS is the "kernal hash". The role of the kernel hash is similar to that of the block hash in PoW. That is, if the hash value matches the condition, the block is considered valid. However, kernal hash cannot be obtained by directly modifying part of the current block. Next, I will first introduce the structure and operating mechanism of kernal hash, and then further explain the purpose of this design, and if you change the unforeseen consequences of this design will bring.
 
Kernel Hash in PoS
The kernal hash consists of the following data in order as input:
 
The "skate modifier" of a block refers to the hash value of the following data:
There are only two ways to change the current kernel hash (for mining), either change "prevout" or change the current block time.
 
In general, a wallet will contain multiple UTXOs. The balance of the wallet is actually the sum of all available UTXOs in the current wallet. This is also applicable in PoS wallets and is even more important because arbitrary output may be used for staking. One of these outputs will be the prevout in the staking transaction, which will be used to generate a valid block.
 
In addition, there is one more important change in the PoS block mining process (compared to PoW), which is that the difficulty of mining is inversely proportional to the number of coins owned (rather than the number of UTXOs). For example, a wallet with 2 coins is only half the difficulty of mining. If it is not designed this way, users will be encouraged to generate many UTXOs with small micro-regulations, which will cause the block size to become larger and may cause some security problems.
 
The calculation of kernal hash can be expressed in pseudo-code as:
While(true){ Foreach(utxo in wallet){ blockTime = currentTime - currentTime % 16 posDifficulty = difficulty * utxo.value Hash = hash(previousStakeModifier << utxo.time << utxo.hash << utxo.n << blockTime) If(hash < posDifficulty){ Done } } Wait 16s -- wait 16 seconds, until the block time can be changed } 
 
Through the above process, we find that one of the UTXOs can be used to generate a staking transaction. This staking transaction has 1 vin, the UTXO we found. At the same time this staking transaction has at least two vouts, the first one is empty, which is used to identify the blockchain, the second vout is an OP_RETURN transaction containing only one public key, or contains the pay-to-pub-key script. The role of the latter is relatively pure (payment), and data transactions can have more uses (such as an independent block signature machine) without destroying the original UTXO model.
 
Finally, all transactions in the mempool will be added to the block. What we need to do next is generate the signature. This signature must use the public key corresponding to the second vout of the staking transaction. The actual transaction data is calculated by block hash. After signing, we can broadcast this block to the network. Other nodes in the network will verify the block. If the block is valid, the node will accept the block and connect it to its own blockchain while broadcasting the new block to other nodes it connects to.
 
Through the above steps, we can get a complete and secure PoS3.0 blockchain. PoS3.0 is considered to be the best consensus mechanism against malicious attacks in a fully decentralized consensus system. Why is this conclusion? We can understand the history of PoS development.
 
The development of PoS
PoS has a long history. Here is a brief description:
 
PoS1.0 — Applied in Peercoin , heavily dependent on coin age (ie, the time elapsed since UTXO was spent), the higher the coin age, the lower the difficulty of mining. This has the side effect that the user will choose to open a wallet for a long period of time (for example, one month or longer), so that the UTXO of the wallet will have a relatively large currency and the user can quickly find a new block. This will lead to double-spend attacks more easily. Peercoin itself is not affected by this, because it uses PoW and PoS mixing mechanisms, and PoW can reduce this negative effect.
 
PoS2.0 — The coin age was removed from the consensus mechanism and a different stake modifier was used than PoS1.0. The contents of the amendments are relatively numerous, but basically they are all about how to remove the coin age and realize the security consensus mechanism without using the PoW/PoS hybrid mode.
 
PoS3.0 — PoS3.0 can actually be said to be an upgraded version of PoS2.0. In PoS2.0, the snapshot modifier also contains the block time of the previous block, which was removed in 3.0, mainly to prevent the so-called "short-range" attack, that is, it is possible to change the previous area by traversing. Block time to traverse mining. PoS2.0 uses block time and transaction time to determine the age of UTXO, which is slightly different from the previous coinage age. It indicates that a UTXO can be used for the minimum number of confirmations required by staking. The UTXO age in PoS 3.0 becomes simpler, it is determined by the height of the block. This avoids the introduction of a less accurate timestamp in the blockchain and can effectively immunize the "timewarp" attack. PoS3.0 also adds OP_RETURN support for staking transactions, making voutYou can include only the public key, not necessarily the full pay-to-pubkey script.
 
Original:https://mp.weixin.qq.com/s/BRPuRn7iOoqeWbMiqXI11g
submitted by thisthingismud to Qtum [link] [comments]

The missing explanation of Proof of Stake Version 3 - Article by earlz.net

The missing explanation of Proof of Stake Version 3

In every cryptocurrency there must be some consensus mechanism which keeps the entire distributed network in sync. When Bitcoin first came out, it introduced the Proof of Work (PoW) system. PoW is done by cryptographically hashing a piece of data (the block header) over and over. Because of how one-way hashing works. One tiny change in the data can cause an extremely different hash to come of it. Participants in the network determine if the PoW is valid complete by judging if the final hash meets a certain condition, called difficulty. The difficulty is an ever changing "target" which the hash must meet or exceed. Whenever the network is creating more blocks than scheduled, this target is changed automatically by the network so that the target becomes more and more difficult to meet. And thus, requires more and more computing power to find a hash that matches the target within the target time of 10 minutes.

Definitions

Some basic definitions might be unfamiliar to some people not familiar with the blockchain code, these are:

Proof of Work and Blockchain Consensus Systems

Proof of Work is a proven consensus mechanism that has made Bitcoin secure and trustworthy for 8 years now. However, it is not without it's fair share of problems. PoW's major drawbacks are:
  1. PoW wastes a lot of electricity, harming the environment.
  2. PoW benefits greatly from economies of scale, so it tends to benefit big players the most, rather than small participants in the network.
  3. PoW provides no incentive to use or keep the tokens.
  4. PoW has some centralization risks, because it tends to encourage miners to participate in the biggest mining pool (a group of miners who share the block reward), thus the biggest mining pool operator holds a lot of control over the network.
Proof of Stake was invented to solve many of these problems by allowing participants to create and mine new blocks (and thus also get a block reward), simply by holding onto coins in their wallet and allowing their wallet to do automatic "staking". Proof Of Stake was originally invented by Sunny King and implemented in Peercoin. It has since been improved and adapted by many other people. This includes "Proof of Stake Version 2" by Pavel Vasin, "Proof of Stake Velocity" by Larry Ren, and most recently CASPER by Vlad Zamfir, as well as countless other experiments and lesser known projects.
For Qtum we have decided to build upon "Proof of Stake Version 3", an improvement over version 2 that was also made by Pavel Vasin and implemented in the Blackcoin project. This version of PoS as implemented in Blackcoin is what we will be describing here. Some minor details of it has been modified in Qtum, but the core consensus model is identical.
For many community members and developers alike, proof of stake is a difficult topic, because there has been very little written on how it manages to accomplish keeping the network safe using only proof of ownership of tokens on the network. This blog post will go into fine detail about Proof of Stake Version 3 and how it's blocks are created, validated, and ultimately how a pure Proof of Stake blockchain is possible to secure. This will assume some technical knowledge, but I will try to explain things so that most of the knowledge can be gathered from context. You should at least be familiar with the concept of the UTXO-based blockchain.
Before we talk about PoS, it helps to understand how the much simpler PoW consensus mechanism works. It's mining process can be described in just a few lines of pseudo-code:
while(blockhash > difficulty) { block.nonce = block.nonce + 1 blockhash = sha256(sha256(block)) } 
A hash is a cryptographic algorithm which takes an arbritrary amount of input data, does a lot of processing of it, and outputs a fixed-size "digest" of that data. It is impossible to figure out the input data with just the digest. So, PoW tends to function like a lottery, where you find out if you won by creating the hash and checking it against the target, and you create another ticket by changing some piece of data in the block. In Bitcoin's case, nonce is used for this, as well as some other fields (usually called "extraNonce"). Once a blockhash is found which is less than the difficulty target, the block is valid, and can be broadcast to the rest of the distributed network. Miners will then see it and start building the next block on top of this block.

Proof of Stake's Protocol Structures and Rules

Now enter Proof of Stake. We have these goals for PoS:
  1. Impossible to counterfeit a block
  2. Big players do not get disproportionally bigger rewards
  3. More computing power is not useful for creating blocks
  4. No one member of the network can control the entire blockchain
The core concept of PoS is very similar to PoW, a lottery. However, the big difference is that it is not possible to "get more tickets" to the lottery by simply changing some data in the block. Instead of the "block hash" being the lottery ticket to judge against a target, PoS invents the notion of a "kernel hash".
The kernel hash is composed of several pieces of data that are not readily modifiable in the current block. And so, because the miners do not have an easy way to modify the kernel hash, they can not simply iterate through a large amount of hashes like in PoW.
Proof of Stake blocks add many additional consensus rules in order to realize it's goals. First, unlike in PoW, the coinbase transaction (the first transaction in the block) must be empty and reward 0 tokens. Instead, to reward stakers, there is a special "stake transaction" which must be the 2nd transaction in the block. A stake transaction is defined as any transaction that:
  1. Has at least 1 valid vin
  2. It's first vout must be an empty script
  3. It's second vout must not be empty
Furthermore, staking transactions must abide by these rules to be valid in a block:
  1. The second vout must be either a pubkey (not pubkeyhash!) script, or an OP_RETURN script that is unspendable (data-only) but stores data for a public key
  2. The timestamp in the transaction must be equal to the block timestamp
  3. the total output value of a stake transaction must be less than or equal to the total inputs plus the PoS block reward plus the block's total transaction fees. output <= (input + block_reward + tx_fees)
  4. The first spent vin's output must be confirmed by at least 500 blocks (in otherwords, the coins being spent must be at least 500 blocks old)
  5. Though more vins can used and spent in a staking transaction, the first vin is the only one used for consensus parameters.
These rules ensure that the stake transaction is easy to identify, and ensures that it gives enough info to the blockchain to validate the block. The empty vout method is not the only way staking transactions could have been identified, but this was the original design from Sunny King and has worked well enough.
Now that we understand what a staking transaction is, and what rules they must abide by, the next piece is to cover the rules for PoS blocks:
There are a lot of details here that we'll cover in a bit. The most important part that really makes PoS effective lies in the "kernel hash". The kernel hash is used similar to PoW (if hash meets difficulty, then block is valid). However, the kernel hash is not directly modifiable in the context of the current block. We will first cover exactly what goes into these structures and mechanisms, and later explain why this design is exactly this way, and what unexpected consequences can come from minor changes to it.

The Proof of Stake Kernel Hash

The kernel hash specifically consists of the following exact pieces of data (in order):
The stake modifier of a block is a hash of exactly:
The only way to change the current kernel hash (in order to mine a block), is thus to either change your "prevout", or to change the current block time.
A single wallet typically contains many UTXOs. The balance of the wallet is basically the total amount of all the UTXOs that can be spent by the wallet. This is of course the same in a PoS wallet. This is important though, because any output can be used for staking. One of these outputs are what can become the "prevout" in a staking transaction to form a valid PoS block.
Finally, there is one more aspect that is changed in the mining process of a PoS block. The difficulty is weighted against the number of coins in the staking transaction. The PoS difficulty ends up being twice as easy to achieve when staking 2 coins, compared to staking just 1 coin. If this were not the case, then it would encourage creating many tiny UTXOs for staking, which would bloat the size of the blockchain and ultimately cause the entire network to require more resources to maintain, as well as potentially compromise the blockchain's overall security.
So, if we were to show some pseudo-code for finding a valid kernel hash now, it would look like:
while(true){ foreach(utxo in wallet){ blockTime = currentTime - currentTime % 16 posDifficulty = difficulty * utxo.value hash = hash(previousStakeModifier << utxo.time << utxo.hash << utxo.n << blockTime) if(hash < posDifficulty){ done } } wait 16s -- wait 16 seconds, until the block time can be changed } 
This code isn't so easy to understand as our PoW example, so I'll attempt to explain it in plain english:
Do the following over and over for infinity: Calculate the blockTime to be the current time minus itself modulus 16 (modulus is like dividing by 16, but then only instead of taking the result, taking the remainder) Calculate the posDifficulty as the network difficulty, multiplied by the number of coins held by the UTXO. Cycle through each UTXO in the wallet. With each UTXO, calculate a SHA256 hash using the previous block's stake modifier, as well as some data from the the UTXO, and finally the blockTime. Compare this hash to the posDifficulty. If the hash is less than the posDifficulty, then the kernel hash is valid and you can create a new block. After going through all UTXOs, if no hash produced is less than the posDifficulty, then wait 16 seconds and do it all over again. 
Now that we have found a valid kernel hash using one of the UTXOs we can spend, we can create a staking transaction. This staking transaction will have 1 vin, which spends the UTXO we found that has a valid kernel hash. It will have (at least) 2 vouts. The first vout will be empty, identifying to the blockchain that it is a staking transaction. The second vout will either contain an OP_RETURN data transaction that contains a single public key, or it will contain a pay-to-pubkey script. The latter is usually used for simplicity, but using a data transaction for this allows for some advanced use cases (such as a separate block signing machine) without needlessly cluttering the UTXO set.
Finally, any transactions from the mempool are added to the block. The only thing left to do now is to create a signature, proving that we have approved the otherwise valid PoS block. The signature must use the public key that is encoded (either as pay-pubkey script, or as a data OP_RETURN script) in the second vout of the staking transaction. The actual data signed in the block hash. After the signature is applied, the block can be broadcast to the network. Nodes in the network will then validate the block and if it finds it valid and there is no better blockchain then it will accept it into it's own blockchain and broadcast the block to all the nodes it has connection to.
Now we have a fully functional and secure PoSv3 blockchain. PoSv3 is what we determined to be most resistant to attack while maintaining a pure decentralized consensus system (ie, without master nodes or currators). To understand why we approached this conclusion however, we must understand it's history.

PoSv3's History

Proof of Stake has a fairly long history. I won't cover every detail, but cover broadly what was changed between each version to arrive at PoSv3 for historical purposes:
PoSv1 - This version is implemented in Peercoin. It relied heavily on the notion of "coin age", or how long a UTXO has not been spent on the blockchain. It's implementation would basically make it so that the higher the coin age, the more the difficulty is reduced. This had the bad side-effect however of encouraging people to only open their wallet every month or longer for staking. Assuming the coins were all relatively old, they would almost instantaneously produce new staking blocks. This however makes double-spend attacks extremely easy to execute. Peercoin itself is not affected by this because it is a hybrid PoW and PoS blockchain, so the PoW blocks mitigated this effect.
PoSv2 - This version removes coin age completely from consensus, as well as using a completely different stake modifier mechanism from v1. The number of changes are too numerous to list here. All of this was done to remove coin age from consensus and make it a safe consensus mechanism without requiring a PoW/PoS hybrid blockchain to mitigate various attacks.
PoSv3 - PoSv3 is really more of an incremental improvement over PoSv2. In PoSv2 the stake modifier also included the previous block time. This was removed to prevent a "short-range" attack where it was possible to iteratively mine an alternative blockchain by iterating through previous block times. PoSv2 used block and transaction times to determine the age of a UTXO; this is not the same as coin age, but rather is the "minimum confirmations required" before a UTXO can be used for staking. This was changed to a much simpler mechanism where the age of a UTXO is determined by it's depth in the blockchain. This thus doesn't incentivize inaccurate timestamps to be used on the blockchain, and is also more immune to "timewarp" attacks. PoSv3 also added support for OP_RETURN coinstake transactions which allows for a vout to contain the public key for signing the block without requiring a full pay-to-pubkey script.

References:

  1. https://peercoin.net/assets/papepeercoin-paper.pdf
  2. https://blackcoin.co/blackcoin-pos-protocol-v2-whitepaper.pdf
  3. https://www.reddcoin.com/papers/PoSV.pdf
  4. https://blog.ethereum.org/2015/08/01/introducing-casper-friendly-ghost/
  5. https://github.com/JohnDolittle/blackcoin-old/blob/mastesrc/kernel.h#L11
  6. https://github.com/JohnDolittle/blackcoin-old/blob/mastesrc/main.cpp#L2032
  7. https://github.com/JohnDolittle/blackcoin-old/blob/mastesrc/main.h#L279
  8. http://earlz.net/view/2017/07/27/1820/what-is-a-utxo-and-how-does-it
  9. https://en.bitcoin.it/wiki/Script#Obsolete_pay-to-pubkey_transaction
  10. https://en.bitcoin.it/wiki/Script#Standard_Transaction_to_Bitcoin_address_.28pay-to-pubkey-hash.29
  11. https://en.bitcoin.it/wiki/Script#Provably_Unspendable.2FPrunable_Outputs
Article by earlz.net
http://earlz.net/view/2017/07/27/1904/the-missing-explanation-of-proof-of-stake-version
submitted by B3TeC to Moin [link] [comments]

Coin-a-Year: Nyancoin

Hello cryptocurrency lovers! Welcome to Coin-a-Year, the laziest series yet in the Coin-a-Day publishing empire. This year's coin is Nyancoin (NYAN). I originally covered Nyancoin in an article here in /cryptocurrency published January 4th, 2015.
Without (much) further ado, I'm going to include the original report next, unmodified. This is unlike my Coin-a-Week series, where I use strikeout and update in-text. Because this is going to be a longer update, I'll just make all further comments and updates below, just realize that all information below is as of January 4th, 2015 and thus is more than a year out of date as of posting now, at the end of February 2016.
Since I use horizontal rules as internal dividers in the original post, I'll use a double horizontal rule to divide the original text from this prelude and the following update.
Coin-a-Day Jan 4th
Welcome to the fourth installment of Coin-a-Day! To see convenient links to the introduction and the previous entries, please see /coinaday. Today's coin is Nyancoin (NYAN).
Summary
• ~173.6 million available currently [1]; 337 million limit [2]
• All-time high: ~0.000024 BTC on February 16, 2014 [1]
• Current price: ~3 satoshi [1]
• Current market cap: ~$1,275 [1]
• Block rate (average): 1 minute [1] [3]
• Transaction rate: ~25? / last 24 hours; estimated $3-4 [4]
• Transaction limit: 70 / second [5]
• Transaction cost: 0 for most transactions [6]
• Rich list: ??? [7]
• Exchanges: Cryptsy [8]
• Processing method: Mining [10]
• Distribution method: proof-of-work block rewards and 1% premine for "bounties, giveaways & dev support" [2] [10]
• Community: Comatose [9]
• Code/development: https://github.com/nyancoin-release/nyancoin ; there hasn't been a released code change in 10 months. The new developer has talked about some changes, but has not made a new release. He has given advice about how to keep the network running and operate the client. [10]
• Innovation or special feature: First officially licensed cryptocurrency (from Nyancat) [2]; "zombie"-coin [11]
Description / Community:
So you're probably wondering why in the world we're talking about a coin which has been declared dead and already written off. I actually first selected this coin to illustrate a "deadcoin", but the more I dug into it, the more I was amazed at the shambles I discovered. I am combining the description and community sections for this coin, because the community (or lack thereof) is the central issue for Nyancoin.
Substantially all, if not literally all, of the original infrastructure is gone. From the announcement post, the original website has expired. The nyan.cat site itself survives, but has no reference to the coin. The github repo remains, but then there was never much changed from the bitcoin/litecoin original. In fact, the COPYING file doesn't even list "Nyancoin Developers". None of the original nodes seem to be running anymore. @Nyan_Coin hasn't tweeted since July 6th. And that was just to announce posting an admittedly cute picture to facebook which makes a claim for a future which seems never to have developed. Of the original 15 pools, I think all are dead except p2pool, for which at least one node still supports NYAN. The original blockchain explorer, nyancha.in, is still running. The faucet is dead or broken. The original exchanges no longer list it (two of the three having died; SwissCEX having ended its trading as of the first of this year). And so forth.
And yet:

I'm not dead! I'm getting better!

No you're not, you'll be stone dead in a moment.
[Of course, that scene finishes with knocking out the "recovering" patient so he can be taken away...not to mention the absurdity of including Monty Python in a financial article, but moving right along.]
There is still just enough left to Nyancoin to keep it twitching, even if it is on life-support. Whether it's an individual node or whether it's a pool, there are blocks being produced at a steady rate as intended. Transactions are being processed. There is still a market. There is still a block explorer. And there is a dev. It is like a case study in the absolute minimum necessary to keep a coin alive. The most likely outcome is almost certainly a final collapse when one critical piece or another of the infrastructure goes away. And yet in the meantime, a person can own a million NYAN for $8 [12], and then move this coin quickly and easy, albeit with no particular external demand. It's like the world's most hyped testnet.
I think this case presents an interesting example of what happens to an altcoin when its initial support dries up. NYAN coin is more fortunate than some, actually, as there are some where there are no longer any nodes running it nor the original announcement thread (in fact, there was actually a second Nyancoin launched around the same time. But it died hard and its original announcement thread was deleted and at this point I would have no idea how to access it; so "Nyancoin" thus illustrates how hard a coin can die (Nyancoin 2) as well as how it can hang around despite being proclaimed dead, with far more justification behind that pronouncement than there has been for bitcoin (NYAN) ).
Footnotes
[1] http://coinmarketcap.com/currencies/nyancoin/
[2] https://bitcointalk.org/index.php?topic=402085.0 Regarding the premine, it's unclear to me where this money is now, since the original poster hasn't been active on BCT since May and the original site is down. However, given that it's only 1%, and about $25 in value right now, there seem to be more significant concerns for NYAN.
[3] http://nyancha.in/chain/Nyancoin - Nyan blockchain explorer; blocks are somewhat inconsistent but somewhere around the 1 minute average
[4] There doesn't seem to be anything automatically doing these stats, so I did visual inspection on about 1500 blocks (about one day) excluding the block generation reward (~250k/day). Most blocks are otherwise empty. I counted about 24 transactions or so scrolling through, with an outlier around 300k NYAN and another around 100k NYAN. In total, about 500k NYAN, excluding the block rewards. This is very approximately $3-4.
[5] Nyancoin is a basically unmodified, slightly out-of-date bitcoin as far as code goes, and ignoring the change in block rate and total coin supply, as well as the difficulty retarget after every block. So for purposes of estimating maximum possible transaction throughput, I start with bitcoin's estimated 7 transactions per second, and multiply by 10 for having a block on average every minute rather than every 10 minutes. In any event, this limit is not likely to be reached in the foreseeable future.
[6] Like bitcoin, transaction fees appear to be optional in Nyancoin. Unlike bitcoin, there is almost no transaction volume, and coins tend to sit for a relatively long time before being moved. So zero-fee transactions appear to be the norm from looking at a couple transactions on the block explorer.
[7] I couldn't find one. See the disclosure section of this article: your humble correspondent is likely represented in some way on a top 100 if one were to be made or if one exists, despite not holding it directly, depending on how the exchange holds it.
[8] I could not find any other exchanges still listing Nyancoin. SwissCex appears to have disabled it as of a couple days ago. Cryptsy has a notice that the NYAN/BTC market will be closing, but its NYAN/LTC market appears strong.
[9] Essentially all of the original sites, pools, faucets, etc. are dead and there has been very little to replace it. There is basically a single node, or perhaps a very few, which are running the blockchain. However, there is a developer still trying to hold things together, maxvall_dev, maxvall on BCT. He is the last hope for the NYAN.
[10] https://bitcointalk.org/index.php?topic=597877.0 This is the thread where maxvall took over as dev, and it also discusses switching to PoS, which hasn't happened as far as I know.
[11] "zombie"-coin: Not to be confused with ZMB (my god, does it ever end?). This is my term to describe a coin which is "undead": by rights it should be dead. And yet it's still walking around and acting like it's alive. What is it? What's going on? It's quite debatable whether this gives it any special value, but I find it an interesting state, and it's why this was chosen for early coverage. There are plenty of actually popular and successful coins, and we will go onto covering more normal selections; we're looking for variety rather than repetition. But I think this is an interesting example for what can go wrong, and yet in the midst of that, how little it takes for a coin to survive. In fact, it's almost like an alternate history bitcoin to me; this shows the concept that "it was run on one computer before; it can be run on one computer again" to some extent. And there are even some strange pragmatic benefits as well, like having no competition for getting a transaction into a block and thus zero transaction fees.
[12] And, in fact, the author chose to do so today, spending about 0.03 BTC for about 1 million NYAN.
Additional Reading
/nyancoins - Like NYAN: mostly dead, but not quite
http://nyan-coin.org/ - new official website
BCT thread listing nodes, xpool (p2pool), for mining information.
americanpegasus predicting in February that NYAN will hit $1; always an entertaining read
Giveaway
Instead of a challenge today, since NYAN has enough challenges, I decided I would give away 10,000 NYAN to at least the first ten people who ask for it. This still remains at my discretion, but honestly, if you really want, say, 50,000 NYAN and create four new accounts to do so, I'll probably be too amused to say no. I don't expect to get ten requests. If I get more, I'll probably still fulfill them, but as with everything else, this is left to my whim.
Donations and Disclosure
Okay, this is an important one today because of the tiny market here. I actually hold less USD value in NYAN than in BTC, DOGE, and PPC (although my value in PPC might be about equivalent actually), but I hold more of the total market in NYAN than any of those three. And I'll probably be buying more. So I have a conflict of interest in writing this article.
I am not providing financial advice and I do not make any recommendations of any sort on any matters. Make your own decisions; do your own research. Please, I do not want to hear about anyone doing anything "on my advice." I am not offering advice.
I personally hold just over 1 million NYAN on Cryptsy right now.
Perhaps it would be better if I didn't write any articles about anything I were invested inspeculating on, but I started this series for my own education to further my speculation, so unfortunately, dear reader, your needs come second to my own. tanstaafl; you get what you pay for, and I'm giving you my thoughts.
If by some strange quirk of fate you actually own NYAN and enjoyed this article and wished to donate some to me, K7Ho9HghBF6xWwS6JsepE6RAEPyAXbsQCV is mine (first non-empty account I've posted; transferred 1000 NYAN into here earlier from Cryptsy to test that the network and my wallet were actually working).
Thank you all for reading and commenting! I've already learned a lot from this process and I look forward to more!
Upcoming coins:
• January 5th: Nxt
• January 6th: Darkcoin
• January 7th: Namecoin
I'll use alphabetic labeling for footnotes in the updates to avoid any confusion with the footnotes in the original. For simplicity, unchanged items, like the 337 million limit and the 1 minute will not be mentioned, and we'll start with the summary changes.
Updates:
Summary
  • ~263.7 million NYAN currently exist [a]
  • Current price: ~7 satoshi [b]
  • Current market cap: ~$8,000 [c]
  • Transaction rate: ~185 / last 24 hours; ~3,300,000 NYAN (~$100) [d]
  • Exchanges: Cryptopia [e]
  • Community: We're not quite dead yet; in fact, I think we're getting better! [f]
  • Code/Development: I have an early draft of NYAN2, but I'm about six months past my initial goal for having it available to use. Life/work/lack of build machine/procrastination. NYAN2 will be a rebase onto a modern LTC codebase which will soft fork to fix a current vulnerability to a fork bug. For now, the network still runs on the same code that it did when I wrote the first article.
Discussion
I'm going to consider the community first, since I pointed it out as the weakness and central topic in the last one, then talk about the technical situation briefly, and then review the financial results.
The community has been excellent, if I do say so myself. We've got working infrastructure going thanks to the contributions of many Nekonauts (see [f]). Some original Nekonauts have returned or at least popped in from time to time, and new ones like myself have found Nyancoin (I would say given what I wrote in the original, I was still a skeptic of it at that point. Not that skeptics can't be Nekonauts, but I think I'd put my conversion to the cult of nyan shortly after writing that, even though I was already a nillionaire then for the heck of it.)
While I do look forward to seeing the community continue to grow in future years and consider that important, I don't think the community is our weakest point any longer; I think it's now our strongest point. I've tried to encourage the community's revival as best I could, including giving away tens of nillions in total, and lots of long rambling articles on my views on ethics and philosophy and frankly it's worked better than I would've really expected (or at least it has coincided with an effective recovery of the community). The community also helped me through at least a couple hard times personally in there as well.
The technical situation in Nyancoin is mostly unchanged but slightly improved, although with two additional known vulnerabilities. It's unchanged in that it's the same client. It's improved in that we have an active nyanchain explorer host (nyan.space), and we have a public draft of a plan for a soft forking security fix update in the near future (hopefully by the end of March (although I've slipped these deadlines before and may well miss March for release by a bit, I do think I'm inching closer now and then)).
The most serious vulnerability is to forking. This is the bug which hit Peercoin if I recall correctly. NYAN2 is intended to solve this through its soft fork from the LTC fix upstream (from the BTC fix upstream). In the meantime, we've been lucky we haven't been attacked. The tiny marketcap probably helps with not being a particularly attractive attack target. We're not exactly about to pay ransom to move faucet outputs. But that's no excuse; we want this fixed and should have it finally done "soon" (tm).
The less serious vulnerability is to a time warp attack in the difficulty function (Kimoto Gravity Well), which relates to general weaknesses it has and issues we've had with large gaps in the block chain because of spikes in the difficulty function causing it to be unprofitable and driving away most of the hash, and then low difficulty and price rise making it attractive to more hash, creating a spike and causing it again. While this is irritating, the chain still works, even if there are fits and starts at times. An important part of the reason I can get away with this is because there is at least one Nekonaut-supporting miner, CartmanSPC, who rescues us from time to time, and did so during the course of this article being written. We have a bunch of pools, but sometimes the hash just isn't there to get us unstuck when the difficulty goes high enough. Another part of the reason I consider it not an especially serious issue is because there's a workaround which works for me (classic bad developer logic): I use a large transaction fee (generally 337 NYAN, although I might have halved it after the most recent halving, I'll probably use 337 again) on my personal wallet by default. If necessary, I use a couple of them. It can make NYAN profitable to mine again despite the higher difficulty and "unstick" the chain. The difficulty function can go back down again in the next block if the gap has been long enough, so that can be enough to keep it going again for a while (although it can also get stuck again irritatingly fast at times). A fix for this will be putting in a better difficulty function for NYAN3, which will require a hard fork. This is tentatively scheduled for feature freeze around the middle of this year, coding to follow, activation sometime early 2017.
Financial has been our most disappointing performance. A graph of the 1 year performance right now on coinmarketcap looks pretty sad, showing our fall from a little over 60 satoshi down to around 7 satoshi now.
We rose too high, too fast, and I didn't stick with the safe high paying job like a sane person. Instead I hit the road, went to jail, and worked minimum wage. That doesn't sound like a sentence from a cryptocurrency financial review, does it? But the performance of NYAN since the article has been the story of my personal finances, which is the story of my life since then.
So, autobiographical coinaday interlude, trying to keep it generally to the most salient points. Well, in 2014 I had been on my way home to Minnesota from California when I was pulled over leaving Eureka, Nevada for speeding (got sloppy and went 45 approaching the 45 sign and thus technically still in the 35; bored cop seeing out-of-state plates). My vehicle reeked of weed, what with having been in Mendocino County previously with no intention of traveling out of the county much less state anytime soon but family emergency brought me back, and the end result was a citation for possession of cannabis and paraphernalia along with the speeding.
Fast forward to the beginning of 2015, I'm settled into a good software position and start looking more at cryptocurrency in my spare time. I write the coin-a-day series for a bit and then got annoyed and quit after a while when trying to do one a day on top of an actual job was too much for me (along with some annoyance over criticism; I can be rather thin-skinned at times). But I had gotten interested in Nyancoin, and started buying it up more and more with extra money I was making.
And then comes the crash. I had to stop putting as much in as I realized that where I was living and what I was working on wasn't going to work out for me and I needed to figure something else out. So, as I seem wont to do, I went on a roadtrip. I quit my job. And I went back for the court date for my citations and refused to pay, instead spending 10 days in jail rather than pay ~$1400 (I actually had the money in cash available to me if I chose to pay as a backup if I chickened out, but the judge annoyed me enough that I really preferred to be jailed instead of paying, as stupid as that sounds since I'm quite sure the judge didn't care in the least one way or another).
After that, I went back to roadtrip lifestyle for a while. It was a nice period. A lot of beautiful scenery; a lot of reading. Eventually, I busted up my car pretty badly...a couple times actually, the second time for good. Fast forwarding through the rest of the year, I worked a couple minimum wage jobs to pay bills and avoid cubicle life and kill some time until I figured out what I was going to do next. Just recently I quit as delivery boy after getting a speeding ticket (I swear, I'm not as horrible of a driver as this makes me sounds, although I have had a bad tendency to speed in the past, which I really have curbed to almost nothing; but I'm clearly not good enough) and am currently writing a Coin-a-Year article with a friend's incentive and applying to do documentation and development with the Nu project.
Okay, so what did any of that have to do with NYAN? Well, it's the mess of a life that has led to the fall of the price from 60 satoshi to 7 satoshi. If instead my life history for the time since the article had been simply "I was happily employed writing software", then I don't believe we would have dropped below 20 satoshi. It's easy to see in hindsight. If anyone can lend me a time machine, I'm sure I can get some condensed instructions which should improve performance significantly. Otherwise, just going to have more chalked up for the "character building" tally.
So, lessons learned if you are the major buy support for your coin: you need long-term reserves. Whatever you put in bids can be taken out in a moment by a dump for no apparent reason. This is particularly true if you may be quitting your cushy, high-paying job and wandering around without income for an extended period of time. Rather obvious, but hey, maybe someone else can learn from my mistakes. If I'd been bidding as cautiously as I am now from the beginning, I think the price would probably be somewhere from 10-20 satoshi now instead of around 7 satoshi.
It's especially unfortunate given that I wanted to be able to demonstrate the more consistent growth possible building a stable store of value, as opposed to the pump and dumps common in altcoins. And instead we had a pump-and-dump looking graph ourselves after I bid up higher than I was able to sustain, and a large (10+ nillion) instadump crashed the market all the way back down to 1 satoshi momentarily. We've had a few large (2+ nillion) dumps since, but nothing that large. We haven't generally had that large of bids though either.
It's hard to know when I've exhausted the supply at a price level, when it sometimes waits for a couple weeks or even more and then fills all the bids at once. But I want to maximize the minimum price paid because I think that's important for building confidence in a store of value long-term, which is one of my core goals for NYAN.
At the same time, we're still up from the lowest parts of the floor and where I found it. Since I own about 30% [g], the very cheapest supply has been taken off the market. I plan to keep on buying up "cheap NYAN" as much as I can. I've bought up to 60 satoshi before, I'll probably buy up that high this time around. I've got a token 100,000 NYAN ask at 300 satoshi; I hope never to sell lower.
Conclusions
Now I try to wrap it all together as if I saw this all coming and am the wise expert, despite having had about 90% drop in price in the last year after bidding too high. My original concept was taking the "minimum viable coin" and reviving it to a powerhouse as a textbook example in how to do it.
Part of my core concept in this is the arbitrariness of value: throughout history, humans have chosen any number of things as a store of value for the time: salt, large rocks, certain metals, disks, marked sticks, and so forth. While there has generally been a certain logic in the choice, in that there is a locally restricted supply in one way or another, and so forth, from the perspective of other centuries or cultures the choices can seem quite strange. Growing up, I was always struck by how strange the notion of salt being limited and valuable seemed in a world where people were trying to reduce intake and large amounts could be bought for trivial sums. And yet, a key nutrient necessary for life fundamentally makes more sense as being valuable than notched sticks or printed paper or a piece of plastic with some encoded information.
Humans have perpetually come up with stranger and stranger ways of storing and transferring value. Each new step, as always, comes with its own disadvantages and, frankly, has generally appeared nonsensical at best and fraudulent at worst to the status quo. Which doesn't mean that each new attempt is valuable. The gold bugs always like to point out that every fiat currency ultimately returns to its true value of zero. And the skeptics of cryptocurrency argue that all cryptocurrencies will eventually return to their true value of zero.
It's certainly possible. And it's possible the USD will hyperinflate someday. I tend to try the moderate view for a plausible guess of the future. By that type of logic, I would guess that over the course of decades, USD will in general lose value, and cryptocurrency will tend to slowly gain value. That might not seem the moderate view, but USD not losing value over decades would be truly shocking. And hyperinflation has been predicted since the USD went off the gold standard, or before. So some amount of inflation less than hyperinflation seems like the safe guess (but then, the Titanic arriving would also have seemed like the safe guess to me). And with cryptocurrency, I think it's clear by now the technology will continue to survive. So my first question is with what overall value as a market? It could go down, of course, but that seems unlikely in an already small, young market. Even if all the current crop die off and are replaced, whatever cryptocurrencies are around should be able to do better than a handful of billion in market cap in my view.
I believe that cryptocurrency has a bright future ahead of it. The best coins should ultimately survive and thrive. But I've been wrong on most of my major calls so far, like for instance when I thought BTC was over-priced around $5-$10.
I think Nyancoin can have an important role to play in the future of cryptocurrency in the years and decades to come, but it's a massively speculative long-shot. See also Nyancoin risks document. But like Linus Torvalds' autobiography, I try to keep "Just for Fun" as a core motto and principle. It's makes for a good hobby project because there will always be more to work on, with a core community motto of
TO INFINITY AND BEYOND!
Disclaimers / Sponsorship:
As I said before:
I am not providing financial advice and I do not make any recommendations of any sort on any matters. Make your own decisions; do your own research. Please, I do not want to hear about anyone doing anything "on my advice." I am not offering advice.
And I'll reiterate that I own about 30% [g] of the current supply of NYAN, which makes me by definition maximally biased.
Also, I'm not sure what's up with the address from the first post. It doesn't show up in my current wallet as a recognized address. So, anyhow, don't send there. :-) If you'd like to donate, please consider sponsoring a coin-a-day or coin-a-week article.
This is the first sponsored article. This Coin-a-Year article has been brought to you by spydud22 's generous patronage. I'd been meaning to do a Coin-a-Week article on Nyancoin for a while, but between wanting to "wait until the price recovered a bit" and general procrastination, then it seemed like it would make a good Coin-a-Year article, and then I wanted to wait until the price recovered a bit more...anyhow, so thank you spydud22, for causing me to finally do this. :-)
Footnotes
  • [a] nyan.space/chain/Nyancoin ; as of block 1091430, 263738786.71890615 NYAN outstanding. This is slightly over 50% more than the last report, which is what we would expect, since it had existed for about a year then, and has approximately annual halvings. The first year generated about 50% of total supply; the second year generated about 25% of total supply. We should expect in a year to have about 17% (one-sixth) more than we have now.
  • [b] https://www.cryptopia.co.nz/Exchange?market=NYAN_BTC ; this is the only market reflected in coinmarketcap and it is the primary one on which I trade. Cryptopia also has other base pairs which operate at significantly higher spreads (lower bids; higher asks) and have minimal volume. In the time since the last report, NYAN has traded as high as 60 satoshi (and briefly a little higher at times), but over the last almost twelve months since a peak about a year ago, the price has been generally declining overall, as a gross oversimplification of a lot of movements. This has been an effect of me not being able to keep buying as much and there being large dumps I wasn't expecting from time-to-time. Now I'm taking the approach of building large (one or more nillion (million NYAN)) bids on each price as I slowly work my way back up again in order to be able to handle possible dumps with less price shock.
  • [c] coinmarketcap.com/currencies/nyancoin/ ; as noted in [b], this only reflects the /BTC basepair on Cryptopia but that's where most of the volume is anyhow. Of course, the market is also not particularly liquid since I'm the primary buyer and have rather limited means currently.
  • [d] I haven't setup a script to count this yet, among many things on my to-do list for someday, so I went through by hand from what was the then-latest block of 1091430 on nyan.space back to 1089766 which was the first block generated less than 24 hours before. There was actually a three and a half hour block gap at that point, such that the next prior block was about 24 hours and 15 minutes before 1091430 while 1089766 was only about 20 hours and 45 minutes prior, and has a disproportionate number of transactions and value compared to a typical block (8 and ~313,000 NYAN respectively) from the build-up during the gap. But since that gap conveniently started right about at the start of the 24 hour period, doesn't really skew our results here.
Note that there are often times where the UTXO created during one transaction during the day is spent during a later transaction in the day. This can be considered the "same" Nyancoin being "spent" twice in the same day in our total. But in practice, I believe what's happening here is the faucet is breaking off small (10-50 NYAN) pieces from a larger (~40,000 NYAN) chunk, and so that pops up a bunch of times. So the total NYAN blockchain volume as counted for this topline number should not be interpreted as "NYAN spent in the day" but "NYAN moved on the chain", where the "same coin" can move many times. So it's a very easily gamed metric and not a strong / resistant metric like the market price tends to be (at least relatively speaking), but it's a fun number to calculate and provides a little bit of information.
The transaction count can also be easily inflated and certainly, for instance, having the faucet does generate transactions which are a very common transaction.
And this is also just an arbitrary 24 hour period compared to a previous arbitrary 24 hour period. Nonetheless, I do think there's clearly a bit more activity on the Nyanchain, even though the typical block is still empty and the number of transactions and volume is still tiny compared to the major cryptocurrencies.
Here's an arbitrary example of the faucet transactions Note the zero transaction fee, which I love that the miners support (the defaults are all quite low as well).
Here's an example of what may be the smallest transaction by NYAN volume of the day; but no, I followed its small, spent output, and it led to this gem which also links to this. I have no idea what's going on here, but it's hilarious and I love it. How's that for microtransaction support? :-)
  • [e] Obviously Cryptsy went down. We had had more than enough red flags with Cryptsy (including one time where I was able to withdraw 6 nillion more than I had in my balance) and got onto Cryptopia. spydud22 basically accomplished that for us, although I helped out in the tail end of the campaigning.
  • [f] Our community is still small (I wish there were literally dozens of us!) but we've had valuable activity from multiple people, including, just as highlights, vmp32k who hosts nyan.space, a clone of the original nyancha.in, jwflame who created the excellent nyancoin.info intro site, with the awesome status page (which currently notes that "the last 500 blocks actually took 111 minutes, which is approaching the speed of light, causing the universe to become unstable"), KojoSlayer who runs the faucet and dice, spydud22 who got us on Cryptopia, and many other Nekonauts have made worthy contributions, and the Nekonauts mentioned have done more than just that listed. So while we are small, we are active at least from time to time and technically capable.
Even though our posting rate is still around 1 post a day or so on average, and so still a relatively quiet subreddit (and it is our main (only?) hub), it's still a very noticeable and significant difference from how /nyancoins looked when I was reviewing it for the original piece here. Here's an attempt to approximate what was there using Reddit search ; archive.org has a snapshot on January 19th, 2015, which is well into the early revival mania and one from August 14th, 2014, before four and a half months of little to no activity. Apparently archive.org unsubscribed to /nyancoins in that interval itself...
  • [g] Maybe up to around 35% by now; maybe still around 30%. I haven't updated hodling report lately; it was 30% last time I recall, but I've bought more and more has been made since.
submitted by coinaday to CryptoCurrency [link] [comments]

How to Compound Bitcoin daily  Make Money Online  BITCOIN MINING Best 2 New Bitcoin Mining Site 2020  100 hash power free  Btc Earn Daily 10$ Live Payment Proof ✅ Cloud Mining Best Calculator. Mining Bitcoins with HashFlare New Free Bitcoin Mining Sites 2020  New Free BTC Cloud Mining Sites  Apexhash Review  Best Mining Earn Money Using Bitcoin  Buy and Sell Bitcoins Using ZebPay App  By Technical Foundation

Find out what your expected return is depending on your hash rate and electricity cost. Find out if it's profitable to mine Bitcoin, Ethereum, Litecoin, DASH or Monero. Do you think you've got what it takes to join the tough world of cryptocurrency mining? Peercoin Mining Profitability Calculator. Wondering how profitable Peercoin can be? It works for both mining rigs at home as well as cloud mining services. Input your mining information, like hash rate and any pool fees you many incur. If you're using a mining rig at home, fill out the price of the hardware, your power usage in watts and the Peercoin (PPC) This website is made possible and remain free by displaying online advertisements to our users. Please consider supporting us by pausing your ad blocker or whitelisting this website. Peercoin Hashrate historical chart Average hashrate (hash/s) per day. Share: btc eth ltc bch etc xrp bsv dash zec xmr doge btg rdd vtc ftc blk nmc nvc Accurate Peercoin mining calculator trusted by millions of cryptocurrency miners. Updated in 2020, the newest version of the Peercoin profit calculator makes it simple and easy to quickly calculate mining profitability for your Peercoin mining hardware. * Bitcoin Price at $9,186.60 USD.

[index] [27659] [24445] [26271] [6477] [7318] [13330] [31119] [26500] [23844] [21196]

How to Compound Bitcoin daily Make Money Online BITCOIN MINING

This video is unavailable. Watch Queue Queue. Watch Queue Queue bitcoin currency peercoin bitcoin calculator bitcoin atm current bitcoin price xapo wallet ... btc calculator bitcoin exchange india today's bitcoin rate in inr bitcoin lowest price #Cryptotab script free bitcoins how to earn free bitcoins how to earn bitcoins cryptotab hack bitsler script bitcoin generator how to get bitcoins bitcoin miner 2020 how to mine bitcoins cryptotab ... Bitcoin Hash Calculator use to calculate the profitability of Bitcoin and the tool to find good return bitcoin miners to buy. You can easily calculate how many Bitcoins mines with your hash rates ... New Cloud Mining Bitcoin Free 2020 Review Apexhash Free Bonus Power 100/Ghs Daily 0.09000000 BTC, how to make money online. site link https://zee.gl/vW9aDBp 2. https://zee.gl/gSWM9Vf Top high ...

Flag Counter