BSV academy and application development concept

Application development with Bitcoin

Jul 13, 2022

Are you an application developer, a blockchain developer, or someone with little or no programming experience with Bitcoin looking to start developing on Bitcoin?
 
Our introductory course to Bitcoin Development course will help you understand how to use the different developer tools, APIs, and SDKs in order to build an application on top of Bitcoin SV.
 
To give you an idea of what to expect from this free, certificate course, curriculum creator, Evan Freeman offers you this course preview.
 
An introduction to application development on Bitcoin
 
Once you’ve completed our introduction to Bitcoin Theory course, you will have formed knowledge of the concepts discussed in the Bitcoin Whitepaper that are necessary to understand the Bitcoin protocol.
 
The focus of our introduction to Bitcoin Development course is not the Bitcoin protocol, but the set of application layer protocols which are built on top of the Bitcoin protocol to enable data and payment transactions. 
 
These protocols also enable a lot of backend application development using the Bitcoin ledger as the data store and more. Before we go to the protocol descriptions, let us see how Bitcoin and other protocols fit in the overall architecture of application development.
 
Architecture of Bitcoin application development
 
  • Internet abstraction model (TCP/IP and OSI Models)
  • Internet abstraction with Bitcoin protocol layer
  • Application layer protocols
Currently, the typical application infrastructure using the Internet follows either TCP/IP or the OSI Model of abstraction for network communication.
TCP/IP vs OSI models
TCP/IP vs OSI models
 
Both of these abstractions differ with each other in terms of how various components of infrastructure are looked at, with OSI being a more granular model where the application layer in TCP/IP is broken down into Application, Presentation and Session layers in OSI.

The same goes for the physical layer in TCP/IP, represented as the physical and data link layer in OSI. OSI Model is more of a logical/conceptual model which is not practically used for communication, whereas TCP/IP is used for establishing a connection and communicating through the network.

In comparison to this, when the Bitcoin network protocol is added in this picture, the impact is not just the changes it will bring to the way that the application layer will change, but it does stand to change all of the layers (transport, network and even physical). Bitcoin-based application development is typically referred to as Metanet in the graphic shown.
 
Metanet v/s TCP/IP network models
Metanet v/s TCP/IP network models
 
The name Metanet comes from a protocol which allows for building Internet applications using a large set of tools and abstraction of a protocol known as Metanet. This protocol envisions a graph structure built using Bitcoin transactions to underpin all applications and communication.

The vision of the Bitcoin world includes Metanet as a replacement of the Internet. In the current model, Bitcoin or as it is called, Metanet abstraction has Bitcoin included on the top of the transport layer, overlapping the application layer by moving some of the backend into Bitcoin infrastructure (data storage, payments etc.)

The role of the Bitcoin layer in Metanet

The Bitcoin layer performs following important tasks:
 
  • Timestamps data packets
  • Orders data packets
  • Generate proof of existence
  • Ensures immutability of records
  • Provide data layer
In future, with more adoption and advancement of infrastructure, the Bitcoin network will disrupt all of the layers of the TCP/IP model. The physical layer can be disrupted by a node-to-node specialised data link. The network layer could become a Bitcoin-specific network layer framework between nodes. And, TCP can be replaced by usage of Bitcoin transactions as a transport layer (transaction message formats can encapsulate data used at higher layers). All of this remains open for you to explore.

Application layers will have certain application layer protocols which will deal with reading and writing on the Bitcoin ledger. They will leverage data embedded in the Bitcoin transactions, use Bitcoin transactions as message formats, and value exchange using Bitcoin transactions.
 
Typical application architecture
 
SPV check and Merkle proof
Metanet Application using the Bitcoin blockchain for data repository and payment transactions
 
The graphic above shows what a typical application architecture would look like when it’s using a Bitcoin layer. Typically, there will be local storage persisted or transitory serving immediate application needs/calls. The blockchain based SPV check and Merkle proof will provide the much needed absolutely secure payment infrastructure that currently is not possible with the current internet.
 
Categories of Bitcoin application layer protocols
 
Going into the details of the application layer, Bitcoin has a set of protocols which help in various aspects for a Business to build their applications. Broadly speaking, the application layer protocols are classified into three main categories:
 
Bitcoin application layer protocols
 
  1. Data Protocols: will deal with reading and writing of data on the Bitcoin blockchain.
  2. Payment protocol: will deal with payment transactions and peer-to-peer payment networks built on Bitcoin.
  3. Token Protocol: will deal with creation and maintenance of tokens on the Bitcoin network.
An introductory course to Bitcoin development

If you sign up for our introduction to Bitcoin development course, you’ll get a chance to look into all of these protocols and do hands-on exercises on how to use these protocols.

Introduction to Bitcoin Development is focused on providing students with a solid understanding of the concepts and tools needed to start building applications using Bitcoin blockchain. Upon completion of this course, students will be awarded a Certificate 1.
 
To register for this free course, head over here.
Evan Freeman

Bitcoin Curriculum Specialist