Outsourcing gives you access to expertise with the latest technology trends and blockchain expertise is no exception. Discover the kinds of apps you can build with blockchain and what to look for in a software development partner when outsourcing blockchain app development.
The Type of Apps Where the Blockchain Algorithm Can Be Applied
You’ve probably heard about the music sharing app Napster that came online in 1999. A unique aspect of Napster was that it enabled sharing of music MP3 files using a peer-to-peer approach. That means if you downloaded a copy of a song’s MP3 file it came directly from another Napster user’s computer. But what does this have to do with blockchain?
Access the Globe with Accelerance
Download the 2018 Guide to Global Software Outsourcing Rates
Download the ebook
Blockchain is also a peer-to-peer technology. Unlike Napster, there’s no central authority managing the network or tracking the location of information and files in the purest definition of blockchain.
The main goal of blockchain is to maintain integrity in a purely distributed peer-to-peer system consisting of an unknown number of peers of unknown reliability and trustworthiness. A public and permissionless blockchain has no website to grant you an account or access to specific files. As a blockchain participant (or miner) you have access to read and write all information on the blockchain, as long as you play by the blockchain rules.
Fast forward from 1999 to 2019 and consider whether other popular online platforms like Uber and Airbnb that act as a central authority will be disintermediated by a blockchain-based upstart. Maybe!
The World Economic Forum published this useful Blockchain infographic to help you decide if your app is a good fit for a blockchain implementation.
In general, blockchain applications can:
- Manage and digitally transfer existing currencies such as dollars and euros more efficiently than banks and settlement organizations
- Use Bitcoin and other cryptocurrencies -- independent of any government or central bank
- Manage creation, ownership, and transfer of digital assets such as images, videos, music, books, event tickets - anything that has value or represents a physical item of value
- Prove your identity, authentication and authorization to access other systems
- Store, and verify digital documents or contracts and subsequent proof of ownership or transfer - such as real estate deeds and title searches
- Audit events and transactions of people or organizations in regulated industries - such as supply chain and sourcing of food products
- Calculate and collect taxes based on transactions on ownership - to reduce tax avoidance and eliminate unfair taxation.
- Create, distribute, and count digital voting ballots
- Create and store medical records
The Four Types of Blockchain Technology
Consider those last two bullet points about voting and medical records. Blockchain is public and permissionless, which means anyone with access to the blockchain can see the information that’s stored. To hide private information on a public blockchain requires a lot of additional cryptography (and computing work) on top of what is already included in the blockchain algorithm. It’s easier to store the private data in a private database without direct connection to the Internet. Therefore relaxing one or both of the core principles of blockchain—public and permissionless—leads to four types of blockchain and application examples.
Public vs. Private Blockchains2
How Much Blockchain Expertise Do You Need
The popularity of blockchain is growing rapidly since it was first described in 2008. However, the knowledge of and experience with blockchain is more limited. The good news is a blockchain development team requires only one or even just a part-time blockchain expert. The rest of the app will require fairly standard web, cloud and possibly mobile app development skills which are widely available from high quality software outsourcing companies around the world.
What To Look for In A Blockchain Development Partner
In addition to the important requirements of a successful track record with clients, ability to collaborate and a focus on software quality when selecting a software outsourcing partner, consider whether they have team members with one or more of these three technical areas of expertise:
Examples of how these technologies were used and ideally client reference should be provided.
Most of the blockchain expertise Accelerance is finding resides in our certified partners in Eastern Europe at this time. This is likely to change as the technology becomes more widespread globally.
What’s Next for Blockchain Apps
Scalability is becoming a critical issue as the number of transactions increase causing a corresponding increase in the consumption of resources (electricity and computing time) required for Proof of Work defined in the blockchain algorithm. Various blockchain scalability solutions have been proposed including:
- Segregated Witness or Segwit (for bitcoin only)
- Increasing the blockchain block size limit (controversial)
- Sharding uses a small subset of nodes (called a Shard), to validate every single transaction
- Proof of Stake consensus algorithm instead of Proof of Work
- Off-chain micropayments such as the Lightning Network or Raiden to make transactions faster in the blockchain
- And others…
A software outsourcing company experienced in blockchain should know about the scalability issue and be familiar with these proposed solutions.
Smart Contracts deliver more complex transactions than simply exchanging digital tokens for a product or service with added layers of information in transactions executed on a blockchain. Smart contracts are being used in logistics and supply chain management, insurance, banking and government. Blockchain-based smart contracts reduce the amount of human intervention required to automatically track delivery, exceptions and resolve issues.
Streeming Money delivers continuous funding through a streem (yes, it’s spelled with 2 E’s) and is measured in units of currency over time. Money is delivered by days, minutes or seconds. For example, employees can be paid in real time while they’re working. Or money can flow from a streem as controlled by a smart contract when products or services are confirmed to be delivered.
Finally, blockchain technologies can be combined with other emerging technologies such as machine learning and the Internet of Things (IoT). For example, a blockchain can authenticate data from IoT devices like sensors and surveillance cameras to prevent the data from being altered. It’s important to confirm expertise in these additional software technologies when selecting your software outsourcing partner.