Do You Ever Imagine About Find Parking Space Since Before You Will Going Out Your Home ?

Introduction

Most parking providers now involve buying long distance parking spaces, therefore drivers just require short-term parking with limited options. By employing blockchain technology and intelligent contracts, our program allows passengers owners to rent their own parking spaces at the brief term, effectively filling this market and providing drivers with greater parking encounter.

The Greek response to Bitcoin is Gene, made by the ParkGene firm, also traded on the internet marketplace with relative success.

Singapore-based ParkGene is almost run by Athens, in which the heritage group is situated. Since the end of December it has been quite active, having begun its preliminary coin deal (ICO), that has performed fairly well considering it’s sold over 42 million Gen. The coins offered would be worth $ 4.2 million (3.44 million euros) and the goal would be $ 35 million on February 19. This funding will allow the company to market Gene globally, with the intent of promoting 1 billion components.

Parkgene-768x232.jpg

So what do you purchase Gen? To start with, “You are going to have the ability to lease a parking lot,” explained ParkGene chief Ilias Hatzis, the guy behind the Greek cognitive crypto. “It is like Airbnb to your vehicle,” he explains, noting the organization’s objective is to permeate the global parking marketplace, worth $ 100 billion yearly.

Based on Hatzis, when a car leaves its own parking lot, such as once the driver goes to work, the distance is rented back and may be used by somebody who visits the region. There can be an exchange between the two riders, with ParkGene amassing a little commission

What’s PARKGENE?

PARKGENE is a simple and secure method to locate parking lots, join drivers, people, and companies. We’re set to interrupt the standard Parking business, measuring $ 100 Billion annually by using PARKGENE’s Peer-to-Peer blockchain technology. We work to give a seamless parking encounter, while at precisely the exact same period, helping the town become more smart and environmentally friendly.

Our vision is to interrupt conventional businesses – particularly offline – Ranked, $ 100 Billion annually, and also to supply a much better driver driving experience, while helping the city become more smart and environmentally friendly. We’ll place GENE tokens as the money for the business automotive, which enables drivers to pay for parking and incorporate it with freedom solutions, vehicles, and automotive infrastructure.

How Does This Function?

Passengers searching for parking places join parking owners through the PARKGENE program. Following a driver reserved a parking area, the booking sparked a wise PARKGENE contract on the Ethereal Public Blockchain. PARKGENE App transports the complete quantity of parking charges, in GENEs, from driver’s pocket, to storage (temporary wallet).

When the driver doesn’t have sufficient GENE, he may use a credit card or other payment instrument (bitcoins, ethers) to purchase GENE in real time and cover the costs of the transaction. Successful payment and booking provides parking and drivers. Owner of further features necessary to finish the parking session:

By way of instance, the driver is going to be able to open up the garage door with his mobile phone, whereas the person who owns the parking is advised and can track – the vehicle enters the automobile and departures. This optional function is possible by using a remote access tool, now on the current market, incorporated on the PARKGENE system, or through a cheap PARKGENE device.

In the conclusion of a successful transaction, the parties concluded a wise contract on Ethereum, together with entrance and confirmation of their blockchain.

The person who owns the parking lot receives 75 percent of contracts that are smart from the GENE tokens, from storage for their pockets, once the driver checks from their parking lot.

The remaining 25 percent is distributed as follows:

  • 5 percent of their entire sum is paid to the owner of the owner and driver of the parking lot since they take several activities that raise the ecosystem (eg Rating, testimonials).
  • 20 percent of this entire sum is paid to PARKGENE to pay for operational, growth, cloud solutions and advertising expenses.
  • At any moment, platform users may purchase or sell GENE tokens for FIAT money (USD, EUR, JPY, CNY, etc.) or alternative electricity crypts (BTC, ETH, etc.) Utilizing multiple exchange cryptocurrency providers that exchange GENE tokens.

 

PARKGENE projek

We anticipate the growth in consumers and the amount of contracts that are smart increases GENE’s requirement among drivers, leading to tokens which other suppliers (ie Tolls, Auto Wash, Car Insurance, Tow service suppliers etc.) will receive payment for their services

 

Token Sale PARKGENE

To conduct the PARKGENE eyesight, we started Token Sale to release a GENE token at the people Ethereum block. Token called GENE Tokens will be provided throughout PRA-ICO Closed Round and ICO overall earnings. To take part in the PRA-ICO Closed Round Token Sale you have to meet the requirements and take the invitation.

To be able to take part in ICO PARKGENE and receive a Token GENE, you have to register to find a free account. The GENE Token will be issued as an ERC20 backup token for Ethereum obstructing so that you want an Ethereal compatible pocket with ERC20 to get it. Litecoin and USD via wire transfer

The Token GEN will likely be issued in Blockain Ethereum in the conclusion of this Token Sale and spread to the contributor. We anticipate GENE to be traded around the Cryptocurrency Exchange soon following its issuance.

PARKGENE, dependent on a wise contract in Blockain Ethereal, will remove reliance on centralized systems one of trade participants, and will considerably reduce parking prices for drivers, while supplying alternate revenue sources to passengers. PARKGENE gives an innovative strategy, openness, ease and simplicity of use to permit the parking business and its stakeholders to enhance the quality of city life to a different degree.

The most important advantage they bring from the market is an added source of income for both people and companies and reduces drivers out of the strain of finding a parking area by producing stock of parking lots, which is unavailable in the marketplace nowadays. This may be translated into decreased city traffic amounts. Additionally, they have more economical and efficient pricing models plus they utilize existing infrastructure, eliminating the requirement to construct new parking lots. Personal places may also be achieved, without needing to leave your keys into the parking attendant.

PARKGENE are individuals who have answers to the largest problems their opponents face. They supply:

  • Safety and transparency.
  • Global advertising.
  • Scaling.
  • Their vision is to interrupt the standard parking business (particularly offline), price $ 100 billion annually, and supply a much better parking encounter to drivers, while helping the city become more smart and environmentally friendly.
  • Unsold GENE tokens in the ICO stage will probably likely be burnt

ICO will be conducted in PARKGENE Token Sale Platform. To be able to take part in ICO PARKGENE and receive a Token GENE, you have to register to find a free account. The GENE Token will be issued as an ERC20 backup token for Ethereum obstructing so that you want an Ethereal compatible pocket with ERC20 to get it.

The Token GEN will likely be issued in Blockain Ethereal in the conclusion of this Token Sale and spread to the contributor. We anticipate GENE to be traded around the Cryptocurrency Exchange soon following its issuance.

Conclusion

Parking Booking Platform was developed and successfully launched commercially in the Shape of the minimum viable product accessible as PARKGURU

December 2017

  • Pre-ICO Closed Round
  • 2% token will be dispersed throughout Pre-ICO Closed Round
  • As much as 35 percent of tokens will be dispersed to finance the development of this PARKGENE job and Business launching

February 2018

  • Though the Beta version is a fully operational product for iOS, Android and the Internet, we use this stage to collect user feedback to Improve the experience

 

May 2018

  • PARKGENE Official release
  • The Official Launch and Worldwide Marketing Campaign. PARKGENE is available in More than 20 languages to manage global audiences

2018 – 2019

  • Community Growth

 

Team and Advisor

main-qimg-d44d67f4a219235ee0c64936aee38a03main-qimg-45dbcab97cee617d4d07ffd9bff5a29d

 

For more information, please visit :

Official Site : https://parkgene.io/
Whitepaper : https://parkgene.io/wp-content/uploads/2018/01/Whitepaper_FINAL_V.18.1.pdf
Bitcointalk Thread : https://parkgene.io/btctalk
Twitter : https://twitter.com/PARKGENE1
Facebook : https://www.facebook.com/parkgene.token/
Linkedin : https://www.linkedin.com/company/11353798/
Telegram : https://t.me/parkgene
Medium : https://medium.com/@parkgene/

How This Platform Will Go Big with Parking Industry

After the achievement of Uber, many businesses are investing in freedom services and a number are employing the blockchain technologies as a means to provide attractive services within this field.

photo_2018-03-08_14-19-39-1024x500

What’s Parkgene?

Parkgene’s most important purpose is to become the Uber of those parking slots. The main idea of the business is to create an online platform which will act as a way to reunite owners and drivers of parking areas so they can offer safe and dependable parking sports to get a price which will be more affordable than it is now being offered.

Many firms that offer parking spaces bill too much money from its customers, particularly in urban regions and metropolis, so the objective of this company is to create an alternate solution for drivers and provide individuals which have unused parking space a opportunity to earn some cash renting it for other users of the system.

The Business already have partnerships with important firms like BCG, Google, IBG, JWT and the Massachusetts Institute of Technology.

The Way Parkgene Easier & Cheaper Parking Cryptocurrency Works

Basically, Parkgene will create a connection between people looking for parking area and people searching for drivers that desire it. To use the platform, they might have to use the tokens of the business, the GENE tokens (or charge card). The app will make it possible for drivers to search for the nearest parking spot and transact mechanically with its own owners.

The GENE tokens use the Ethereum blockchain and each transaction is created via clever contracts. The owner of the automobile transfers money to the driver’s wallet and he is able to use the space. The owner of the space receives 75% of their value and the company receives 25 percent for operational costs and improvement of this system.

7ea1f11418042084311

The official launch of the service is planned for May 2018. The release will be worldwide and the platform is going to have more than 20 languages. The business estimates 5 million users before the end of this first year and 15 million until the end of 2019.

If you believe Parkgene is your future and you wish to purchase its GENE tokens, it is possible to do so by participating in the First Coin Offering (ICO) that the company is having right now. The pre-ICO of this company had been finished at the time of the report but the chief ICO of the firm will continue until February 18, so you have so time to purchase your GENE tokens.

The initial cost per token is just 1 GENE token per $0.10 USD, but if you purchase them right now, it’s still true that you can catch them with a reduction of 15 percent. You can cover the tokens with fiat money (USD) utilizing PayPal, Credit Card or Wire Transfer or you may use the next cryptocurrencies: ETH, BTC, BCH, DASH or LTC. The entire source of GENE tokens is 1,000,000,000 tokens.

If you join the white list and buy tokens, you’ll be rewarded with $1,000 USD in tokens for every day that you’ve been on the listing. ICORATING has confirmed that this is a very low risk investment with high chances of giving you a good return on investment.

Parkgene Verdict

Is Parkgene the best option for you? If you are looking for this service, yes, it can be. It can be quite tough to find decent parking spots, so this company can surely assist you when you want to make your car safer and you don’t wish to pay too much. If that is your case, then you certainly can find a good effect from investing within this business right now.

main-qimg-8d63a46e6c9e35aaa76c0d5c2e06b25b

If you are simply searching for lucrative investments, you might even get a good deal out of this investment because it looks like this company has the capability to develop a lot in the not too distant future and this can be good for purchasing the tokens now and selling them afterwards for a cost which could be more than 10 times greater.

Whatever the case, it is up to you. We are confident this company might offer interesting options for you, but you can be certain if that is the right investment for you.

For more information, please visit :

Official Site : https://parkgene.io/
Whitepaper : https://parkgene.io/wp-content/uploads/2018/01/Whitepaper_FINAL_V.18.1.pdf
Bitcointalk Thread : https://parkgene.io/btctalk
Twitter : https://twitter.com/PARKGENE1
Facebook : https://www.facebook.com/parkgene.token/
Linkedin : https://www.linkedin.com/company/11353798/
Telegram : https://t.me/parkgene
Medium : https://medium.com/@parkgene/

Great Brekthrough by Parkgene – Who Will Make Parking Industry Changes!

PARKGENE is a convenient and Safe way to find parking, Join drivers, individuals and businesses

Their Vision is to disrupt the traditional – mainly offline – Parking industry, sized at $ 100 Billion yearly while providing smarter and environmentally friendly hospitality.

We’ll establish the GENE token as the money for the automotive industry, allowing drivers to pay for parking and integrating it with mobility solutions, vehicles, and automotive infrastructure.

How it works

Passengers looking for a parking place connect with parking owners throughout the PARKGENE app. Once a driver reserves a parking spot, the reservation causes the PARKGENE smart contract on the Ethereum Public Blockchain.

parkgene logo

The PARKGENE Program transfers the complete parking fee amount, in GENEs, from the driver’s wallet to some depository (a temporary wallet). In the event that the driver doesn’t have sufficient GENEs, can use his credit card or another way of payment (bitcoins, ethers) to purchase GENEs in real-time and pay for the transaction.

Successful reservation and payment provide drivers and parking of additional features for the conclusion of this parking session:

By way of instance, the driver will have the ability to open the garage door using his cell phone, while the parking owner is advised and can track – the movie of the automobile entry and departure. This optional operation is possible using remote access programs, currently available in the current market, integrated on the PARKGENE platform, or via a cheap PARKGENE device.

parkgene 2

In the conclusion of a successful transaction, parties conclude a smart contract on Ethereum, with the entry and its confirmation about the blockchain.
The parking space proprietor receives 75% of smart contract in GENE tokens,, from the depository to their wallet, when the drivers check from their parking space.

The remaining 25% is distributed as follows:

  • 5% of the entire amount is paid to the motorists and parking space owner as they perform several actions that enhance the ecosystem (e.g. Ratings, Reviews).
    20 percent of this total amount is paid to PARKGENE to cover operational, development, cloud solutions and advertising expenses.
  • At any time, the consumers of this platform can buy or sell GENE tokens for FIAT money (USD, EUR, JPY, CNY, etc.) or other cryptocurrencies token.
  • GENEs among drivers, resulting in a token that additional service providers (ie Tolls, Auto Wash, Car Insurance, Tow Service providers etc.) will accept payment for their services.

Success Factors

The PARKGENE team proved to be full of experts in what they do and have expertise in crypto and technologies to utilize it. PARKGENE team models utilize proven strategies and successful technologies to produce a difference on a global scale and be mentioned for simplicity of usage for every facet – parking owners and future users of parking.

The parking marketplace is a brand new platform for success. Every big town is struggling to handle traffic congestion and hunts for parking lots. The increasing population of vehicles daily is what leaves PARKGENE comfy for each side of the offer.

The automotive industry at this period grows and following several years ahead the car will park and pay for its own parking space while the owners and fans like their day in town.

Token Sale

To do on PARKGENE’s vision, we’re launching a Token Sale to issue GENE tokens on the public Ethereum blockchain.

On December 15, 2017, PARKGENE will establish its PRE-ICO Closed Round to distribute around 2% of this token supply (the hard cap for the PRE-ICO Closed Round Token will be 20 million GENE Tokens). [The PRE-ICO Closed Round is SOLD-OUT].

 

main-qimg-8d63a46e6c9e35aaa76c0d5c2e06b25b

The Public ICO will commence on January 15, 2018, 10:00 am GMT, to distribute around 35% of this token distribution.

Any unsold GENE Tokens at the ICO stage will be burnt

The ICO will be conducted at PARKGENE’s Token Sale Platform. To be able to participate in the PARKGENE’s ICO and receive GENE Tokens, you need to register for a free account. GENE Tokens will be issued as ERC20 compliant tokens for Ethereum blockchain so you’ll require an ERC20 compatible – Ethereum wallet to receive them.

You will be able to pay in Ethers, Bitcoins, Bitcoin Cash, Dash. Litecoin and USD via wire transfer

GENE Tokens will be issued on the Ethereum Blockchain at the conclusion of this Token Sale and distributed to the subscribers. We expect that GENE is going to be traded in Cryptocurrency Exchanges shortly after their issuance.

Parkgene-Wallet-768x396

ICO Offering Terms

  • GENE Token Cost: 0.1 USD
  • GENE Token: ERC-20 – 0x6dd4e4aad29a40edd6a409b9c1625186c9855b4d
  • Bonus depends on the contribution level
  • Participation: Open to all
  • Minimum Participation: No minimum
  • ICO RATING Audit: STABLE – Risk: LOW – Hype: HIGH

ICO Start date: 15 Jan 2018, 10:00 AM (GMT)
ICO End date: 19 Mar 2018, 10:00 AM (GMT)
or until a hard cap of 350,000,000 tokens sold
PRE-ICO: Sold Out at 20M Tokens.
USD Payments accepted: PayPal, Credit, Wire Transfer
Crypto Payments accepted: ETH, BTC, BCH, DASH, LTC
Funds held in Escrow before the end of the ICO

Secure Give

All ICO funds are held in Escrow
Multi-Signature Wallets
Unsold ICO Tokens will be burnt
GENE Tokens are issued only for investors
GENE Tokens are transferred to investors right following the ICO
GENE Tokens of Founders, development team and key employees are locked in for 6 months.
Bounty, Advisors and Team GENE Tokens will be distributed at the end of the ICO
Any Bounty unallocated Tokens will be transferred into the “PARKGENE Charity Fund”

photo_2018-03-08_14-19-39-1024x500

Team & Advisor

There are some important characters on the PARKGENE team and one of these is Louis Hatzis (Chief Executive Officer) and many others such as Yannis Ramfos (Chief Operating Officer), John Zarifis (Chief Technology Officer – Blockchain Expert), Nikolas Skarlatos (CFO – Chief Financial Officer) Tasos Flambouras (Head of Digital Marketing) and much more.

main-qimg-d44d67f4a219235ee0c64936aee38a03

The project’s advisor is a highly skilled expert to succeed in this subject and for that, the PARKGENE team has chosen them to advise and participate in making this platform available to encourage individuals and businesses.

The PARKGENE team has thought of this best way to make parking easier for each individual. That’s why they find this app where everyone can join with the owner of the parking lot.

main-qimg-45dbcab97cee617d4d07ffd9bff5a29d

Upon completion, the reservation begins a smart contract PARKGENE. This app is a much better way to pay for parking space and has many strategies to cover if the motorist doesn’t have enough GenE to pay.

There are several features given to owners and drivers after successfully making bookings and payments. Opening the garage door throughout the driver’s phone is one choice for drivers and the opportunity to track the owner of the parking lot. This is possible by using the remote access tools readily available on the market, integrated within this platform, or via a low PARKGENE device.

At any time the user can purchase or sell tokens for any kind of emergency crypto by using market service.

 

Roadmap

After developing the platform and industrial launch in 2017, PARKGENE is available as a minimum eligible product named PARKGURU.

main-qimg-f389d5a622e737146f86c45aa0e93f1f

After launching pre-ICO Closed Round in December 2017, 2% of GENEs token will be distributed. The projected launch of this PARKGENE beta version in February 2018 will function as intended for users but although it will be utilized as a source for teams to get information to optimize programs.

The PARKGENE team was ready for a global launch in May 2018. The group found it on a worldwide scale to reply global audiences in more than 20 languages. For the period 2018 to 2019 a projected growth of around 5 million active users of PARKGENE and from the end of 2019 even doubled that amount – 15 million users.

Making a hurry decision is what causes traffic congestion so big or difficult to maneuver without such a terrible incident as a car accident. PARKGENE is a program that in one minute it is possible to find the very best and suitable parking place near you or your work. The deal between the owner of the parking lot and also the consumer is transparent and easy to navigate with a couple clicks on your phone. The PARKGENE staff is led by specialists and with the technology and expertise of the advisors included in this project, this is what causes this platform accessible globally.

For more information, please visit :

Official Site : https://parkgene.io/
Whitepaper : https://parkgene.io/wp-content/uploads/2018/01/Whitepaper_FINAL_V.18.1.pdf
Bitcointalk Thread : https://parkgene.io/btctalk
Twitter : https://twitter.com/PARKGENE1
Facebook : https://www.facebook.com/parkgene.token/
Linkedin : https://www.linkedin.com/company/11353798/
Telegram : https://t.me/parkgene
Medium : https://medium.com/@parkgene/

 

Blockchain Implementation Could Be Anywhere, Even for Find a Parking Space

PARKGENE is one step closer to Become the best Airbnb parking Distance, the first ever combined mobility platform to emerge in the world, passing through its initial two-week sales target of its ICO. This is amazing! With 60 million tokens sold during its first two weeks of ICO, PARKGENE is topped up to turn into a vehicle in the world’s shared parking support.

As people That Are driving in Large cities know quite well, when locating parking is not just a nightmare but, in many cases, it is quite expensive too. PARKGENE, open the very first service in blockchain, intends to prevent driver distress, with peer reviewed floor parking platform -> bursting.

1_01HrXQM6bbdyYnPjbK2zAQ

PARKGENE Passenger Parking Passengers have a business model such as Airbnb therefore parking and motorist owners can interact directly with one another. Drivers are searching for convenient and cost-effective parking spaces, and here is: the parking business is a $ 100 billion industry worldwide, yet will come with clarity that takes a massive commission to match drivers with parking owners. This means more and fewer motorists. Airbnb missed to solve the same issue for excesses and waking is a workable model in the right crowdsharing ecosystem. This is what we could call Change!

They recently announced the Company will reveal a profitability of $ 100 million for 2017, and is anticipated to be launched from the IPO later this year. The success of Airbnb has come at a slow rate as users have been pushing home-sharing programs from obscurity to the object of success globally for 10 years of history. No doubt it’s on the rise, and PARKGENE’s time to introduce blockchain technology to the park’s ecosystem, can’t ‘get any better. The PARKGENE platform, powered by its GENE token, is devoted to being a serious game changer by connecting drivers and parking owners directly.

PARKGENE-FLOW-3-copy

This platform allows the driver To easily find and book parking in the most convenient place and at the most competitive cost. All transactions utilize GENE tokens, and PARKGENE’s vision is to set them as the default currency for the automotive sector. It might be a daring vision, but the company is ready for the long run.

Internet entrepreneur envolved In a set of succesful Consumer Internet and AdTech startups.

Passionate about Cryptocurrencies, he’s working with blockbain startups to progress the use of technology and writes weekly in Dailyfintech.com roughly Bitcoin, Blockchain and Crypto.

“Presently, parking Remains an inefficient industry but maybe not for long,” Parkgene CEO Louis Hatzis explained. “The parking industry will undergo big changes in the next 5-10 years as autonomous automobiles will need to park themselves and pay for parking.In addition, major automakers, VW and BMW, are starting to position themselves in the industry through the acquisition of regional players, and we look at reports about accelerating using mobile phone parking reservations in america, “he added. Hatzis considers that this is a strong indicator to purchase GENE tokens today.

7ea1f11418042084311

After ICO and so on, PARKGENE Will conduct an aggressive marketing campaign with the aim of earning PARKGENE a household name. As the very first parking reservation service in blockchain gives traction businesses to become the world’s top parking reservation platform. Money collected by using their ICO will drive the next platform growth stage, which PARKGENE plans to expand into major cities in Greece, Britain, Russia and the USA, Asia and South America. Their primary focus would be in Athens, in which they already have existence, and they will scale PARKGENE in big cities such as London, Manchester, Paris, Rome, and Milan, and progress farther to St. Petersburg. PARKGENE is operating with ICOBox, the world’s largest provider of SaaS solutions for ICO.

The Business is also the very first ICO ever to partner with NetRoadshow, a trusted name in providing timely online options to the worldwide banking investment community, to bring institutional fans. PARKGENE has also recently appointed a new adviser, Gal Ron, a veteran startup with over 30 decades of expertise in shaping, running and growing companies around the globe in industries that include financial markets to virtual reality. He is now the manager and CEO of both ConversionPros, in Addition to the founder of TokenTarget. Gal fantasizes about the advertising and sales side of blockchain-based jobs, with a particular interest in ICO and Post-ICO advertising and this is a place where he collaborates actively with PARKGENE.

PARKGENE’s goal would be to become Airbnb’s parking business, and when their first two weeks people ICO becomes a sign, they will make it happen. The business has passed pre-ICO aims to sell 20 million GENE tokens through a closed round last December. After the second week of public sales, they’ve reached 60 million exemptions offered, and PARKGENE believes they could achieve their aim of 350 million tokens offered by the time the ICO ends.

Token sale live now, To run the Vision of PARKGENE, we launch Token Sale to publish GENE tokens in the public Ethereum block. Token called GENE Tokens will be provided during PRA-ICO Closed Round and ICO general sales.

photo_2018-03-08_14-19-39-1024x500

On December 15, 2017, PARKGENE

Closed Round Token Sale you must meet the requirements and take the invitation. PRE-ICO Closed Round is SOLD-OUT,

The ICO Public will start on January 15, 2018, at 10:00 am, to disperse up to 35 percent of nominal inventory.

The ICO phase will be burnt”

ICO will be conducted in PARKGENE Token Sale Platform. To take part in ICO PARKGENE and find a GENE Token, you must register to find a free account.

Token GENE will be issued as an ERC20 backup token for Etereum obstructing so you require Ethereum compatible pocket with ERC20 to get it.

You can purchase Ethers, Litecoin and USD via wire transfer Token GEN will Be issued in Blockain Ethereal in the conclusion of Sale Token and distributed to contributors. We expect GENE to be traded on Cryptocurrency Exchange when It’s published.

For more information, please visit :

Official Site : https://parkgene.io/
Whitepaper : https://parkgene.io/wp-content/uploads/2018/01/Whitepaper_FINAL_V.18.1.pdf
Bitcointalk Thread : https://parkgene.io/btctalk
Twitter : https://twitter.com/PARKGENE1
Facebook : https://www.facebook.com/parkgene.token/
Linkedin : https://www.linkedin.com/company/11353798/
Telegram : https://t.me/parkgene
Medium : https://medium.com/@parkgene/

This Blockchain Implementation Will Make You Feel Easier to Find Parking Space

You ever imagine how much time you throw away in vain in life? We’ve all thrown our lives for unnecessary things like when stuck in traffic, waiting for queues, or even finding a parking space.
In a densely populated city, you can lose your time 2-5 hours a day while working days just to do these 3 things. That means 15 hours a week. A research says, in one of the cities with the most crowded streets and land, Jakarta city in Indonesia, if the average age of their citizens is 60 years they spend an average of one to two years to get caught in traffic and look for parking space.
You can imagine that you lose the life of two years of your total life. If you value life, you have to start thinking again.
One company that is trying to solve this problem is ParkGene (parkgene.io). PARKGENE could be a convenient and secure thanks to realizing parking, connecting drivers, people, and businesses. Our Vision is to disrupt the standard – principally offline – Parking business, sized at $100 billion annually, and to supply drivers with a much better parking expertise, whereas serving to cities become smarter and environmentally friendly.
In the gift situation, the globe is facing essential problems with traffic cramming with a major rise within the vehicle population and congestion in cities, associate degreed this has become a current challenge for municipal councils and therefore the traffic authorities to trace and manage vehicle traffic.
A 2011 study by Cisco[3] unconcealed that simply at intervals the United States alone, the entire value of non-public transportation amounts to $3 trillion p.a. Parking pictured a staggering twelve.5 p.c of this total, or $374 billion. This includes not solely the particular value to park however additionally associated inefficiencies, like the urban traffic created by individuals yearning for parking. With numbers this huge, it’s not shocking that automotive OEMs more and more read parking as a crucial service that must be integrated at intervals the vehicle’s telematics system to contour efficiencies.
Parking imposes a major burden on drivers and therefore the wider economy. One in 3 drivers abandoned they’re explore for a parking space[6] a minimum of once within the past year in pursuit of the desired spot. The factors that incline a town to congestion ar constant as people who cause parking pain: giant and growing populations, spirited economies, comparatively low-cost driving, and dense urban environments with a restricted land area.
This is wherever PARKGENE (parkgene.io) comes in. PARKGENE’s decentralized technology can provide new parking spots in already jammed cities, that currently stay unutilized, by sanctioning not solely the Peer-to-peer sharing however additionally the seamless integration of all competitory parking technology solutions offered by the business, so making a useful marketplace. P2P marketplaces isn’t a brand new plan. we’ve got seen many thriving applications within the lodging business with firms like Airbnb, or within the automotive business with Uber and Lyft. a couple of startups have already evolved in giving P2P Parking however scaling has continuously been a drag.

What is PARKGENE?

To put it merely, PARKGENE is analogous to the “Airbnb for parking”. we are going to connect UN agency|those that|those who|those that} own parking areas with drivers who wish to park, give extra parking areas to the market, and undercut the value of high parking fees, whereas providing associate degree financial gain supply to any or all parking spot homeowners World Health Organization lend their driveways and garages. PARKGENE, designed on the Ethereum blockchain, is going to be the primary system that permits drivers and homeowners of parking areas to interact with one another directly.
Our aim is to make a lot of clear and liquid thanks to park. PARKGENE addresses each the short and long parking rental markets by lowering fees, mistreatment decentralized conflict resolutions and creating this market actually P2P, eliminating numerous middlemen, and making certain that reviews and listings are honest, as they’re holding on on associate degree immutable blockchain.
PARKGENE aims to develop to an international automotive platform supported blockchain technology. PARKGENE can give all the required tools to existing market service suppliers, enable them to attach, interact and build a growing international community that matches native provide and demand of parking areas mistreatment the cistron. Initially, establishing cistron Tokens (GENE) as a mean of payment for the parking business can doubtless attract various alternative relevant industries (car insurance, tolls, automotive services, etc.), that would use our distributed ledger technology and begin acceptive GENEs as payment for services.
Drivers yearning for a parking spot meet just about with parking homeowners through the PARKGENE app. the subsequent diagram shows the various stages of a parking session completed on the PARKGENE platform and over the Ethereum Blockchain with good contracts. Once a driver reserves a parking spot, the reservation triggers the PARKGENE good contract on the Ethereum Public Blockchain.
The PARKGENE App transfers the complete parking fee quantity in GENEs from the motive force pocketbook, to a facility (a temporary wallet). ought to there not be enough GENEs balance within the driver’s pocketbook, the motive force will use his MasterCard or alternative suggests that of payment (Bitcoins, Ethers) to shop for GENEs time period and pay money for the dealing.
The thriving reservation and payment give extra App practicality to drivers and parking homeowners that is required for the completion of the particular parking session. for instance, the motive force can have the power to open the garage door from his transportable, whereas the parking owner is notified and monitors – in the live video – the doorway and exit of the vehicle. This practicality is elective – though terribly useful – and is achieved through the integration of PARKGENE platform with existing remote access tools that are accessible within the market, or a selected device that PARKGENE can supply to the parking zone homeowners at terribly low value.
For more information, please visit :
Official Site : https://parkgene.io/
Bitcointalk Thread : https://parkgene.io/btctalk

Basic Primer: Blockchain Consensus Protocol

Basic Primer: Blockchain Consensus Protocol guide. A blockchain is a decentralized peer-to-peer system with no central authority figure. While this creates a system that is devoid of corruption from a single source, it still creates a major problem.

  • How are any decisions made?
  • How does anything get done?

Think of a normal centralized organization.

All the decisions are taken by the leader or a board of decision makers. This isn’t possible in a blockchain because a blockchain has no “leader”. For the blockchain to make decisions, they need to come to a consensus using “consensus mechanisms”.

So, how do these consensus mechanisms work and why did we need them? What are some of the consensus mechanisms used in cryptocurrencies?

 

We will answer these questions in this guide. Basic Primer: Blockchain Consensus Protocol

Basic Primer: Blockchain Consensus Protocol

What are consensus mechanisms?

This is how Wikipedia defines consensus decision-making:

 

“Consensus decision-making is a group decision-making process in which group members develop, and agree to support a decision in the best interest of the whole. Consensus may be defined professionally as an acceptable resolution, one that can be supported, even if not the “favourite” of each individual. Consensus is defined by Merriam-Webster as, first, general agreement, and second, group solidarity of belief or sentiment.”

 

In simpler terms, consensus is a dynamic way of reaching agreement in a group. While voting just settles for a majority rule without any thought for the feelings and well-being of the minority, a consensus on the other hand makes sure that an agreement is reached which could benefit the entire group as a whole.

From a more idealistic point-of-view, Consensus can be used by a group of people scattered around the world to create a more equal and fair society.

A method by which consensus decision-making is achieved is called “consensus mechanism”.

So now what we have defined what a consensus is, let’s look at what the objectives of a consensus mechanism are (data taken from Wikipedia).

  • Agreement Seeking: A consensus mechanism should bring about as much agreement from the group as possible.
  • Collaborative: All the participants should aim to work together to achieve a result that puts the best interest of the group first.
  • Cooperative: All the participants shouldn’t put their own interests first and work as a team more than individuals.
  • Egalitarian: A group trying to achieve consensus should be as egalitarian as possible. What this basically means that each and every vote has equal weightage. One person’s vote can’t be more important than another’s.
  • Inclusive: As many people as possible should be involved in the consensus process. It shouldn’t be like normal voting where people don’t really feel like voting because they believe that their vote won’t have any weightage in the long run.
  • Participatory: The consensus mechanism should be such that everyone should actively participate in the the overall process.

 

Now that we have defined what consensus mechanisms are and what they should aim for, we need to think of the other elephant in the room.

Which consensus mechanisms should be used for an entity like blockchain.

Before bitcoin, there were loads of iterations of peer-to-peer decentralized currency systems which failed because they were unable to answer the biggest problem when it came to reaching a consensus. This problem is called “Byzantine Generals Problem”.

 

What is the Byzantine Generals Problem?

 Understanding Blockchain Consensus Protocols: Basic Guide

Image Courtesy: Medium

Ok so imagine that there is a group of Byzantine generals and they want to attack a city. They are facing two very distinct problems:

  • The generals and their armies are very far apart so centralized authority is impossible, which makes coordinated attack very tough.
  • The city has a huge army and the only way that they can win is if they all attack at once.

 

In order to make successful coordination the armies on the left of the castle send a messenger to the armies on the right of the castle with a message that says “ATTACK WEDNESDAY.” However, suppose the armies on the right are not prepared for the attack and say, “NO. ATTACK FRIDAY” and send back the messenger through the city back to the armies on the left.

 

This is where we face a problem.

 

A number of things can happen to the poor messenger. He could get captured, compromised, killed and replaced with another messenger by the city. This would lead to the armies getting tampered information which may result in an uncoordinated attack and defeat.

This has clear references to blockchain as well. The chain is a huge network; how can you possibly trust them? If you were sending someone 4 Ether from your wallet, how would you know for sure that someone in the network isn’t going to tamper with it and change 4 to 40 Ether?

What these generals need, is a consensus mechanism which can make sure that their army can actually attack as a unit despite all these setbacks.

We are now going to go through a list of consensus mechanisms which can solve the Byzantine Generals problem.

 

#1 Proof Of Work

Satoshi Nakamoto, Bitcoin’s creator, was able to bypass the problem by inventing the proof of work protocol.

First let’s see how it work in context of the Byzantine Generals problem.

Suppose the army on the left want to send a message called “ATTACK MONDAY” to the army on the right, they are going to follow certain steps.

 

  • Firstly, they will append a “nonce” to the original text. The nonce can be any random hexadecimal value.
  • After that, they hash the text appended with a nonce and see the result. Suppose, hypothetically speaking, the armies have decided to only share messages which, on hashing, gives a result which starts with 5 zeroes.

 

  • If the hash conditions are satisfied, they will send the messenger with the hash of the message. If not, then they will keep on changing the value of the nonce randomly until they get the desired result. This action is extremely tedious and time consuming and takes a lot of computation power.

 

  • If the messenger does get caught by the city and the message is tampered with, according to hash function properties, the hash itself will get drastically changed. If the generals on the right side, see that the hashed message is not starting with the required amount of 0s then they can simply call off the attack.

 

However, there is a possible loophole.

 

No hash function is 100% collision free. So what if the city gets the message, tampers with it and then accordingly change the nonce until they get the desired result which has the required number of 0s? This will be extremely time consuming but it is still possible. To counter this, the generals are going to use strength in numbers.

Suppose, instead of just one general on the left sending messages to one general on the right, there are 3 generals on the left who have to send a message to the ones on the right. In order to do that, they can make their own message and then hash the cumulative message and then append a nonce to the resulting hash and hash it again. This time, they want a message which starts with six 0s.

Obviously, this is going to be extremely time consuming, but this time, if the messenger does get caught by the city, the amount of time that they will take to tamper the cumulative message and then find the corresponding nonce for the hash will be infinitely more. It may even take years. So, eg. if instead of one messenger, the generals send multiple messengers, by the time the city is even halfway through the computation process they will get attacked and destroyed.

The generals on the right have it pretty easy. All they have to do is to append the message with the correct nonce that will be given to them, hash them, and see whether the hash matches or not. Hashing a string is very easy to do. That in essence is the process behind proof-of-work.

 

  • The process behind finding the nonce for the appropriate hash target should be extremely difficult and time consuming.
  • However, the process of checking the result to see if no malpractice has been committed should be very simple.

 

So, if we are to summarize how Proof Of Work Protocol works with the blockchain.

 

  • The miners solve cryptographic puzzles to “mine” a block in order to add to the blockchain.
  • This process requires immense amount of energy and computational usage. The puzzles have been designed in a way which makes it hard and taxing on the system.
  • When a miner solves the puzzle, they present their block to the network for verification.
  • Verifying whether the block belongs to the chain or not is an extremely simple process.

 

The proof-of-work mechanism definitely answered a lot of questions when it came to solving the Byzantine General’s Problem, but unfortunately there are some issues with proof-of-work.

 

  • First and foremost, proof of work is an extremely inefficient process because of the sheer amount of power and energy that it eats up.
  • People and organizations that can afford faster and more powerful ASICs usually have better chance of mining than the others.
  • As a result of this, bitcoin isn’t as decentralized as it wants to be. Let’s check the hashrate distribution graph: Understanding Blockchain Consensus Protocols: Basic Guide Image Credit: Blockchain.info

As you can see, ~65% of the hashrate is divided among 5 mining pools alone!

  • Theoretically speaking, these big mining pools can simply team up with each other and launch a 51% on the bitcoin network.

 

Notable Crypto That Uses This Protocol: Bitcoin

 

#2 Proof Of Stake

 

Ethereum is soon planning to move on from Proof of Work (POW) to Proof of Stake (POS).

Proof of stake will make the entire mining process virtual and replace miners with validators.

This is how the process will work:

 

  • The validators will have to lock up some of their coins as stake.
  • After that, they will start validating the blocks. Meaning, when they discover a block which they think can be added to the chain, they will validate it by placing a bet on it.
  • If the block gets appended, then the validators will get a reward proportionate to their bets.

 Understanding Blockchain Consensus Protocols: Basic Guide

As you can see, the POS protocol is a lot more resource-friendly than POW. In POW you NEED to waste a lot of resources to go along with the protocol, it is basically resource wastage for the sake of resource wastage.

 

The Biggest Roadblock to Proof of Stake

 

Ethereum developers always planned to eventually move on to proof of stake, that was always their plan. However, before they could do so, they had to address one of the biggest flaws of proof of stake(POS).

Consider this scenario for a moment:

 Understanding Blockchain Consensus Protocols: Basic Guide

Suppose we have a situation like the one above.  There is a main blue chain and a red chain which sort of branches from the main itself. What is there to stop a malicious miner from mining on the red blocks and force a hardfork?

In a proof-of-work(POW) system, this risk can be mitigated.

Suppose malicious miner Alice wants to mine on the red chain. Even if she dedicates all of her hash power to it, she won’t get any other miner to join her on the new chain. Everyone else will still continue to mine on the blue chain, because it is more profitable and risk-free to mine on the longer chain.

Now remember, POW is extremely expensive resource-wise.

It makes no sense for a miner to waste so much resource on a block that will be rejected by the network anyway. Hence chain splits are avoided in a proof of work system because of the amount of money that the attacker will have to waste.

However, things look a little different when you bring in POS.

If you are a validator, then you can simply put your money in both the red chain and blue chain without any fear of repercussion at all. No matter what happens, you will always win and have nothing to lose, despite how malicious your actions maybe.

 

This is called the “Nothing at Stake” problem.

 

In order to incorporate the POS consensus system, cryptocurrencies need to address this issue and Ethereum is going to do this in a very interesting way by adapting their Casper protocol.

Casper is the POS protocol that Ethereum has chosen to go with. While there has been an entire team busy creating it, Vlad Zamfir is often credited as being the “Face of Casper”.

 Understanding Blockchain Consensus Protocols: Basic Guide

Image Credit: Blocknomi.

 

So how is Casper different from other Proof of Stake protocols?

Casper has implemented a process by which they can punish all malicious elements. This is how POS under Casper would work:

 

  • The validators stake a portion of their Ethers as stake.
  • After that, they will start validating the blocks. Meaning, when they discover a block which they think can be added to the chain, they will validate it by placing a bet on it.
  • If the block gets appended, then the validators will get a reward proportionate to their bets.
  • However, if a validator acts in a malicious manner and tries to do a “nothing at stake”, they will immediately be reprimanded and all of their stake is going to get slashed.

 

As you can see, Casper is deigned to work in a trustless system and be more Byzantine Fault Tolerant.

Anyone who acts in a malicious/Byzantine manner will get immediately punished by having their stake slashed off. This is where it differs from most other POS protocols. Malicious elements have something to lose so it is impossible for there to be nothing at stake.

Flawlessly implementing Casper and Proof Of Stake will be critical if Ethereum plans to scale up.

 

Notable Crypto That Uses This Protocol: Ethereum (in the near future)

 

#3 Delegated Proof Of Stake

 

Now we come to an interesting form of Proof Of Stake called DPOS or Delegated Proof Of Stake. EOS is using this consensus mechanism to scale up to millions of transactions per second.

If they can actually pull it off, then they will have DPOS to thank.

Firstly, anyone who holds tokens on a blockchain integrated in the EOS software can select the block producers through a continuous approval voting system. Anyone can participate in the block producer election and they will be given an opportunity to produce blocks proportional to the total votes they receive relative to all other producers.

How does it work?

 

  • Blocks are produced in the rounds of 21.
  • At the start of every round 21 block producers are chosen. Top 20 are automatically chosen while the 21st one is chosen proportional to the number of their votes relative to the other producers.
  • The producers are then shuffled around using a pseudorandom number derived from the block time. This is done to ensure that a balance connectivity to all other producers is maintained.
  • To ensure that regular block production is maintained and that block time is kept to 3 seconds, producers are punished for not participating by being removed from consideration. A producer has to produce at least one block every 24 hours to be in consideration.

The DPOS system doesn’t experience a fork because instead of competing to find blocks, the producers will have to co-operate instead. In the event of a fork, the consensus switches automatically to the longest chain.

 

Confirming Transactions in DPOS?

 

A DPOS blockchain typically has 100% block producer participation. A transaction is usually confirmed within 1.5 seconds from the time of broadcast by a 99.9% certainty. In order to have absolute certainty over the validity of a transaction, a node need only to wait for 15/21 (i.e. a 2/3 majority) producers to arrive to a consensus.

So what happens in the event of a fork caused by negligence or malicious intent?

All the nodes will, by default, not switch to a fork which doesn’t include any blocks not finalized by 15/21 producers. This will stand true regardless of chain length. Each block must gain a 15/21 approval to be considered a part of the chain.

Because of the short block creation time, it is possible to warn nodes of whether they are in the major or minor chain within 9 seconds. The reason why that is so is simple. Remember, the average time elapsed between each block is 3 seconds.

If a node misses 2 consecutive blocks there is a 95% chance that they in a minority fork.

If a node misses 3 blocks, then there is a 99% chance of them being on a minority chain.

 

What is TAPOS?

Transaction As Proof Of Stake or TAPOS is a feature of the EOS software. Every transaction in the system is required to have the hash of the recent block header. This does the following:

  • Prevent transaction replay on different chains.
  • Signaling the network that a user and their stake is on a particular fork.

This prevents validators from acting maliciously on other chains.

Ok, so that sounds pretty fascinating.

You have a Proof-of-stake protocol which is fast and efficient.

 

Where is the catch?

For that, let’s bring in the insights of Ethereum co-founder Vitalik Buterin. According to him, the DPOS system fails the co-ordination game.

What is Co-ordination game theory?

Consider this matrix:

 

 Understanding Blockchain Consensus Protocols: Basic Guide
Now, if you see this matrix, there are two Nash Equilibria: (A,A) and (B,B), deviation from either of the state won’t benefit them. The idea of this game is how can you convince people to go from (A,A) to (B,B)? If there are a small group of people involved then that is relatively simple, you can simply coordinate via phone or emails. But, this changes when we are talking about a huge group of people.

The fundamental difference between prisoner’s dilemma and co-ordination problem is that in prisoner’s dilemma, both the players had to choose (B,B) because that was the choice that had the most payoff even though (A,A) is a morally better solution. In Co-ordination problem, it is not about the morality or the payoff, it is about the incentive for a person to go from one state to another. Why should a huge group of people change the way they do things?

A co-ordination game fails when only minority of the group change their state and the majority don’t and inversely, it is a success when majority of the group changes their state. Let’s see that with an example.

  • Suppose we want to change the language to a symbol based language. Eg:
  • Original statement: “Give me your number?”
  • New statement: “#?”

 

If only you speak using this language, it will be a failure because the majority won’t understand what you are talking about and you will be shunned from conversations aka the payoff for you is very low and you have no incentive to change.

However, if the majority of your society shifts to this language and use it exclusively, you will have to change your language otherwise you will never be able to fit in. Now the incentive for you to join is high.

The DPOS system could use the co-ordination game theory to its disadvantage. There could be a scenario where a certain situation is favoured by the block producers which are not in accordance with the the rest of the nodes.

Suppose the master nodes want to transition the chain from state A to state B. It could be a very hard task for them to help the entire chain do the same transition along with them especially if the other nodes are opposed to state B.

Only time will tell if EOS can properly and flawlessly integrate DPOS or not.

 

Notable Crypto That Uses This Protocol: EOS

 

#4 Delegated Byzantine Fault Tolerance (dBFT)

 

Now we come to Consensus mechanism of choice for NEO.

Imagine that there is a country “Blockgeeks” and this country has a lot of citizens. Each of these citizens would elect a Delegate to represent them and to make them happy. The job of these delegates is to pass laws that will make the citizens happy, if they are not good at their job then the citizens can simply vote for another delegate the next time.

 

So how do the delegates pass laws?

 

One of the delegates is randomly chosen as a speaker.

The Speaker then look at all the demands of the citizens and creates a law. They then calculate a “Happiness Factor” of these laws to see if the number is enough to satisfy the citizen’s needs or not. They then pass that down to the delegates.

The delegates then individually check the Speaker’s calculations. If the the speaker’s number matches the Delegate’s then they give their approval, if not then they give their disapproval.

66% of the delegates need to give their approval for the law to pass. If the majority is not sealed, then a new leader is chosen and the process starts again.

So, let’s see how this applies in the blockchain.

The citizens are whoever owns NEO tokens aka ordinary nodes.

Delegates are the bookkeeping nodes. In order to be a bookkeeping node you need to satisfy a certain amount of qualifications: having special equipment, dedicated internet connections and a certain amount of GAS (1000 according to basiccrypto’s article).

 

  • The “demands of the citizens” are basically the various transactions made by the token holders.
  • The “law” is the current block that is to be added to the blockchain.
  • The “happiness factor” is the hash of the current block.

 

Now, there are two cases where the one of the participants may act in a malicious manner. Let’s check it out:

Case #1: The Speaker is malicious

 Understanding Blockchain Consensus Protocols: Basic Guide

Image credit: basiccrypto Steemit article

 

In this case, the speaker has sent a malicious message B to two delegates and an accurate message to one.  This scenario can be easily mitigated because of the majority rule. The two delegates will see that their hash is not matching up with that of the speaker while one delegate will see that their hash matches up perfectly. However, 2 out of 3 will disapprove the proposal and consensus won’t be reached. The speaker will henceforth be removed.

 

Case 2: One of the delegates is malicious

 Understanding Blockchain Consensus Protocols: Basic Guide

Image credit: basiccrypto Steemit article

 

The speaker sends the correct message to all the delegates, however one of the delegates decides to act in a malicious manner and declares that their number isn’t matching up with the speaker’s.

However, since 2 out of the 3 delegates are non-malicious, they will approve the law which will then be passed since a 66% consensus has been reached.

So as can be seen, dBFT presents a very interesting form of consensus mechanism.

 

Notable Crypto That Uses This Protocol: NEO

 

These are 4 of the most common consensus mechanisms that are used in cryptocurrencies. However, there are some more that you can checkout which provide interesting alternatives. They are:

  • Proof Of Activity.
  • Proof Of Burn.
  • Proof Of Elapsed Time.
  • Proof Of Capacity.

 

Conclusion: Basic Primer: Blockchain Consensus Protocol

Without consensus mechanisms we wouldn’t have a Byzantine Fault Tolerant decentralized peer-to-peer system.

It is as simple as that. While, proof of work and proof of stake are definitely the more popular choices, there are newer mechanisms coming up every now and then. There is no “perfect” consensus mechanism, and chances are that there never will be, but it is interesting to see these newer cryptocurrencies coming out with their own protocols.

What is Cardano Blockchain? Step-by-Step Guide

One of the most interesting projects to have come out is Cardano. Similar to Ethereum, Cardano is a smart contract platform however, Cardano offers scalability and security through layered architecture.

Cardano’s approach is unique in the space itself since it is built on scientific philosophy and peer-reviewed academic research. In this guide, we are going to do a detailed study on Cardano and check out some of the more interesting innovations that it brings to the table.

The Origins of Cardano

Cardano was conceptualized by Charles Hoskinson who happens to be one of the co-founders of Ethereum.

What is Cardano Blockchain? Step-by-Step Guide

Pictured above: Charles Hoskinson. Image Credit: IOHK.

 

While Ethereum does an admirable job as a smart contract platform, according to Hoskinson it is a second generation blockchain (more on this later) and needed evolution. What makes Cardano extremely remarkable is the sheer amount of care that goes into its upkeep. There are three organizations which work full time to develop and take care of Cardano.

They are:

  • The Cardano Foundation.
  • IOHK.
  • Emurgo.

 

The Cardano Foundation is a not-for-profit regulated entity that is the custodial organization of Cardano. Their main function is to “standardize, protect, and promote the Cardano Protocol technology”.  

 

In 2015, along with Jeremy Wood, Hoskinson found IOHK (Input Output Hong Kong). IOHK is a “research and development company committed to using the peer-to-peer innovations of blockchain to build accessible financial services for all.” They have been contracted to build, design, and maintain Cardano until 2020.

Finally, we have Emurgo. Emurgo is a Japanese company that “develops, supports, and incubates commercial ventures who want to revolutionize their industries using the blockchain technology.” Much of IOHK’s funding comes from a 5-year contract with Emurgo.

These three organizations work in synergy to make sure that Cardano development is going on at a good pace. So, now you are probably thinking as to why Cardano was required in the first place. Cardano describes itself as a 3rd generation blockchain. Let’s see what does that mean?

 

The Three Generations of Blockchain

According to Charles Hoskinson, we have gone through three generations of blockchains.

 

Generation 1: Bitcoin and Money Transfer

Bitcoin was created because everyone was asking the same questions.

Will it be possible to create a form of money which can be transferred between two people without any middleman?

What is Cardano Blockchain? Step-by-Step Guide

Will it be possible to create a decentralized money which can function on something like the blockchain?

Satoshi Nakamoto answered these questions when he created bitcoin. We finally had a decentralized monetary system which can transfer money from one person to another.

However, there was a problem with bitcoin which is a problem with all first generation blockchains.They only allowed for monetary transactions, there was no way to add conditions to those transactions.


Alice can send Bob 5 BTC, but she couldn’t impose conditions to those transactions. Eg. She couldn’t tell Bob that he will get the money only if he performed certain tasks.

These conditions would need extremely complicated scripting. Something was required to make the process more seamless.

 

Generation 2: Ethereum and Smart Contracts

And that “something” was a smart contract.

What is a smart contract?

Smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.

Vitalik Buterin’s Ethereum is easily the stalwart of this generation. They showed the world how the blockchain can evolve from a simple payment mechanism to something far more meaningful and powerful.

However, this generation had some problems too.

As more and more interesting use cases of the blockchain were coming out, they were getting more and more acceptance.

The problem was though, these generations of blockchain didn’t really have good provisions for scalability. Along with that, the governance system of these blockchains were not really that well thought out. Case in point, the Ethereum and Ethereum Classic split, according to Hoskinson, is a classic example (no pun intended) of bad governance.

This is where the third generation comes in.

 

Generation 3: Cardano

 

Hoskinson knew that the blockchain needed to evolve even more. He took the positive elements from the first two generations of blockchain and added some elements of his own. What came about from that was Cardano.

The three elements that Cardano wanted to solve were:

  • Scalability.
  • Interoperability.
  • Sustainability.

As mentioned before, Cardano is unique in the sense that it is built on scientific philosophy and peer-reviewed academic research. All the engineering that goes into it has the ultimate goal of being “High Assurance Code”. This is done to make sure that there is much higher belief in the quality of the code used (more on this later when in the “Haskell and Plutus” section). This, according to Hoskinson, will prevent future cases like the ETH-ETC split from happening.

 

So, before we go any further, let’s explore the philosophy of Cardano.

 

The Philosophy of Cardano

 

The Cardano team wants to adhere to a set of principles and philosophies. They did not set out with a proper roadmap or a white paper. Instead, they focused on embracing a “collection of design principles, engineering best practices, and avenues for exploration.”

The following are these principles and they are taken directly from the Cardano website.

 

  • Separation of accounting and computation into different layers.
  • Implementation of core components in highly modular functional code
  • Small groups of academics and developers competing with peer-reviewed research
  • Heavy use of interdisciplinary teams including early use of InfoSec experts
  • Fast iteration between white papers, implementation and new research required to correct issues discovered during review
  • Building in the ability to upgrade post-deployed systems without destroying the network
  • Development of a decentralized funding mechanism for future work
  • A long-term view on improving the design of cryptocurrencies so they can work on mobile devices with a reasonable and secure user experience
  • Bringing stakeholders closer to the operations and maintenance of their cryptocurrency
  • Acknowledging the need to account for multiple assets in the same ledger
  • Abstracting transactions to include optional metadata in order to better conform to the needs of legacy systems
  • Learning from the nearly 1,000 altcoins by embracing features that make sense
  • Adopt a standards-driven process inspired by the Internet Engineering Task Force using a dedicated foundation to lock down the final protocol design
  • Explore the social elements of commerce
  • Find a healthy middle ground for regulators to interact with commerce without compromising some core principles inherited from Bitcoin.

 

Now that we have seen the philosophy, let’s look at the three elements in detail that Cardano aims to solve.

 

Element #1: Scalability

When people say “scalability” they invariably think of transactions processed per second or throughput. However, according to Hoskinson, that’s just one part of the problem. Total scalability is a three-headed hydra so to speak. One needs to take care of three separate elements:

  • Transactions per second/ Throughput
  • Network.
  • Data Scaling.

 

#1 Throughput

Many articles have been written on the lack of throughput in Bitcoin and Ethereum. Bitcoin manages 7 transactions per second and Ethereum manages 15-20. This is absolutely not acceptable for a financial system.

Cardano hopes to solve this problem with their consensus mechanism, Ouroboros. It is a provably secure proof-of-stake algorithm. Ouroboros was actually peer-reviewed and approved during Crypto 2017.

Ouroboros, as stated earlier is a proof-of-stake algorithm. Before we get deeper into the mechanism, we must know what proof of stake is.

 

Bitcoin and Ethereum (for now at least) follows the proof-of-work protocol.

 

Proof-of-work as a process has the following steps to it:

  • The miners solve cryptographic puzzles to “mine” a block in order to add to the blockchain.
  • This process requires an immense amount of energy and computational usage. The puzzles have been designed in a way which makes it hard and taxing on the system.
  • When a miner solves the puzzle, they present their block to the network for verification.
  • Verifying whether the block belongs to the chain or not is an extremely simple process.

 

That, in essence, is what the proof-of-work system is. Solving the puzzle is difficult but checking whether the solution is actually correct or not is easy. This is the system that Bitcoin and Ethereum (till now) have been using. However, there are some fundamental flaws in the system.

 

The problem with proof of work.

As it turns out, there are quite a few problems with proof-of-work.

  • First and foremost, proof of work is an extremely inefficient process because of the sheer amount of power and energy that it eats up.
  • People and organizations that can afford faster and more powerful ASICs usually have a better chance of mining than the others.
  • As a result of this, bitcoin isn’t as decentralized as it wants to be. Let’s check the hashratedistribution graph:What is Cardano Blockchain? Step-by-Step Guide Image Credit: Blockchain.info

As you can see, ~75% of the hashrate is divided among 5 mining pools alone!

  • Theoretically speaking, these big mining pools can simply team up with each other and launch a 51% on the bitcoin network.

 

So, to solve these problems, Ethereum looked to Proof of Stake as a solution.

What is proof of stake?

 

Proof of stake will make the entire mining process virtual and replace miners with validators.

This is how the process will work:

  • The validators will have to lock up some of their coins as stake.
  • After that, they will start validating the blocks. Meaning, when they discover a block which they think can be added to the chain, they will validate it by placing a bet on it.
  • If the block gets appended, then the validators will get a reward proportionate to their bets.

What is Cardano Blockchain? Step-by-Step Guide

Now that we know what POS looks like, let’s look at the mechanism behind Ouroboros.

 

Cardano: Ouroboros Underneath the Hood

Ouroboros looks at the distribution of the tokens in the ecosystem and from a source of random numbers, it divides the world into epochs. Each epoch is then divided into slots. Each epoch lasts for a very short of time ~20 seconds.

What is Cardano Blockchain? Step-by-Step Guide

Image credit: Cardano Docs

 

Each slot then gets its own slot leader, who is randomly chosen.

What is Cardano Blockchain? Step-by-Step Guide

The Slot leader act like miners does in a POW protocol in the sense that they are the ones who choose the blocks that get added to the blockchain. They can, however, add only one block.

What is Cardano Blockchain? Step-by-Step Guide

If a slot leader somehow misses their chance and doesn’t choose the block, they miss their opportunity and will have to wait till they become slot leaders again. It is ok for one or more slots to remain empty (without generated blocks), but the majority of the blocks (at least 50% + 1) must be generated during an epoch.

As you can see, the slot leaders have a very important role to play in the ecosystem. To be considered for qualification, one must own 2% stake in Cardano. These stakeholders are called electors and they are the ones who elect the slot leaders for the next epoch during the current epoch. The more stake the stakeholder has in the system, the more chance they get to be elected as slot leaders.

Now, since the slot leaders have a lot of power, special care must be taken to make the election as unbiased as possible. There must be some amount of randomness involved. This is why a multiparty computation (MPC) is done to achieve some form of randomness.

In this MPC approach, each elector performs a random action called “coin tossing” and after that shares their results with other electors. Though the results are randomly generated by each elector, they eventually agree on the same final value.

 

The election is divided into three phases:

  • Commitment Phase.
  • Reveal Phase
  • Recovery Phase.

 

Let’s explore what happens within each phase.

 

Commitment Phase

Firstly, an elector generates a secret random value and then forms a “commitment”. The commitment is a message that contains encrypted shares (keep this in mind for the recovery phase) and a proof of secret.

After that, an elector signs the commitment with their private key and specifies the epoch number and attaches their public key. Doing this solves two purposes:

 

  • Everybody can check who created this commitment (since it has the public key attached to it).
  • They can check which epoch it belongs to.

 

After this is done, the elector sends their commitments to other electors. Eventually, each elector collects the other elector’s commitments (The commitments get put into the block and become part of the blockchain).

 

Reveal Phase

The second phase is the reveal phase.

Think of commitments like a locked box that has a secret in it and there is a special value that unlocks the box. This special value is called an “opening”. This is what this phase is all about, the electors send their “opening”. These openings are also put into the block and then becomes part of the blockchain.

 

Recovery Phase

 

Finally, we have the recovery phase.

By this time, an elector has both commitments and openings. However, some electors may act maliciously and publish their commitment without the opening. Basically, give the locked box without the passphrase.

In order to circumnavigate this, the honest electors can post all the encrypted shares (as mentioned in commitment phase) and simply reconstruct the secrets. This way, even if certain electors act in a malicious manner, the system will still work. This is how Ouroboros gets its Byzantine Fault Tolerance.

Eventually, an elector verifies that the commitments and openings match and when that happens, the secrets from the commitments are extracted which forms a seed. The seed is a randomly generated byte string.

All the electors now possess this seed.

So, let’s pause for a second and check where we are right now.

We are electing slot leaders for the next epoch. In order to make sure that the election is as unbiased as possible we needed some sort of randomness. The “seed” provides us with this randomness. Now it is time to select the Slot Leaders.

 

To do that we will use the Follow the Satoshi (FTS) algorithm.

 

Cardano: The FTS Algorithm

 

The name of the algorithm comes from Satoshi Nakamoto, the unknown creator of Bitcoin.

What is Cardano Blockchain? Step-by-Step Guide

Image credit: Cardano Docs

 

The FTS basically selects a random coin from the stake. Whoever owns that coin becomes the slot leader. It is that straightforward!

This is why, the more stake one has in the system, the more chances they have of winning this lottery.

The slot leaders will also have the power to not only choose the blocks in the main blockchain but to choose blocks in other blockchains inside the Cardano ecosystem as well.

 

#2 Network

 

So how does Network factor into scalability?

Simple… bandwidth.

 

The transactions carry data. So as the number of transactions increases so does the requirement for network resources.

The notion is pretty straightforward: If a system is to scale up to millions of users, the network will need 100s of terabytes or exabytes of resources to sustain itself.

 

As such, it is impossible to maintain a homogenous network topology. What does that mean?

In a homogenous network topology, every node in the network relays every message. Skype is an example of such a network where most of the value is taken from a single class of users who are all interested in placing a phone call.

However, in a decentralized network, that can become impractical for scaling up. All the nodes may not have the resources required to relay the information in an effective manner.

To solve this issue, Cardano is looking at a new type of technology called RINA, Recursive Inter-Network Architecture created by John Day. It is a new type of structuring networks using policies and ingenious engineering principles.

 

RINA’s goal is to create a heterogeneous network which promises to give:

  • Privacy.
  • Transparency.
  • Scalability.

It does so in a way where you can guess how the network is going to organize in a formal capacity. It is hoped that it will seamlessly interoperate with TCP/IP protocols. Cardano hopes to implement this in part by 2018 and completely by 2019.

 

According to Wikipedia, “RINA inherently supports mobility, multi-homing and Quality of Service without the need for extra mechanisms, provides a secure and programmable environment, motivates for a more competitive marketplace, and allows for a seamless adoption.”

 

#3 Data Scaling

 

Finally, we have data scaling.

Think about this.

Blockchains store things for eternity. Every little piece of data, relevant or not gets stored in the blockchain for eternity. As, the system scales up and more and more people come in, with the sheer influx of data the blockchain gets more and bulkier.

Now, remember that a blockchain runs because it comprises of Nodes. Each node is a user who stores a copy of the blockchain in their system.

 

You see where the problem is right?

 

As the blockchain gets bulkier, it will demand more space, and that is unreasonable for a normal user with a normal computer.

The way Cardano wants to solve this problem is by implementing a simple philosophy, “Not everyone needs all the data.”

 

E.g. if Alice and Bob engage in a transaction, it may not be relevant to anyone else in the network. The only thing they need to know is that the transaction happened and that it was legitimate.


The techniques that Cardano is looking into are:

  • Pruning.
  • Subscriptions
  • Compression.

If they are applied synergistically, then it may actually substantially reduce the amount of data that a user needs to have.

Along with this, there is also the concept of Partitioning. What that actually means is that instead of having a whole blockchain, a user can simply have a chunk of the blockchain and greatly reduce the amount of data they need to store. Which they are hoping to do via sidechains (more on this later).

Cardano’s aim here is to use all this information to compress the data that the users need to consume without compromising on security or the assurances that their transactions have gone through properly. Research on this has started in the University of Edinburgh.

 

Element #2: Interoperability

 

Now we have seen how the Scalability side of Cardano works, we now come to the second pillar: Interoperability. The long and short of interoperability is, as Charles Hoskinson puts it, there won’t be one token to rule them all.

Let’s look at the current ecosystem. In the cryptosphere, we have different crypto coins such as Bitcoin, Ethereum, Litecoin etc. Similarly, in the legacy financial world, we have systems like the traditional Banks which use SWIFT, ACH etc.

The problem lies in the fact that it is extremely difficult for these individual entities to communicate with one another. It is tough for bitcoin to know what is going on in Ethereum and vice-versa. This becomes doubly difficult when banks try to communicate with the cryptos.

This is why, the crypto exchanges, which provide a portal between cryptos and banks become so powerful and important. However, there in itself lies a problem. Exchanges are not a decentralized entity and are extremely vulnerable.

 

  • They can get hacked.
  • They can blackout for long periods for system upgradation. This is basically what happened to Binance recently.

 

Plus, there is another area where this miscommunication between the legacy world and the crypto world can lead to a disastrous result: ICOs.

In ICOs, an entity gets millions of dollars in exchange for their tokens, however, saving that money in their bank accounts can become difficult. The banks would obviously want to know where all that money came from and who were the ones who provided that money which is something that is near impossible to provide.

 

A more elegant and risk-free solution to interoperability was needed.

 

A third-generation crypto coin must provide an ecosystem where each individual blockchain can communicate with another blockchain and with external legacy financial systems.

So, let’s looks at how Cardano plans to do increase interoperability in both the crypto world and the legacy world.

 

The Crypto World: Inter-Chain Communication and SideChains

 

Cardano’s vision is to create an “internet of blockchains”. Imagine an ecosystem where Bitcoin can flow into Ethereum and Ripple can seamlessly flow into Litecoin without the need to go through centralized exchanges. This is why cross-chain transfers are something that Cardano wants to implement without any middlemen

 

One way that Cardano wants to do this is by implementing sidechains.

Sidechain as a concept has been in the crypto circles for quite some time now. The idea is very straightforward; you have a parallel chain which runs along with the main chain. The side chain will be attached to the main chain via a two-way peg.

Cardano will support sidechains based on the research by Kiayias, Miller, and Zindros (KMZ) involving “non-interactive proofs of proofs of work”.

According to Hoskinson, the idea of sidechains comes from two things:

 

  • Getting a compressed version of a blockchain.
  • Creating interoperability between chains.

 

The Legacy World: Bridging the Gap

When it comes to increasing the interoperability with the legacy world, Cardano wants to focus on the three obstacles that make the crypto world incompatible with the legacy world:

 

  • Metadata.
  • Attribution.
  • Compliance.

 

Obstacle #1: Metadata

 

Metadata means the story behind the transaction.

If Alice were to spend 50 USD, the metadata of that could be as follows:

 

  • What did Alice spend the money on?
  • Who did Alice give that money to?
  • Where did she spend the money?

 

While that is not that well planned out in the cryptocurrency space, it is extremely essential in the legacy banking world. In fact, this is one of the main reasons why most entities struggle post ICOs. They simply don’t have the metadata required to provide the banks.

In the legacy world, the metadata is extremely important. Here are the purposes that it serves:

 

  • Resource discovery and identification.
  • Effective electronic data organization.
  • Tells us how data is exchanged among various systems and hence improves interoperability.
  • Very useful in resource protection. Helps identify the data’s characteristics and behavior for it to be replicated if needed.

 

However, the problem with metadata is that it is extremely personal and since the data is stored in the blockchain on a permanent and transparent basis, we have a situation where extremely private information can be permanently affixed to the blockchain.

 

One of the main things that Cardano is researching on is how to selectively attach metadata to the chain.

 

Obstacle #2: Attribution

 

Similar to metadata, via attribution the names of the people involved in the transactions gets known. Basically, who all are a particular transaction attributed to?

If the blockchain permanently fixes attribution to itself, it will greatly compromise on the privacy of the individuals involved.

 

Hence, Cardano plans to empower their users to hand out attribution as and when it is required.

 

Obstacle #3: Compliance

 

The third obstacle is “Compliance”.

Compliance includes factors like: KYC (Know Your Customer), AML (Anti Money Laundering), ATF (Anti Terrorist Financing) etc.

Compliance is used to check the legitimacy of a transaction. Basically, if Alice pays Bob $50, compliance is used to make sure that the transaction is not done for any nefarious purposes.

While the crypto world hasn’t really done much on this front, it is extremely critical in the banking world where the history and legitimacy of each transaction must be known.

 

What Cardano is researching on is how to use Metadata and Attribution in conjunction with Compliance to help their users whenever they need to interact with the banks.

 

Element #3: Sustainability

 

Finally, we come to the third pillar, sustainability.

According to Hoskinson, this is hands down the toughest one to solve. It basically means, how is Cardano planning to pay for its future development and growth?

Usually, when some development needs to be done in the system and grants are required, there are a couple of things that can happen:

 

However, both of them have an issue.

With patronage, you have the problem of a possible centralization. If a big company gives a huge amount of grant to a blockchain company, they may direct the way the developments turn out in the system.

With ICOs, it’s like a sudden jolt of money without any sustainable model and it adds a complete unnecessary token to the ecosystem.

Something different and more sustainable needs to be done.

In this sense, Cardano is planning to take inspiration from Dash and create a treasury.

 

How will the treasury work?

 

Every time a block is added to the chain, a part of that block reward will be added to the treasury.

So, if someone wants to develop and bring some changes to the ecosystem, they submit a ballot to the Treasury to ask for grants.

The stakeholders of the Cardano ecosystem then vote and decide if the ballot should be granted or not.

If they do, the ballot submitter gets the grant for development.

This system has a couple of major advantages:

 

  • The treasury keeps on filling up as more and more blocks are discovered.
  • It is directly proportional to the size of the network. Bigger the network, more the resources available and the voting system also becomes more decentralized.

 

However, there are some major obstacles in the way before this gets utilized.

 

  • A fair voting system needs to be established.
  • Voters should have an incentive to vote and participate in the system.
  • Everyone’s vote should have some value so that a “Tragedy of Commons” type situation doesn’t happen.
  • The process of submitting ballots should be easy and straightforward.
  • The entire process should be as decentralized as possible.

 

As of right now, Cardano has identified a system that they can possibly use, which combines liquid democracy with an incentivized treasury model.

 

Cardano: how does liquid democracy work?

 

It is a system that fluidly transitions between direct democracy and representative democracy.

What is Cardano Blockchain? Step-by-Step Guide

The process has the following features:

 

  • People can vote on their policies directly.
  • People can delegate their voting responsibilities to a delegate who can vote on their policies for them.
  • The delegates themselves can delegate their voting responsibilities to another delegate who can vote on their behalf. This property wherein a delegate can appoint their own delegate is called transitivity.
  • If a person, who has delegated their voting doesn’t like the vote that their delegates have chosen, then they can simply take back their vote and vote on the policy themselves.

 

So, what are the advantages of liquid democracy?

 

  • The opinion of each individual person counts and plays a part in the final policy creation.
  • In order to become a delegate, all that one needs to do is to win a person’s trust. They don’t need to spend millions of dollars on expensive election campaigns. Because of this, the barrier to entry is relatively low.
  • Because of the option to oscillate between direct and delegated democracy, minority groups can be more fairly represented.
  • Finally, it has a scalable model. Anyone who doesn’t have the time to vote on their policies can simply delegate their voting responsibilities.

 

Haskell and Plutus

Cardano’s coding is done in Haskell while their smart contracts will be coded in Plutus. To understand why that is such a unique approach, we need to understand some basics about programming languages.

When it comes to languages, they belong to two families:

 

  • Imperative
  • Functional.

 

Imperative Programming Languages

In an imperative approach, the coder needs to put down all the steps that the computer needs to take in order to reach a goal. All of our traditional programming languages like C++, Java and even Solidity are imperative programming languages. This kind of programming approach is also called algorithmic programming.

 

Let’s take an example of what we mean by that. Let’s look at C++. Suppose we want to add 5 and 3.

 

  • int a = 5;
  • int b = 3;
  • int c;
  • c= a + b;

 

So, as you can see, the addition process takes over multiple steps and each step is constantly changing the state of the program as they are all being executed in turn individually.

 

An addition process took four steps and the steps are:

 

  • Declaring an integer a and assigning the value 5 to it.
  • Declaring an integer b and assigning the value 3 to it.
  • Declaring an integer c.
  • Adding the values of and b and storing them in c.

 

Cardano Functional Programming Languages

 

The second family of programming languages is Functional languages. This style of programming was created to build a functional approach to problem-solving. This kind of approach is called declarative programming.

 

So, how does functional programming work?

 

Suppose there is a function f(x) that we want to use to calculate a function g(x) and then we want to use that to work with a function h(x). Instead of solving all of those in a sequence, we can simply club all of them together in a single function like this:

 

h(g(f(x)))

 

This makes the functional approach easier to reason mathematically. This is why functional programs are supposed to be a more secure approach to smart contract creation. This also aids in simpler Formal Verification which pretty much means that it is easier to mathematically prove what a program does and how it acts out. This gives Cardano its “High Assurance Code” property.

 

Let’s take a real-life example of this and see why it can become extremely critical and even life-saving in certain conditions.

 

Suppose, we are coding a program that controls air-traffic.

 

As you can imagine, coding such a system requires high degree of precision and accuracy. We can’t just blindly code something and hope for the best when people’s lives are at risk. In situations like these, we need a code that can be proven to work to a high degree of mathematical certainty.

 

This is precisely why the functional approach is so desirable.

And that is exactly what Cardano is using Haskell to code their ecosystem and Plutus for their smart contracts. Both Haskell and Plutus are functional languages.

How To Code A Decentralized Applications or Dapps

In this guide we will cover how to get started with How To Code A Decentralized Applications or Dapps and what are the things that you must cover when making one. Keep in mind that this field is constantly evolving and that it is always a good idea to keep refreshing your knowledge about whatever you learn.

Unless you are living under a rock, you’ve heard about blockchain technologies and how it is the next big thing to shape our lives and our futures. Blockchain lets us for the first time have a shared version of truth that is open, distributed and tamper proof in its nature. Blockchain has these properties because at the heart of it, it has a way to derive consensus (thereby having a shared version of truth) and also has cryptography baked into it by design (thereby letting us have a tamper proof record).

How To Code A Decentralized Applications or Dapps

 

Blockchain has a wide ranging set of applications and almost any field can benefit from having such a technology at its disposal. Blockchain is also heralded as a way by which trust can be ensured in the online world and lets us have greater confidence in the range of products and services that we use online.

However, it isn’t quite enough to know about the properties of blockchain and how it will impact the world around us. To get a thorough understanding of the blockchain it is essential to know how to interact with it programmatically and thinking about solutions from the software development aspect that we are used to. Developing applications on the blockchain is certainly something that is new and cutting edge –in fact, there is a new word to describe the type of applications that are powered by the blockchain. These are called Decentralized Applications or Dapps.

How To Code A Decentralized Applications or Dapps

Dapps are a new way about thinking about how we can go about writing applications for the internet. While previously we would have the backend code residing in a server or a set of servers, Dapps let us run web enabled applications where the back end is instead hosted on a blockchain network which executes the code that is needed for it.

What qualifies as a Dapp?

If you look online, the word Dapp is itself is not precisely defined and can come to mean different sets of things to different people. However, David Johnston has done work in formalizing the process of what a Dapp is and what its characteristics should be. The two main points that we would like to focus on is: Link: https://github.com/DavidJohnstonCEO/DecentralizedApplications/blob/master/README.md

  1. The application’s source code must be open sourced.
  2. The application’s data and records must be stored on a public blockchain.

 

 

How To Code A Decentralized Applications or Dapps

Image credits: https://medium.com/@codeAMT/how-to-launch-swarm-for-dapp-testing-8003e55380e2

Picking what to learn.  Decentralized Applications

As with any programming concept or idea, there are a wide range of platforms available to code on when talking about blockchain. While each platform has its pros and cons, it is important to also see how your application is structured so that you use the appropriate services at each of these stages.

As we are familiar with modern computing, it is important to have all the required components of a tech stack with their counter parts in the decentralized world. However, it is not trivial to find out and do research on each of the components. Thankfully, there is this handy info graphic that we can use to get a sense of the ecosystem:

How To Code A Decentralized Applications or Dapps

Image Source: https://medium.com/@FEhrsam/the-dapp-developer-stack-the-blockchain-industry-barometer-8d55ec1c7d4

As we can see, we have solutions for computing, file storage, API calls (external data), monetization and payments. In this guide we are mainly going to be focused on ethereum and how we can tackle the computing aspect of Dapps. Since computing is one of the most important aspects of building dapps, it makes sense to get familiar with interacting with smart contracts and then proceeding further.

Smart Contracts

Smart contracts are a term that was coined by Nick Szabo in 1994. Smart contracts and blockchain are closely linked – smart contracts are the programs that we write on the blockchain and let us interact with it. It is in a smart contract that we can define business logic and let us code the rules with which we want to interact with the blockchain. The most powerful feature of a smart contract is the fact that once it is deployed on to the blockchain, it is immutable and you cannot go back and edit the programs. This makes us embrace a paradigm where we a piece of code with the logic that we want in it will be immutable and can execute by itself when it is called. It is smart contracts that truly unleash the power of the blockchain and hence it is important to learn to develop smart contracts on the blockchain.

What are smart contract. A beginners guide

Ethereum: Decentralized Applications

Ethereum is probably the most popular blockchain platform that exists right now. They have had a public release for more than 3 years and it has a thriving community that maintains the project. They also have developed their own programming language called Solidity that lets us interact write smart contracts.

Ethereum has a public blockchain that lets people run code on and it one of the simplest way to start programming on the blockchain.

Gas and Gas Costs.

The Ethereum blockchain has a concept of Gas and Gas cost that is a very important to understand before you can start coding on it.

Gas is amount of fuel that you need to pay to get your transaction executed. The transaction could either be deploying your contract on the blockchain or can be running a function that already exists. Every time a function is called, there is some code that is executed. This code is executed on the computer of the person who is mining the transaction and requires computation power – to incentivize people to share their computational power and execute the transaction, each operation is charged some gas depending on the complexity of the transaction. The Gas in an ethereum smart contract can range all the way to 21 million. The gas that your transaction needs is multiplied by the gas cost to get the gas price.

Gas price is paid in ether and hence it is important to make sure that you have the correct balance in your account to deploy the contract on the blockchain. This is why instead of developing on the main network (which costs ether), we will run our code on a local instance of the ethereum virtual machine. Another interesting facet of this is that while coding, you would want to structure your program in a way that reduces your overall gas cost.

Get started with Solidity and Smart contracts.

How To Code A Decentralized Applications or Dapps

Image Credits: https://solidity.readthedocs.io/en/develop/

The ethereum foundation has released a cloud based IDE called Remix that is a simple way to get started. Simply go to http://remix.ethereum.org and you should be greeted with the following screen:

How To Code A Decentralized Applications or Dapps

The Remix default screen.

You see a screen on the left that lets you write code. The right hand side lets you deploy your code on the blockchain and lets you interact with the functions that you have written.

The simplest thing to do in any programming language is declare and write variables so lets see an example of how to do that: (Taken from – https://solidity.readthedocs.io/en/develop/introduction-to-smart-contracts.html)

 

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
pragma solidity ^0.4.0;

contract SimpleStorage {

   uint storedData;

   function set(uint x) {

       storedData = x;

   }

   function get() constant returns (uint retVal) {

       return storedData;

   }

}

 

Copy paste the following code on the code section in remix and then click on the deploy tab and click on create.

There are two functions – one that lets us set the variable value and one that lets us read it.

The first line of code tells us that we using a particular verison of Solidity. Contract SimpleStorage tells us the name of the contract and it helps us group code and logic into a single unit that can be referenced directly. The next line of the code declares a variable – storeData is of type uint.

The next two functions are simply getter and setter functions of the variable storeData.

Let’s take a minute to see what happens when we click on create. Every time you click on create, you are taking your Solidity based smart contract and deploying it on the blockchain. However, to simplify things and make it faster to develop applications, the blockchain that it deploys to is the ethereum virtual machine and resides in your browser and lets you interact with it. Since code once deployed cannot be changed, each time you have to make a change to your code, you have to redeploy it and test it out again.

How To Code A Decentralized Applications or Dapps

The console output that you see when you create the smart contract.

All you need to do is to deploy to the mainnet blockchain (the actual ethereum blockchain) is change the environment in the run tab and you should be able to write to the blockchain – keep in mind that interacting with the ethereum main-net will actually cost you money and every time you call a function or deploy a new contract, you have pay a gas cost in ethereum to make sure that your contract or function call gets mined and that you get your output.

Once you are up and running with Ethereum, you can read up the Solidity documentation to get yourself familiarized with the platform and its syntax. Solidity is fairly easy to learn and is very similar to javascript in its syntax. Let’s have a look at another Solidity example code to give a better feeling of what programming on it looks like. This one lets us conduct an open auction in a fair manner: (Taken from https://solidity.readthedocs.io/en/develop/solidity-by-example.html)

 

pragma solidity ^0.4.11;



contract SimpleAuction {

// Parameters of the auction. Times are either

// absolute unix timestamps (seconds since 1970-01-01)

// or time periods in seconds.

address public beneficiary;

uint public auctionEnd;



// Current state of the auction.

address public highestBidder;

uint public highestBid;



// Allowed withdrawals of previous bids

mapping(address => uint) pendingReturns;



// Set to true at the end, disallows any change

bool ended;



// Events that will be fired on changes.

event HighestBidIncreased(address bidder, uint amount);

event AuctionEnded(address winner, uint amount);



// The following is a so-called natspec comment,

// recognizable by the three slashes.

// It will be shown when the user is asked to

// confirm a transaction.



/// Create a simple auction with `_biddingTime`

/// seconds bidding time on behalf of the

/// beneficiary address `_beneficiary`.

function SimpleAuction(

uint _biddingTime,

address _beneficiary

) public {

beneficiary = _beneficiary;

auctionEnd = now + _biddingTime;

}



/// Bid on the auction with the value sent

/// together with this transaction.

/// The value will only be refunded if the

/// auction is not won.

function bid() public payable {

// No arguments are necessary, all

// information is already part of

// the transaction. The keyword payable

// is required for the function to

// be able to receive Ether.



// Revert the call if the bidding

// period is over.

require(now <= auctionEnd);



// If the bid is not higher, send the

// money back.

require(msg.value > highestBid);



if (highestBidder != 0) {

// Sending back the money by simply using

// highestBidder.send(highestBid) is a security risk

// because it could execute an untrusted contract.

// It is always safer to let the recipients

// withdraw their money themselves.

pendingReturns[highestBidder] += highestBid;

}

highestBidder = msg.sender;

highestBid = msg.value;

HighestBidIncreased(msg.sender, msg.value);

}



/// Withdraw a bid that was overbid.

function withdraw() public returns (bool) {

uint amount = pendingReturns[msg.sender];

if (amount > 0) {

// It is important to set this to zero because the recipient

// can call this function again as part of the receiving call

// before `send` returns.

pendingReturns[msg.sender] = 0;



if (!msg.sender.send(amount)) {

// No need to call throw here, just reset the amount owing

pendingReturns[msg.sender] = amount;

return false;

}

}

return true;

}



/// End the auction and send the highest bid

/// to the beneficiary.

function auctionEnd() public {

// It is a good guideline to structure functions that interact

// with other contracts (i.e. they call functions or send Ether)

// into three phases:

// 1. checking conditions

// 2. performing actions (potentially changing conditions)

// 3. interacting with other contracts

// If these phases are mixed up, the other contract could call

// back into the current contract and modify the state or cause

// effects (ether payout) to be performed multiple times.

// If functions called internally include interaction with external

// contracts, they also have to be considered interaction with

// external contracts.



// 1. Conditions

require(now >= auctionEnd); // auction did not yet end

require(!ended); // this function has already been called



// 2. Effects

ended = true;

AuctionEnded(highestBidder, highestBid);



// 3. Interaction

beneficiary.transfer(highestBid);

}

}

 

First, let us take this opportunity to also see the various datatypes that solidity gives us:

  1. Uint – unsigned int that can take only positive values.
  2. Address – a type that is created in ethereum that can store wallet addresses.
  3. Mapping – mappings are very useful to keep track of key value pairs. They are declared as mapping(_KeyType => _ValueType). If we make the KeyType as an address, we can keep track of certain information against a particular address.
  4. Bool – a boolean variable that can be ether true or false.

Let us also take time here to talk about Events and what they mean in solidity. Events let other programs (or even your own program) listen to this particular event on the blockchain and then react after it is executed. As soon as the event is fired, all the parameters that are called with the event are passed on the code that is listening to it and can do some additional operations on the code. This is very useful for Javascript callbacks that might be interacting with our Dapp.

Now let’s have a look at the code – we start off by declaring the date for end of the auction in Unix timestamp format. We also store the address and the bid of the highest bidder in address and uint format. We also have a mapping where we map the address of people to the amount that they bid and how much of that bid is left to withdraw. We have a Boolean variable to signal if the auction has ended or not.

Next we have the constructor – constructors in Solidity have the same name as the contract and have to be public in scope.  In this contract, we use to initialize the variables and set the ending date of the auction.

The next function in our code is bid() which is public and has the modifier called payable – payable is a modifier that lets solidity know that this function can send and receive ether.

The function first checks if the auction is still happening. This is done through the require statement that exits the function if the condition is false. The next condition we check if is the bid that we just sent is the highest current bidder – if it is not, then we do not need to do anything further.

If it is, we continue and store the address and value of the highest bid we also raise an event called HighestBidIncreasd so that anyone listening for this event can know and take appropriate action. The way we know the bid amount that was sent to this function (in the form of ether) is by accessing one the default variables that are available to use in Solidity. The one we use in this case is called msg.value and it tells us the value of ether that was sent to the function.

The next function we look at is called withdraw() and that basically checks the pendingReturns of that address by referencing the mapping with the address that is calling this function. Then we set the amount that the person owes as 0 and then send his bid back.

The last function we can look at is the auctionEnd() – this function denotes that the action has ended. We first check if this function has not been called before. Then we raise the event that the auction has ended and then we transfer the amount of the highest bidder to the beneficiary.

If you want, you can copy past this code in Remix and then run it. Make sure that you send different amounts of ether from different addresses and see what happens. You would want to test it out on Javascript VM – that is the easiest and quickest way.

The next step we are going to take now is to integrate our Code that we have written to perform the auction with our web application. The HTML aspect of the page is just normal HTML is nothing special.

 

How To Code A Decentralized Applications or Dapps

The HTML for the Auction app that we are making.

 

Web3

Web3 is the javascript library that we can include in our project to help us talk to the underlying contract and make calls to and from the ethereum blockchain. The web3 library is what interfaces between our web application and our server side code that is written on the blockchain via smart contracts.

How To Code A Decentralized Applications or Dapps

Image Credits: https://twitter.com/feindura/status/895291220657831936

How to integrate with Web3

You can install Web3 either via npm, meteor or just by including the javascript library that can be downloaded.

TestRPC.

A simple way to get started with interacting with the blockchain through our smart contract is to have a local instance of the blockchain running in your system. This way you can develop and checking things quite quickly and don’t need to worry about things like block confirmation timings. This local instance of the blockchain is called TestRPC.

The easiest way to get started with TestRPC is via npm. If you don’t know what npm is or don’t have it installed, you should install node.js for your operating system. Then in the command line type in:

https://www.npmjs.com/package/ethereumjs-testrpc

Once the command finishes, you can start testrpc by running the command:

testrpc

This is what your screen should look like after you have run this command:

How To Code A Decentralized Applications or Dapps

Running TestRPC on your computer

TestRPC not only sets up a private instance of a blockchain, but it also creates 10 default accounts for you and each of those have a balance of 100 ETH in them. As you can see, it quite favourable for testing out and does all the heavy lifting for you.

You can also connect your remix to the TestRPC so that your contracts are deployed on TestRPC instead of the javascript VM that remix provides.

The way to do that is to go to remix and then click on the Run tab on the right hand side. Then in the environment drop down click on Web3 Provider. It will then ask you if you want to connect to a node, after which it will show you localhost:8545 just click okay and you should be connected. If you got an error in this place, make sure that your URL is not https but http.

One that is done, you can click on the create button and your contract should be deployed on testRPC on your local system. Next, go to the complier tab and click on details and in the popup that comes, click on the copy button on the ABI section. Now we have the ABI for the contract with us. We also should copy the contract address and us that in the javascript code that is given below.

What is ABI ?

The best way to understand what an ABI is, is to compare with an API. Just like an API gives us the specifications that are needed to interact with an endpoint on the web, similarly, an ABI tells us the specifications that are needed to interact with the smart contract. It tells us of the various ways in which this contract can be called from an external source (like web3 in our case)

It is a combinations of knowing the ABI and knowing which address the contract is deployed that we can call our solidity powered smart contracts from a web interface.

if(typeof web3 != 'undefined'){
console.log("Using web3 detected from external source like Metamask")
this.web3 = new Web3(web3.currentProvider)
}else{
this.web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545"))
}

const MyContract = web3.eth.contract([here goes the ABI interface])

this.state.ContractInstance = MyContract.at("0x925d81c01d878899adbb7d38f84ce9d5284fa2e7")
}



The above piece of code lets you connect to the contract address and gives you an object through which you can interact with the contract and call a specific function.

yourContractInstance.bet(7, {
gas: 300000,
from: web3.eth.accounts[0],
value: web3.toWei(0.1, 'ether')
}, (err, result) => {
// Result is the transaction address of that function
})

 

Here we are calling our contract function with the value 7 and by setting certain default parameters that are needed.

We can call other methods of the contract as well and it is through this that  we have now connected with the TestRPC and are able to make calls to the contract via the Web3 API.

Now we can tie this up with the usual javascript or jquery events that we are used to. We can trigger to call the function on the click on the button or on some other event. What is important to note is that the only piece of backend code that our app is talking to is the Solidity based smart contracts hosted on our testRPC.

Now that we have replaced the computing part of our Dapp we have taken the first major step to building our own Dapp. Even if you are not particular about the other parts of a Dapp, you can actually host this online itself and it would be your first Dapp that is available to the public. The only major change that you will need to make before deploying this to point the web3 towards either of public test networks (Kovan Or Ropsten) and these you would have the re-deploy the contract on the new network.

Ethereum test nets that are available for testing. Source:

Hope with this you should be on your way to implementing your very first Dapp and get it talk to the blockchain for data and computing. The idea of blockchain and Dapp can be quite overwhelming; however, if one takes the time to understand the new paradigm and get a hang of it, developing and making Dapps should be a piece of cake.

Go ahead and decentralize.

Hypothetical Attacks on Cryptocurrencies

In this guide we are going to analyse various attacks that can happen to your cryptocurrency (mostly bitcoin). While it is true that most of the attacks we will talk about are purely hypothetical in nature, we have already seen real life examples of some of the attacks described here (Mt. Gox and Transaction malleability). Before we get started, a huge shout out to the “Game theory and Network attacks” video by “Blockchain at Berkley” for providing the inspiration for the article.

 

Hypothetical Attacks on Cryptocurrencies

Hypothetical Attacks on Cryptocurrencies

 

Note: We will be using these two terms a lot in the article below so let’s define it right now:

  • Orphan blocks aka orphans: Blocks that couldn’t get added to the main chain despite being successfully mined.
  • Hashrate: Basically means how powerful that miner’s computational resources are.

So without any further ado, let’s get started.

 

What are mining pools?

Before we get into the descriptions of various attacks, let’s understand what a mining pool is (in this section we will be talking exclusively wrt BTC). The entire blockchain works because of a network of “miners”. The miners basically “mine” for new blocks in the blockchain by solving complex cryptographical puzzles using their computational power. As a result of this, they get a mining reward which is 12.5 BTC.

Once they successfully mine a block, they gain the power to put in transactions inside the block. That’s basically how transactions happen in all cryptocurrency, a miner puts in the record of the transaction inside the block.

Now remember one thing, there are only a limited number of bitcoins that were created (21 million coins). Satoshi Nakamoto, the creator of bitcoins, envisaged that as more and more miners got in, the rate of bitcoin mining would exponentially increase, so much so that all the available bitcoins could be mined out in a couple of years!

Now, this could be a disaster for bitcoins, because like all economic commodities, the value of bitcoin lies in supply and demand. If the supply of bitcoins suddenly increases, then that would decrease the demand, which would in turn hurt its value. The supply-demand relationship is one of the most critical economic concepts, the following is what the supply-demand graph looks like:

Hypothetical Attacks on Cryptocurrencies

To prevent the supply of bitcoins from going out of hand and to make it a more sustainable model, Satoshi implemented a difficulty adjust system.

What is difficulty adjustment? As more and more blocks get mined, the difficulty of the cryptographic puzzles increase exponentially. Basically, the more bitcoins you mine out, the more difficulty the process of mining becomes. Miners soon found out that they can’t really mine efficiently by themselves anymore, the process was getting more and more expensive. So, they decided to pool their resources together and form cliques and groups to mine bitcoin more efficiently. These groups of miners are called “mining pools”.

 

Advantages and Disadvantages of mining pools

Advantages

  • The pools are run by pool managers. It is far easier to upgrade the overall network because instead of coordinating with random independent miners, the pool managers can simply upgrade the network by themselves.

 

  • Reduces variance in mining rewards:One of the biggest reasons why miners join pools is to reduce variance in their mining rewards. To understand what variance means and how that affects miners, we will need to do some mathematics. Credit to L.M. Goodman and her medium article for the explanation.First, let’s understand what Bernoulli distribution is. The Bernoulli distribution basically states that for every discrete distribution which has two outcomes “success” and “failure” if the probability of success is p (where, 0<p<1), then the probability of failure is  1-p.Now , let’s apply this in bitcoin. If a miner controls a fraction “p” of the overall mining power and as a result, has a probability p of mining a new block where 0<p<1, then, on applying Bernoulli’s distribution, he/she has the probability of (1-p) of NOT mining a new block.In Bernoulli’s distribution: variance = p*(1-p)Now, let’s see how many blocks are mined in a year.Every 10 mins, 1 block is mined. Which means each hour 6 blocks, every day 24 * 6 blocks and every year 365*24*6 blocks are mined.Basically, for a miner who has “p” probability of mining a block, is expected to mine 365*24*6*p blocks per year. That’s their expected return.

    Similarly, the overall standard variance that they are going to be facing the entire year is: 365*24*6*p*(1-p).

    Now, we shall define “standard deviation”. Standard deviation is a term which defines by how much are the members of a particular distributed group varying from the mean of the group.

In the context of the blockchain and this example, standard deviation is by how much is this miner’s reward going to be deviated from the expected reward.

Standard deviation = [sqrt]variance / expected return.

Now, as we know:

  • variance = 365*24*6*p*(1-p)
  • expected return = 365*24*6*p

So, on substituting these values we get:

  • Standard deviation = [sqrt] (365*24*6*p*(1-p)) / 365*24*6*p

Now let’s take an example.  Suppose a miner owns 0.01% of the hash rate in the network. (Meaning p=0.0001).

If you substitute the values accordingly to the standard deviation equation then you will get a standard deviation of 0.4364 OR 43.6%!! A 43.6% deviation from the expected reward or a miner who owns 0.01% hash rate.

The only solution to decrease this deviation and variance is to pool in resources to together to increase the overall hash rate percentage, which is exactly what mining pools offer.

Cons

  • A lot depends on the ethics of the pool manager.
  • Centralisation:The biggest criticism that most pools face is that they lead to centralization of coins. Let’s see what we mean by that. Checkout the hashrate distribution of bitcoin:Hypothetical Attacks on CryptocurrenciesImage courtesy: Blockchain.info~50% of the world’s bitcoin supply is being mined by 4 pools!! Just 4!Bitcoin is supposed to be a decentralized currency, but how decentralized can it really be if nearly half of it is controlled by 4 pools?Unfortunately, this is not a problem exclusive to Bitcoin, checkout the hashrate distribution chart of Monero:Hypothetical Attacks on Cryptocurrencies
    Image Courtesy: Monero Hash.

    In Monero 42.6% of the supply is controlled by 1 unknown group!!

    When a pool overwhelmingly takes in more and more stake in the hashrate distribution chart, they defeat the purpose of decentralization. We have already seen how important miners are in the context of a blockchain. When a group of miners control so much hashrate, they tend to become the central authority themselves. In fact, when a group of miners take over 51% of the network’s hashrate, they automatically initiate an attack called the “The 51% attack”.

 

What is the 51% attack?

The 51% attack happens when the 51% of the network’s hashrate is under one entity. That entity could be a mining pool or an authority figure. The moment 51% of the hashrate is under siege, it basically destroys the decentralized nature and opens up the network to a plethora of attacks:

  • Selfish mining.
  • Cancelling all transactions.
  • Double Spending.
  • Random forks.

Now, before we go through each of those attacks let’s see how and when can a 51% attack happen.

 

Case 1: A mining pool becomes too big

The most common form of 51% attacks can happen when a mining pool becomes too big and gets more than 51% hashrate. In fact, this has already happened with bitcoin once before. In July 2014, the popular mining pool GHash.io passed 51% hashrate. They then voluntary cut themselves down and explicitly stated that they would never pass 39.99% hashrate.

In August 2016, Krypton and Shift which are two blockchains based on Ethereum, suffered 51% attacks.

 

Case 2: Having limitless capital

 

A powerful entity with limitless capital (like a country or a billionaire) can buy enough equipment to take over the a blockchain. Another interesting variation of this is a “Gold finger attack”.

Picturize this, suppose you are a hostile entity and you have limitless capital at your disposal. You can, in theory, buy all the ASICs and GPUs required to initiate a 51% takeover of the chain. You can then proceed to destroy the value of the coin by either initiating double spends or by bloating up the chain with spam transactions.

Case 3: The proof of work takeover problem

 

Now this, is a very interesting and diabolical scenario. Vitalik Buterin gave a great example of this by showing how the takeover problem can happen in Ethereum.

Suppose, someone makes a hypothetical smart contract for an activity. The terms of the contract go like this:

  • Any miner can join the activity by sending a very large deposit into the contract.
  • The miners must send shares of the partially completed blocks that they have mined into the contract and the contract verifies it and also verifies that you are a miner and that you have sufficient hash power.
  • Before 60% of the miners in the system join you can leave anytime you want.
  • After 60% of the miners join you will be bound to the contract until the 20 blocks have been added to the hardfork chain aka the red chain.

Hypothetical Attacks on Cryptocurrencies

Not only will the new chain grow bigger and longer, since 60% of the entire miners are bound contractually into this new chain this will quickly make the original older chain aka the blue chain irrelevant.

Now, you might be asking why will miners join in a takeover?

Well, let’s see their incentive for joining:

  • Possible reward at the end.
  • No risk of joining on their part.

 

What is their incentive to follow through with the contract?

  • The huge amount they have deposited in the beginning.
  • Once again, the possibility of a great reward.

 

So, these in nutshell are certain examples of how 51% hashrate can be taken over by one entity. Now, let’s see the repercussions of such an attack.

 

What are the repercussions of a 51% attack?

As discussed above, the 4 main attacks that can happen directly as a result of the 51% attack are:

  • Selfish mining.
  • Cancelling transactions.
  • Double Spending.
  • Random forks.

 

Selfish Mining

When an entity does manage to get over 51% of the hashing power, the computational advantage that they have over their competitors is truly staggering. Like we have discussed before, miners mine for coins by discovering and adding blocks to the blockchain. The way this happens is that they solve extremely complicated cryptographic puzzles. On discovering the block, the entire network (or at least a majority) needs to acknowledge that it fulfills the necessary proof of work criterion, and then it becomes part of the main chain.

Now, suppose Alice and Bob are two miners. There is a chance that both of them solve the puzzle at the same time for both of their respective blocks. After that, it is all about who the network chooses and agrees to mine on. Eg. If 80% of the network chooses to mine on Alice’s block, then there is a higher chance of them coming up with the next block than the 20% who is siding with Bob (due to the higher hash rate). When this happens, Alice’s block will become part of the chain while Bob’s becomes an orphan block (a block not attached to the main chain).

Now think of this. Suppose Bob has 51% of the hash rate in Bitcoin at his disposal. He can simply mine for blocks and keep mining on top of it without waiting for the network’s approval because he himself represents the majority (since he possesses 51% of the hash rate). So he can simply keep on mining on top of his blocks without bothering to let the network know and collect all the reward and transaction fees.

 

Cancelling Transactions

 

How do transactions happen in cryptocurrencies? Long story short, if Alice were to send 1 BTC to Bob, then Alice will have to send the transaction after signing it to the miners, who can then verify and put it in their blocks. That way Bob can then get his 1 BTC. Now if bitcoin were under 51% attack then the chances are that majority of the blocks will be mined by the attacker. In cases like that, it will be entirely feasible for the attacker to not accept any transactions to any of their blocks (which could be all the future blocks in the chain). If this were to happen it will destroy bitcoin.

 

Double Spending

 

One of the many important roles that miners have is the prevention of “double spending”. Double spending basically means spending the exact same coin on more than one transactions at the same time. This problem is circumnavigated because of miners. In a blockchain, transactions happen only when miners put the transactions in the blocks that they have mined.

So suppose, Alice were to send 1 bitcoin to Bob and then she sends the same coin to Charlie, the miners would put in one transaction inside the block and, in the process, overwrite the other one, preventing double spending in the process. However, this only works when the miners are not compromised.

In a 51% attack, the miners have already been compromised. As has be stated earlier, in a 51% attack the attacker will most likely be the one adding new blocks to the blockchain. They can then initiate a double spend wherein they can spend the same coin to do more than one transactions.

This attack is generally done to devalue a coin. Like mentioned above, a hostile entity can initiate a “Gold Finger” attack to double spend the coin indiscriminately and destroy its value. Double spending can also happen via “forking”.

 

Random Forks

 

So, what is a fork?

A fork is a condition whereby the state of the blockchain diverges into chains where a part of the network has a different perspective on the history of transactions than a different part of the network. That is basically what a fork is, it is a divergence in the perspective of the state of the blockchain.

Hypothetical Attacks on Cryptocurrencies

In the example above the red chain is a fork from the main blue chain.

So, why would a currency like bitcoin, under 51% attack, would want to fork from the main chain? Suppose the attacker has spent 20 BTC in block 51 to buy 400 Ethereum (hypothetical scenario). They can then simply do a fork in block 50 to go to block 51. When you fork, you will get the exact amount of currency that you had in the block before in the newly forked block. Basically, if the attacker had 20 BTC in block 50, in blue block 51 they would have 400 ETH and in the red block 51 they would still have 20 BTC.

So, post fork, they would still have their 20 BTC and an additional 400 ETH! This is the double spending that happens via forking.

There is another interesting scenario where an attacker may choose to fork. Remember, like we said, under 51% attack most, if not all, the blocks would be mined by the attacker themselves? What will happen, if by some dumb luck, some random miner does manage to create a new block? Well, the attacker will simply fork the chain prior to this new block and continue mining on the new chain anyway!

Now, you may be thinking, what is going to make the rest of the 49% go along in the new chain? The answer to that lies in co-ordination game. Remember, most of the 49% miners will be spread out and independent. They will want to look for their own self-interests. So, in this context we look at game theory, in particular co-ordination game, for answers.

 

Let’s take an example of the co-ordination game:

 

Suppose we want to change the language to a symbol based language. Eg:

  • Original statement: “Give me your number?”
  • New statement: “#?”

If only you speak using this language, it will be a failure because the majority won’t understand what you are talking about and you will be shunned from conversations aka the payoff for you is very low and you have no incentive to change.

However, if the majority of your society shifts to this language and use it exclusively, you will have to change your language otherwise you will never be able to fit in. Now the incentive for you to join is high.

Use the same logic here. The majority of the hash rate is already in the forked chain. You being the independent miner would want to be in the same chain as the majority.

How likely is it that bitcoin could be susceptible to a 51% attack?

Like we have mentioned before, bitcoin did face this scenario once when the Ghash pool exceeded 51%, however the likelihood of that happening is small right now. For an attacker to initiate a 51% attack, the incentives (initially) are very low. The amount of capital required to do a 51% on bitcoin is staggering. Actually, in cases like these, the market price of bitcoin is a great shield. The higher the market price, the more hashing power gets paid for, and the more expensive an attack becomes since resource sourcing gets more expensive.

Now let’s look at more ways that the blockchain could be attacked which have nothing to do with the 51% attack. Remember, most of these examples are purely hypothetical in nature, so don’t go off sounding the alarm bells!

 

What is “Cannibalizing pools”?

 

Let’s do a thought experiment.

Suppose, the total hashrate of bitcoin is 100 of which 30 is yours. You effectively have 30% hashrate. Now, suppose the mining reward is 1 BTC, which means, given that you have 30% hash rate you are also expected to get 30% of the mining reward which is: 0.3 BTC.

Now, you have two options:

Option 1: You buy more mining equipment

 

Suppose you buy mining equipment which increases yours and the network’s hashrate by 1.

Which means, originally we had assumed that the network’s hashrate to be 100 and your hashrate to be 30.

Now the network’s hashrate is 101 and yours 31 which means your own 31/101 *100 = 30.69% of the network hashrate. So that also means that you get 30.69% of the mining reward, which is 0.3069 BTC. So, this means, for every 1% HR that you add to your arsenal, you get a 0.0069 BTC gain (0.3069 – 0.3000).

 

Option 2: You cannibalize the pool

 

So, in the previous example, you added 1% hashrate to your own arsenal, what if you were to distribute that hashrate equally among all the miners and you withhold all the valid blocks you mine as well? We will expand on “block withholding” later, but to just give you a brief idea, it basically means that you mine a block but you don’t reveal it to the network and just keep it to yourself.

 

Let’s look at the mathematics behind it now:

If we take away your 30% hashrate (since you are withholding your blocks, you won’t be getting any rewards via your own hashrates), the rest of the network in total had 70% hashrate.

Which means, normally they get 70% of the block reward which is, in this case, 70% of 1 BTC = 0.7 BTC. But now, since you have distributed that extra 1% hashrate with the rest of the miners, this is how things looks like now:

  • Total hashrate excluding your share = 71.
  • Honest hashrate = 70.
  • Dishonest hashrate = 1.

Since you own 1/71 of all other hashrate, you get:

1/71*0.7 = 0.0098 BTC revenue from the work that other miners have been doing.

Now, let’s compare the two. If you were to do honest mining you get 0.0069 BTC, and if you were to be dishonest then you get 0.0098 BTC. So, it is more profitable to cannibalize pools than to be honest!

 

What is Block Withholding?

Block withholding is another form of selfish mining.  Imagine this scenario, you are a miner in the bitcoin network who uses the most sophisticated and greatest ASICs. Mining blocks is a very easy task for you.

So, suppose you mine a bock, but you don’t reveal it to the network. Instead of announcing to the network and collecting your reward, you keep the block a secret and mine on top of that block. This is what that looks like:

Hypothetical Attacks on Cryptocurrencies

Image courtesy: Blockchain at Berkley

 

The “secret blocks” are the ones that you have mined and withhold from the rest of the network. When you do find another block, you can reveal the two blocks to the network. What this will do is the following:

  • Double the reward that you could have collected.
  • Be the block dictators in two blocks instead of one and hence double the amount you can earn via transaction fees.

The reason why it is called “selfish”, is because you are going against the very idea of “equal opportunity for all” that mining stands for. Everyone must have a fair shake at mining and discovering their own blocks. Plus, this can also lead to network monopolization.

Anyway, there are two ways that this can pan out:

 

Scenario #1: A miner mines a block after you have already mined two blocks

So, what happens if a miner managed to mine a block after you have already mined 2 blocks in secret? You will both broadcast the information to the network. The network will see that you have the longer chain and will give your blocks the nod over the other solitary block. Which means that that block will be orphaned:

Hypothetical Attacks on Cryptocurrencies

Image courtesy: Blockchain at Berkley

 

Scenario #2: A miner mines a block before you could mine a second block

What will happen if you weren’t able to mine a second block over your first one and someone was already able to mine a block?

Hypothetical Attacks on Cryptocurrencies

You will both broadcast this to the network and instigate a race for approval.

However, the thing is that you still have 50% probability of getting your block approved which are still good odds to work with.

 

What is P+Epsilon Attack

 

A proof of work system is vulnerable to a particular type of attack called the “P+ epsilon attack”. In order to understand how this attack works we must define some terms before hand. Un-Coordinated Choice Model: An uncoordinated choice model is a model where all the participants don’t have the incentive to work with one another. The participants may form groups but at no time is the group big enough to become a majority.

Coordinated choice model:  This is a model where all the participants coordinate because of a common incentive.

Now it is assumed that the blockchain is an uncoordinated model, but what if there is an incentive for the miners to do an action which goes against the integrity of the blockchain? What if there is a bribe involved to make the miners take a particular action? This is where the bribing attacker model comes in.

What is the bribing attacker model?

Imagine an uncoordinated model. Now what if an attacker enters the system and incentivizes the miners to coordinate with each other after giving them a bribe? This new model is called a bribing attacker model. In order to successfully bribe the system, the attacker must have two resources:

  • Budget: The total amount of money that the attacker has that they are willing to pay to make the miners take a particular action.
  • Cost: The price that the miner actually ends up paying.

 

However, if an attacker does decide to attack the blockchain, we arrive in an interesting conundrum… and this is where the “p + epsilon attack” comes in. For reference check out this table:

Hypothetical Attacks on Cryptocurrencies

Image courtesy: Vitalik Buterin Presentation.

Imagine a simple scenario such as an election. If the people vote for a particular person if they vote the same way everyone is voting, then they get a payoff but otherwise they don’t. Now imagine, that a briber enters the system and lays down this condition to an individual. If you vote AND the others don’t vote, then you will get a payoff of “P + ε”. The usual payoff AND an extra bribe of ε on top of that.

 

So now, the payoff matrix looks like this:

Hypothetical Attacks on Cryptocurrencies

Image courtesy: Vitalik Buterin Presentation.

 

Now imagine this scenario, everyone involved in this scenario gets to know that if they vote anyway, then there is a chance that they may get a payoff, but if they don’t vote then there is a 50-50 chance of them getting a payoff.

What do you think the players will do then? Of course they are going to vote to get a guaranteed payoff. Now this is where things get interesting. As can be seen in the matrix, the briber only has to pay the bribe “ε” when only person votes while the others don’t. However, in this situation since everyone is voting, the Nash equilibrium shifts to:

Hypothetical Attacks on Cryptocurrencies

That’s right, the briber didn’t even need to pay the bribe!

So, let’s approach this problem from the POV of the briber:

  • Convince the group to vote a particular way.
  • Achieve the goal without even having to pay the bribe.

It is a huge win-win scenario for the briber and this has heavy implication on the blockchain especially in a proof-of-work system. Let’s checkout our old hypothetical blockchain again:

Hypothetical Attacks on Cryptocurrencies

Suppose the briber really wants the chain to hardfork and declares that a group of miner who opts to join the new chain will get a bribe of ε, this will incentivize the entire miner community to coordinate and join the new chain.

Obviously the bribe has to be extremely high for something like this to happen, but as we have seen in the briber attacker model above, the attacker won’t even need to pay the said amount. According to Vitalik Buterin this is one of the biggest problems of the proof of work system, its vulnerability to the P + epsilon attack.

 

The solution lies in proof of stake.

 

The solution to this form of incentive driven attack lies in proof of stake. In this system, the miners have to put up a portion of their personal fortune and invest it in future blocks. As an economic system, this is much better because the punishment in it is way more severe. Instead of having their rights taken and getting away with a “tap to their knuckles”, miners now face the very real possibility of their stake and fortune being taken away.

So, how does this help in preventing P + epsilon attacks? Put yourselves in a miner’s shoes. You have a part of your fortune invested inside a block which is to be added in the main chain. Now a briber comes and tells you that you can get an extra payoff if you make your block join the main chain. BUT, if the chain doesn’t get approved then there is a huge risk of you losing all the money that you have invested in the block. Plus, as the P + Epsilon attack states, you won’t even get the extra payoff from the bribe. For a miner, once that they have invested a stake, it is a no brainer for them to continue in the main chain and not to get involved in any malicious activities.

 

What is a blacklisting?

Blacklisting is a form of attack against a single entity. Imagine that there is a very prominent entity who has a lot of capital and they have it out for this guy named Jake and they want to blacklist them from the network. In fact, let’s assume that this entity is a country who has a lot of pools in their control, let’s called this country Aliceland.

Before we continue let’s create a legend:

Hypothetical Attacks on Cryptocurrencies

 

 

This is what a normal block looks like:

This is what blocks mined by Aliceland looks like:

And this is what blocks which include Jake’s transactions aka Jake blocks look like:

Ok, so there are two ways that Aliceland can blacklist Jake:

  • Punitive forking.
  • Feather forking.

 

Case #1: Punitive Forking

There are two different strategies that you can execute via punitive forking.

 

Strategy 1:

Since Aliceland is a country, it can simply order all of its pools to not include any transactions by Jake in their blocks.  Now this is a naive strategy because for it to work there are a lot of things that they will need to consider.

Firstly, they will need to be in control of the 100% of the pools in their country. If even one pool is outside their control, then they may include Jake’s transaction in their block. The maximum that they can achieve by doing this is cause loads of delays and inconveniences.

 

Strategy 2:

Now what if, Aliceland wants to do punitive forking AND owns >51% of the world’s mining power? This is when the equation completely flips on its head. This is what they will have to do.

Firstly, they will announce to the world that they won’t be allowing any transaction which include Jake in the blockchain anymore and that not a single one of their pools will work on a chain which has a “Jake Block” in it. In other words, the moment a Jake block appears, Aliceland will initiate a fork.

 

Suppose this is what the blockchain looks like:

Hypothetical Attacks on Cryptocurrencies

Now, imagine one of the miners outside Aliceland’s control adds Jake’s transaction into their block and creates a Jake block:

Aliceland on seeing this will immediately initiates a fork. Since they already have a 51% majority they can initiate the fork without any consensus from anyone else.

Since they have already announced their intentions beforehand and because they own the 51% majority, no one will dare to go against them and even if they do rebel and include a Jake block, they will be forced to orphan it because Aliceland can simply use their majority to fork and continue.

 

Case #2: Feather Forking

 

So, we have seen above how anyone with a 51% majority can backlist anyone using punitive forking. Now, what can you do if you want to blacklist someone but you don’t own a 51% majority? Aliceland can actually still blacklist poor old Jake by a method called feather forking. Let’s see what that means.

Aliceland can declare that whenever a Jake block is added, they will attempt to fork, but give up after a certain number of confirmations (Confirmations = the number of blocks mined on top of the contested block). This is different from punitive forking in the sense that Aliceland is not threatening a permanent fork, they are instead saying that they will fork every time BUT will also come back after a certain number of confirmations.

Let’s see an example:

Hypothetical Attacks on Cryptocurrencies

So what happened here?

When the Jake block got added to the system, Aliceland did a fork and waited for a confirmation. In this case, the confirmation was 1 block. The moment that block got appended to the Jake block, Aliceland vacated the fork and joined the main chain again.

Now you might be thinking, “That’s not that bad.” But let’s look into the mathematics of the whole thing.

Suppose Aliceland has “q” hashing power where 0<q<1.

Then, going by Bernoulli’s distribution, the chance of mining a block and forking is q^2.

Going by our example, we will assume that Aliceland is waiting for only 1 confirmation.

Suppose, Aliceland has 20% of the world’s hashing power, so q = 0.2 and the chance of mining a block is 0.2^2 = 0.04 = 4%.

4% chance may not seem that high, but the other miners are now aware that there is a 4% chance of their blocks getting orphaned IF they do include Jake blocks.

So, what is the expected value (EV) that the miners can get IF they include/don’t include Jake blocks?

  • EV (including Jake block) = (1-q^2)*block reward + Jake transaction fees.
  • EV(not including Jake block) = Block Reward.

So, for the miners to get equal EV from both the scenarios, Jake will have to pay transaction fees which are equivalent to q^2*block reward. Let’s see how much that is in context of bitcoin.

Block reward = 12.5 btc and in this example q^2 = .04.

Substituting the values in this equation:

 

  • q^2*block reward
  • And we get: .04*12.5 = 0.5 BTC.
  • 0.5 BTC,as of writing, is equal to $2091.

That’s how much Jake will have to pay in transaction fees EVERY single time to make it worthwhile for the miners to put in a Jake block to the main chain. Not the most convenient of scenarios to say the least!

What is transaction malleability?

Let’s start off with a brief overview of what a hashing function does. A hashing function can take in any input of any length but the output it gives is always of a fixed length.

However, there is one another important function of hashing that you need to know to understand the “transaction malleability bug” as it is called. Any small change in the input data will drastically change the output hash.

Eg. Checkout this test that we did with SHA-256 aka the hashing algorithm used in bitcoin:

Hypothetical Attacks on Cryptocurrencies

 

We just changed “T” from uppercase to lowercase, and look at what it did to the output!

One more thing that you need to understand about the blockchain is that it is immutable, meaning, once the data has been inserted in a block, it can never ever be changed. While this proves a safety net against corruption, there was one weakness that nobody saw coming.

What if, the data was tampered with before it even entered the block? Even if people found out about it later on, there was nothing that anyone can do about it because data once entered in a block can never be taken out! That in essence is why malleability of transactions is such a problem.

Now, why does transaction malleability happen?

Turns out that the signature that goes along with the input data can be manipulated, which in turn can change the transaction ID. In fact, it can make it seem like the transaction didn’t even happen in the first place. Eg. Suppose you have a set of blocks which says “3+1 = 4” and then someone comes along and changes that to “2+2 = 4”, the outcome is still the same in both the cases “4”, but the inner transaction details have all been greatly muddied as a result.

Let’s see this in a blockchain related example.

Suppose Bob wants Alice to send him 3 BTC. Alice initiates a 3 BTC transaction to Bob’s public address and then sends it over to the miners for approval. While the transaction is waiting in the queue, Bob uses transaction malleability to alter Alice’s signature and change the transaction ID.

Now there is a chance that this tampered transaction will be approved before Alice’s gets approved, which in turn overwrites Alice’s transaction. When Bob gets his 3 BTC, he can simply tell Alice that he didn’t get the 3 BTC that she owed him. Alice will then see that her transaction didn’t go through and will them resend it. As a result, Bob will end up with 6 BTC instead of 3 BTC.

One of the most famous example of the transaction malleability attack was the 2014 Mt Gox attack. Mt. Gox was one of the biggest bitcoin exchanges in the world and around $450 million worth of bitcoins were stolen from it.

Now that bitcoin core has initiated Segwit, it is going to stop transaction malleability in BTC.

 

What is timejacking?

The last possible attack that we want to talk about is “timejacking”. The bitcoin system uses a network of nodes to relay messages and information. Every node needs to keep track of time AND it needs to be in synch with its other peer nodes. The way it does that is by keeping an internal clock system which happens to be same as the computed median clock time of all its peers. If this median time differs by more than 70 mins from its system time, then the internal clock readjusts and reverts to the system time.

So, as a precaution, and this is very important to understand wrt the attack, the nodes reject any block that are more than 120 mins ahead of its internal clock. Now suppose there is an attacker who wants to attack a particular target node. How will they go about it?

 

  • First, they launch a Sybill attack on the bitcoin network. A Sybill attack is an attack where an attacker has control over multiple nodes in the network, this can happen by spawning thousands of bogus nodes and attaching them to the network.By doing the attack, the attacker manipulates the time stamps of the nodes in such a way that the target node is 70 mins behind the clock while every other node is 70 mins ahead (Why 70? So that it is still under the 70 min limit and that the clock doesn’t revert). This basically creates a 140 mins gap between the target node and the rest of the network.

 

  • Now, the attacker, using their hashrate power mines a new block with a time stamp that is 190 mins ahead of the real time.

 

  • When this new block is broadcasted, the target node immediately rejects it since, according to them, it is not within the 120 min limit. For the target node, the block is (190+70), 260 mins behind.

 

  • However, every other node accepts the block because it is within the 120 mins limit (190-70 = 120) and the miners in all these other nodes start mining on it.

 

  • So, the attacker has now successfully partitioned the target node from the rest of the network. The target node starts working on their own chain while everybody else is working on theirs.

 

  • The attacker can now mine out more free blocks from the target node and engage in double spending. In fact, if they keep adjusting the timejack, they can keep it going indefinitely.

 

Timejacking is a very scary propositions. In fact, a group of a malicious miners can timejack a group of miners and take them out of the system and increase their hashrate percentage in the process.

 

Hypothetical Attacks on Cryptocurrencies Conclusion

So, that’s a list of possible attacks that can happen to cryptocurrencies. Keep in mind, these attacks, or at least most of them, are purely hypothetical in nature. The idea is to not increase paranoia; the idea is to educate everyone about cryptocurrency and the technology behind it. If you can think of a possible hypothetical attack that we haven’t mentioned yet, then do comment below and let us and everyone know.

The 6 Most Important Cryptocurrencies Other Than Bitcoin

Bitcoin has not just been a trendsetter, ushering in a wave of cryptocurrencies built on decentralized peer-to-peer network, it’s become the de facto standard for cryptocurrencies​. The currencies inspired by Bitcoin are collectively called altcoins and have tried to present themselves as modified or improved versions of Bitcoin. While some of these currencies are easier to mine than Bitcoin is, there are tradeoffs, including greater risk brought on by lesser liquidity, acceptance and value retention. Since Bitcoin prices are soaring new highs, we look at six cryptocurrencies, picked from over 700 (in no specific order) that could be worth your while. (Related reading, see: How Do Bitcoin Investors Combat Price Volatility?)

1) Litecoin (LTC)

Litecoin, launched in the year 2011, was among the initial cryptocurrencies following bitcoin and was often referred to as ‘silver to Bitcoin’s gold.’ It was created by Charlie Lee, a MIT graduate and former Google engineer. Litecoin is based on an open source global payment network that is not controlled by any central authority and uses “scrypt” as a proof of work, which can be decoded with the help of CPUs of consumer grade. Although Litecoin is like Bitcoin in many ways, it has a faster block generation rate and hence offers a faster transaction confirmation. Other than developers, there are a growing number of merchants who accept Litecoin.

2) Ethereum (ETH)

Launched in 2015, Ethereum is a decentralized software platform that enables Smart Contracts and Distributed Applications (ĐApps) to be built and run without any downtime, fraud, control or interference from a third party. During 2014, Ethereum had launched a pre-sale for ether which had received an overwhelming response. The applications on Ethereum are run on its platform-specific cryptographic token, ether. Ether is like a vehicle for moving around on the Ethereum platform, and is sought by mostly developers looking to develop and run applications inside Ethereum. According to Ethereum, it can be used to “codify, decentralize, secure and trade just about anything.” Following the attack on the DAO in 2016, Ethereum was split into Ethereum (ETH) and Ethereum Classic (ETC). Ethereum (ETH) has a market capitalization of $41.4 billion, second after Bitcoin among all cryptocurrencies. (Related reading: The First-Ever Ethereum IRA is a Game-Changer)

3) Zcash (ZEC)

Zcash, a decentralized and open-source cryptocurrency launched in the latter part of 2016, looks promising. “If Bitcoin is like http for money, Zcash is https,” is how Zcash defines itself. Zcash offers privacy and selective transparency of transactions. Thus, like https, Zcash claims to provide extra security or privacy where all transactions are recorded and published on a blockchain, but details such as the sender, recipient, and amount remain private. Zcash offers its users the choice of ‘shielded’ transactions, which allow for content to be encrypted using advanced cryptographic technique or zero-knowledge proof construction called a zk-SNARK developed by its team. (Related reading, see: What Is Zcash?)

4) Dash

Dash (originally known as Darkcoin) is a more secretive version of Bitcoin. Dash offers more anonymity as it works on a decentralized mastercode network that makes transactions almost untraceably. Launched in January 2014, Dash experienced an increasing fan following in a short span of time. This cryptocurrency was created and developed by Evan Duffield and can be mined using a CPU or GPU. In March 2015, ‘Darkcoin’ was rebranded to Dash, which stands for Digital Cash and operates under the ticker – DASH. The rebranding didn’t change any of its technological features such as Darksend, InstantX. (Related reading, see: Top Alternative Investments for Retirement)

5) Ripple (XRP)

Ripple is a real-time global settlement network that offers instant, certain and low-cost international payments. Ripple “enables banks to settle cross-border payments in real time, with end-to-end transparency, and at lower costs.” Released in 2012, Ripple currency has a market capitalization of $1.26 billion. Ripple’s consensus ledger — its method of conformation — doesn’t need mining, a feature that deviates from bitcoin and altcoins. Since Ripple’s structure doesn’t require mining, it reduces the usage of computing power, and minimizes network latency. Ripple believes that ‘distributing value is a powerful way to incentivize certain behaviors’ and thus currently plans to distribute XRP primarily “through business development deals, incentives to liquidity providers who offer tighter spreads for payments, and selling XRP to institutional buyers interested in investing in XRP.”

To learn more about investing in Cryptocurrencies like Ripple, enroll in Investopedia Academy.

6) Monero (XMR)

Monero is a secure, private and untraceable currency. This open source cryptocurrency was launched in April 2014 and soon spiked great interest among the cryptography community and enthusiasts. The development of this cryptocurrency is completely donation-based and community-driven. Monero has been launched with a strong focus on decentralization and scalability, and enables complete privacy by using a special technique called ‘ring signatures.’ With this technique, there appears a group of cryptographic signatures including at least one real participant – but since they all appear valid, the real one cannot be isolated.

The Bottom Line

Bitcoin continues to lead the pack of cryptocurrencies, in terms of market capitalization, user base and popularity. Nevertheless, virtual currencies such as Ethereum and Ripple which are being used more for enterprise solutions are becoming popular, while some altcoins are being endorsed for superior or advanced features vis-à-vis Bitcoins. Going by the current trend, cryptocurrencies are here to stay but how many of them will emerge leaders amid the growing competition within the space will only be revealed with time.

Read more: The Most Important Cryptocurrencies Other Than Bitcoin? | Investopedia https://www.investopedia.com/tech/most-important-cryptocurrencies-other-than-bitcoin/#ixzz59haGBzRE
Follow us: Investopedia on Facebook