Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Alternative to POW for maintaining consensus.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
This blockchain is no longer maintained. Use Flying Fox instead: https://github.com/BumblebeeBat/FlyingFox Slasher ============= a blogpost which proposed the idea to me: https://blog.ethereum.org/2014/01/15/slasher-a-punitive-proof-of-stake-algorithm/ a paper that calls this project impossible: https://download.wpsoftware.net/bitcoin/pos.pdf Donations: 1GbpRPE83Vjg73KFvTVZ4EnS2qNkiLY5TT =====INSTALL for Ubuntu git clone https://github.com/zack-bitcoin/slasher.git pip install pysha3 pip install bitcoin cd slasher ====RUN A NODE ./cli.py start It will take time to download the blockchain. ====TALK TO THE NODE ./cli.py ====About this software: This is not yet a functioning cryptocurrency! The money does not have value. I use a lot of Vitalik's ideas. From this essay: https://blog.ethereum.org/2014/01/15/slasher-a-punitive-proof-of-stake-algorithm/ 1) his algorithm for selecting signers from the coin-holders, with a small adjustment. 2) the punitive transaction type. https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/ 1) weak subjectivity https://blog.ethereum.org/2014/07/05/stake/ 1) the low influence random number generator, with a modification. Signers first reveal Hash(bit+salt) and later reveal bit+salt when they collect their reward. I use something similar to Daniel Larimer's transactions as proof of stake. Every transaction must reference the hash of one of the 10 most recent blocks. That way forks that start more than 10 blocks ago wont have any tx fees to reward the block creator. https://blog.ethereum.org/2014/10/03/slasher-ghost-developments-proof-stake/ 1) creating a new block should cost a large fee. A negative block reward. 2) I use something similar to his idea (7), quote: "If there is an insufficient number of signers to sign at a particular block height h, a miner can produce a block with height h+1 directly on top of the block with height h-1 by mining at an 8x higher difficulty (to incentivize this, but still make it less attractive than trying to create a normal block, there is a 6x higher reward). " But instead of charging POW, I charge a fee. from here http://vitalik.ca/ethereum/patricia.html 1) I took the idea to use Patricia trees so that users can efficiently prove how much money they had at any point in history. An idea that Vlad Zamfir explained to me: The total amount of money spent in a block must be less than or equal to the total amount of safety deposits left by the people who signed on that block. That way, any double-spend attack ends up costing more money than can be stolen. All the safety deposits are deleted. My slasher will have ~4 transaction types: 1) spend money 2) sign on a block to help make the next valid block. 3) punish someone who signed on contradictory chains. 4) redeem your reward for having signed 3000 blocks ago. It will not have a scripting language.