Gridcoin is a coin that is very similar to Bitcoin. Gridcoin is decentralized, autonomous and runs on a blockchain network. It also allows users to send funds to each other directly and charges very low processing fees. The code of the project is open source.
The main difference between the two coins is the algorithm behind the creation of the blockchain on the network.
Bitcoin uses Proof of Work algorithm. Gridcoin uses Proof of Research algorithm and works together with Berkeley Open Infrastructure for Network Computing (BOINC) to perform computations that have value to the scientific community.
Berkeley Open Infrastructure for Network Computing
BOINC has been created in 2012 at the University of California, Berkeley. It is an open-source software system that supports computing by volunteers and grids. University of California, Berkeley scientists have originally developed it for [email protected] project that was searching radio waves and signals for signs of extraterrestrial activities. [email protected] was released in 1999 and was the third large-scale project that used distributed computing to accomplish a goal. It was also the major computing endeavor that focused on researching and trying to find extraterrestrial intelligence.
The initial goals of the project were very similar to what Gridcoin is trying to accomplish today. These goals were to bring value to the scientific community and to prove the viability of the concept of distributed computing. While [email protected] to date didn’t prove that extraterrestrial life exists, it did accomplish its goals when it comes to proof of concept of distributed computer networks.
Currently, the BOINC has over 300,000 active participants and over 800,000 active computers. According to the Guinness World Records organization, BOINC is the biggest computing grid on the planet. The grid runs on a variety of software platforms, including Windows, MacOs, Linux, Android and FreeBSD. The essence of the BOINC software is that it uses computer resources that users do not use. BOINC utilizes this unused computational power to perform scientific calculations for the benefit of science and scientific community. As of the writing of this article, BOINC has contributed to 37 projects, about 50% of which have published scientific papers.
How Bitcoin’s Proof of Work algorithm works and the problem behind it
Blockchain technology is the foundation of the Bitcoin currency. Blockchain is a decentralized ledger that miners create by adding transactions to pieces of the ledger called blocks and then adding blocks to the blockchain.
Bitcoin network is fully transparent and you can see all the information about all the blocks on the Bitcoin network since the inception of the network in 2009 at https://blockchain.info/
Compiling transactions into blocks is a trivial task for modern computers. If compilation of transactions was all that was required of miners, then anybody could become a miner and the network would be overloaded with spammers and hackers trying to take over the network. This is why the Bitcoin network uses Proof of Work algorithm to prevent the spamming of the network. The concept of proof of work was invented in 1993 by Cynthia Dwork and Moni Naor. The idea behind the concept is that a computer network needs to have some kind of economic measure that would keep it safe from service abuses. For example, even today many websites ask their users to solve a CAPTCHA or so a similar task in order to access the website or use one of its features. Proving that a user is not a robot by solving a task, a puzzle or clicking on a button is an example of a simple implementation of the concept of economic contribution into life. The difference between proof of work and CAPTCHA is that CAPTCHA is solved by people and proof of work requires computers to do the work.
On the Bitcoin network, miners prove the work by coming up with a hash for each block they mine. A hash is a string of symbols. A hash algorithm is an algorithm that turns a large set of data into a much smaller hash. The hash algorithm can only create one hash for one set of data. The Bitcoin network uses an algorithm called SHA-256.
The process of coming with a hash for a new block starts with a target hash that the previous block contains. Because each set of data can only have one hash, simply coming up with the hash for the compiled transactions is not enough. If that was all that was required, all the miners would come up with the same hash. This is why miners add to the data a number called nonce, which is a word for “number used once”. The nonce they add is a random number and the goal is to come up with a hash that is less than the target hash. One of the goals of the Bitcoin network is to add a block to the Bitcoin blockchain every ten minutes. When the network has a lot of miners, coming up with a target hash becomes harder. This is how the network regulates itself in order to try and create blocks every ten minutes. The network regulates the difficulty of coming up with a winning hash with the difficulty parameter. The more miners the network has, the higher the difficulty. When the number of miners starts to decrease, the difficulty also starts to decrease. If the network didn’t have the difficulty parameter, at the times when a lot of miners start doing the work they would be creating blocks very quickly, which would mean that the network would be adding blocks much faster than a block every ten minutes.
While the proof of work algorithm makes the Bitcoin network very secure, in essence, the miners are playing a lottery. They are simply trying to guess a winning hash. The process works because the network doesn’t have an authority that runs it and the guessing process works in a fair and honest way. However, this doesn’t change the fact that the miners are essentially burning the electricity and running hardware for nothing. They do get bitcoins as a reward for creating blocks, but the process doesn’t contribute to the society or to the greater good. This is the problem that Gridcoin has solved by replacing proof of work with proof of research.
How proof of stake algorithm works
Proof of research algorithm that the Gridcoin network uses combines rewarding miners for their work with the extreme security of the network. The algorithm is a combination of the Proof of Stake algorithm used by Peercoin and a version of the algorithm by Blackcoin.
The proof of stake algorithm uses the concept of coin age on a digital blockchain network. The creators of Peercoin have built this algorithm into their network and made it a part of coin minting process.
The main benefit of proof of stake compared to proof of work is that proof of stake does not require the consumption of energy.
Coin age that makes the algorithm so different and unique from proof of work is defined as the amount of currency multiplied by the time period that a user on the network is holding the currency. For example, is John receives 30 coins from Tom and keeps them for 30 days, he accumulates coin age of 900 coin-days. If John then decides to spend the coins, he consumes the coin age of the coins.
To make it possible for the PeerCoin network to use the concept, the creators of the network added a timestamp data field to the transactions that occur on the network. Both blocks and transactions have timestamp fields that strengthen the network.
When a user spends the coins, the consumption of the age of coins becomes proof of stake. When the network mints new coins, it considers the stakes that the users have. The higher the stakes, the higher the probability that a user will get a reward for minting a block. Once the network creates a block, it considers that the coin age has been consumed and the process starts all over again.
The process of proof of stake eliminates the possibility of the 51% attack on the Gridcoin network. Such an attack can happen on the bitcoin network is a miner or a pool of miners has over 51% of computational resources on the network, which means that the miner or the pool can start making decisions about the blocks they create without adhering to the rules of the bitcoin network. On the Gridcoin network, for such an attack to occur, one entity would need to win at least 51% of all the coins.
How miners on the Gridcoin network prove their work
In addition to using proof of stake algorithm, the Gridcoin network requires miners to prove that they are contributing to the Berkeley Open Infrastructure Network. For that, Gridcoin miners need to install the Berkeley Open Infrastructure Network Computing software on their machines. They also need to choose a project from the BOINC whitelist of projects.
The BOINC software has four parts: a client that handles communication, a manager, a screensaver and an application for a project that participants choose to participate in.
After a user chooses a project, he or she downloads the software and the work for the project. After the user’s computer performs the necessary calculations and computations, it uploads the data back to the project server. Depending on the project, downloading the files, performing the work and uploading the files back to the server may take several days. When the server gets the work, it checks the work, evaluates it and rewards the user with credits.
One of the biggest advantages of the BOINC is that it can use, rate and reward any kind of standard computing resource that a user may choose to make available to the network.
The software calculates credits based on cobblestones. A cobblestone is 0.5% of a daily CPU time on the reference computer. A reference computer is a machine that does 1,000 MFLOPS (MFLOPS is megaFLOPS, and FLOPS is short for floating point operations per second, which is a measure of computing research power) according to the Whetstone floating point operations benchmark.
By using both proof of stake and BOINC, the Gridcoin network uses the computational resources of its users for the benefit of the science and BOINC project. As the network grows bigger, the amount of BOINC work that the network contributes to science also goes up.