BSV Academy’s new introductory course on Bitcoin Enterprise is aimed at C-Level executives seeking to build next-generation platforms using Bitcoin as a technology substrate, with a focus on making the topics more digestible and understandable to people new to the BSV ecosystem.
All modules are available from the start, and users are free to jump between topics and videos as they wish.
To give you an idea of what to expect from this free course, below is a preview covering what the Bitcoin network and protocol mean for privacy and identity.
The Bitcoin network
The Bitcoin network is the infrastructure that all network users (applications, services, and users) rely upon, with the nodes sitting connected at its core.
Nodes are defined as systems which gather and process transactions, time-stamping them into blocks through the process defined in section five of the Bitcoin white paper.
Driven by Bitcoin's game-changing economic incentives, the network spontaneously forms into a densely connected and highly robust small world network allowing the most capable nodes in the system to succeed in their roles as transaction validators by building blocks to extend the public ledger.
It is the role of these operators to use these highly capable, purpose-built machines to construct the blockchain at the core of the system as part of a competitive enterprise within which they compete in a rapidly repeating game.
The small world network
As the network grows, the nodes which demonstrate their capability to generate blocks reliably and honestly are incentivised to create a dense web of high-bandwidth connections to each other to ensure that they can both transmit and receive new transactions and block announcements in as close to real-time as possible.
This highly interconnected core at the centre of the network forms what is known as a 'small world network' and enables a level of hyper-awareness of the activities of other nodes. This collective awareness allows each node to show openly their intent regarding any particular transaction or block and is a major incentive in the development of the network's structure.
Importantly, within this small world network, nodes manage each other and their connections with each other. Only by building blocks using proof-of-work to win the right to add them to the chain can nodes enforce the network rules and policies by which transactions are accepted.
Despite a lack of central direction, this method of reaching consensus ensures that only the most honest and capable systems will benefit from investments in connectivity from their peers.
Robust in its unstructured simplicity
Thanks to the simple nature of Bitcoin's protocol and the very high density of connections at the network's core, the functionality of the system remains robust even under extreme modes of failure such as the loss of most nodes on the network. Thanks to Bitcoin's unbounded block size, the impact on users of the system in such a scenario is minimal.
Through proof-of-work, the network functions effectively without any centralised direction or leadership. Nodes all follow the same rules, and proof-of-work allows them to easily identify each other in what can be an otherwise chaotic and noisy environment.
Using this method of establishing capability and intent, nodes can collaborate easily and effectively openly and honestly. Node operators can reject the activity of any other node acting in a manner that is dishonest or otherwise breaks the network's established rules either as a group or individually. This gives operators a collective means of strongly disincentivising malicious or illegal behaviour.
Those interested in gaining a more in-depth understanding of the Bitcoin network are strongly encouraged to take the Introduction to Bitcoin Infrastructure course which covers the incentives and processes driving node operators to invest in enhancing the performance and capacity of the network’s infrastructure in detail.
The Bitcoin Satoshi Vision Node Client
The Bitcoin network is the infrastructure all network users (applications, services, and users) rely upon, with the nodes sitting tightly connected at its core.
A blockchain network's performance is only as good as its infrastructure and software. In the case of Bitcoin, the Bitcoin Satoshi Vision node client is used by the majority of node operators. This client is a direct descendant of the original Bitcoin node client released by Satoshi Nakamoto in 2009, and extensive efforts have been made to maximise scaling within the limits of its single server architecture.
The node client offers features such as Remote Procedure Call (RPC) functionality to broadcast and analyse transactions and analyse blocks and other network activity. The client has been optimised to focus on the utilities required to operate a node which is actively working to extend the blockchain by building blocks and performing proof-of-work, rather than as a wallet for network users to send and receive funds.
Teranode - The future of Bitcoin
The BSV Association also funds the development of the Teranode project which is a next-generation BSV node client. In stark contrast to Satoshi's original client which was built by a very small team with no funding, this project is fully funded and managed by a large team of highly experienced engineers, software developers and computer security professionals.
In addition, the team overseeing the project have the added advantage of years of working with and around Bitcoin to frame the design intent. Teranode's design leverages microservices to create a highly extensible cluster-based system.
It has become abundantly clear that demand for transaction validation and time stamping will continue to grow exponentially for many years, thus needing a strong plan for the future. The BSV Association has taken a leadership role in undertaking the development of next-generation node clients for node operators as we transition to a future where millions of transactions per second are submitted to the network.
The Teranode project is being designed to manage multi-terabyte-sized blocks which will allow the network to process tens of millions of transactions per second. A single terabyte block produced every ten minutes can contain up to four billion transactions, giving the network a daily capacity of over 500 billion transactions. This will allow BSV to accommodate more than just monetary transactions to support machine-to-machine data exchange, smart contracts, enterprise applications and more with ease.
Teranode has been designed to achieve linear increases in efficiency through both vertical and horizontal scaling. Efficiency in processing the billions of transactions that occur on the network can be increased by dedicating more powerful clustered machines that specialise in a specific aspect of building and validating blocks. This type of architecture also lends itself extremely well to modular services that can support enterprise applications with minimal overhead and cost.
The ability to scale any part of the node infrastructure horizontally across a compute cluster will ensure that the network's transaction processing capacity and ability to manage enterprise application demand can grow with the most rapacious demand.
The Protocol - simple, robust and unbounded
One of the most important aspects of Bitcoin is that its protocol is set in stone. As discussed on the previous page, this does not mean that the node client cannot be updated or otherwise customised, but it does mean that any node client being used on the network must be capable of validly interpreting and expressing the Bitcoin protocol.
As a foundational technology for tomorrow's financial products and services, it is of vital importance that people building on the Bitcoin protocol have certainty that the systems and software they produce today will continue to operate for many years into the future without having to worry that node client developers might decide to modify the protocol in such a way that those products and services cease to function.
This has been an issue in the past, and while changes were introduced into the protocol during its first 10 years, network node operators are much more aware of their responsibility as stewards of the system and have made a commitment to make no further changes to the protocol beyond those needed to restore it to its original functional capability.
What is the Bitcoin protocol?
Two message types comprise the Bitcoin protocol:
1. Block Headers
Block headers are just 80 bytes long and represent a node's proposal to the network for the extension of the ledger. To validate a block header, other nodes must first check the following:
- That it forms a new longest chain tip by building on the most recent previous block;
- That its timestamp is valid and within the allowed precision;
- That the difficulty target is correct;
- That its proof-of-work is valid - this simple check is done by double hashing the 80-byte header using the SHA256 algorithm and checking that the resultant value is below the difficulty target;
- That the transactions contained within the block are valid and that the Merkle tree whose root value is in the block represents a valid interpretation of recent events on the network.
These final checks involve ensuring each transaction in the block is valid and does not spend any previously spent inputs, and that a reconstruction of the complete Merkle tree generates the root hash which is contained in the block header.
Once these checks are complete, the node can accept the block as valid and begin building a new block that references this block as the highest valid chain tip.
The small size of block headers is an important aspect of the efficiency of using working blockchains, a concept we will cover in a later section.
Transactions are formatted using a flexible messaging protocol that can represent anything from extremely simple transfers to large and highly complex actions that consume and create hundreds, thousands or even millions of inputs and outputs.
Each transaction must reference one or more existing outpoints containing spendable satoshis on the Bitcoin ledger and generate one or more new outputs that place those satoshis into newly created scripts which can be consumed in future transactions.
The message format is simple, open and easily interpreted in software. There is no requirement for cryptographic signatures or other functions to be used unless those are required by the particular action being captured in the transaction. Each output generated within a transaction defines a predicate or 'puzzle' which locks the satoshis it contains into place.
To spend the satoshis, the user must provide a valid solution as a transaction input. The scripting language used within the Bitcoin protocol is highly flexible and can be used to capture and inscribe any requirements related to the activity generating the transactions.
Importantly, transactions are not necessarily limited to financial activity, and things like sensor data, user-selection information and much more can be captured in a transaction script. There are no protocol level limits on the size or complexity of transaction scripts. Potential application boundaries are defined only by the imagination of the people seeking to build their platforms on Bitcoin.
Bitcoin uses a proof-of-work system that requires nodes competing to extend the blockchain to solve a computationally demanding and energy-intensive puzzle as part of the block creation process.
Verifying the proof of the puzzle is the first thing that nodes do when they are validating a proposed block received from another node. While it takes a lot of computing power to find a valid proof-of-work solution, it is very quick and easy to check.
This system serves as a gating function by galvanising nodes to invest money in their block production systems, precipitating the formation of the small world network discussed previously.
It is very important that nodes who have invested in large and expensive hardware systems, and who have expended significant quantities of energy finding a block, have their newly found block validated and accepted as quickly as possible.
Every millisecond spent on the process of sharing and broadcasting that block represents time and energy spent competing with it, increasing the chance of a competing block being found and kicking off an orphan race in which only one node will win the reward while competitors waste their time and resources.
The proof-of-work mechanism is controlled by an algorithm which modulates the difficulty of the puzzle so that no matter how much computing power or energy is applied to the solution, the block discovery rate is kept as close to 10 minutes as possible.
This timeframe is important as it provides enough time between blocks to minimise the emergence of competing blocks (and the resultant orphans), while still allowing for a significant number of competing nodes to participate in the network.
Many competing blockchain networks have been created which have reduced the time causing a knock-on effect where miners end up losing a much higher number of blocks in orphan races. Some of these competing blockchain networks have even had to develop methods of compensating nodes for their losses to encourage them to continue participating in their system.
The efficiency of proof-of-work
While it may seem that proof-of-work is an inefficient system which consumes vast amounts of energy, this is not the full picture. Since the inception of the network, Bitcoin has distributed its base tokens of account (Satoshis) by including them as a block reward subsidy, with the intention of bootstrapping node operations.
As per the Bitcoin white paper, the block reward will eventually entirely transition to transaction fees. As this occurs, nodes will be incentivised to get as many transactions as possible inside each block; meaning the amount spent on proof-of-work per transaction must be a small part of the fees contributed to the block reward.
Furthermore, since the cost of finding a proof-of-work is decoupled from the cost of building and propagating blocks, as block sizes grow the system becomes more energy efficient - much more efficient than the current infrastructure.
This economic security is an important aspect of the network's stability and resilience to attack.
Privacy and identity
Satoshi had this to say about privacy and ownership. Note particularly the diagram showing the updated data visibility model using Bitcoin.
In this new model, all data committed to the ledger is public, however, thanks to Satoshi’s choices in picking his elliptic curve and signature algorithm, best-in-class encryption is possible.
Identity in this scenario is kept completely off-chain. The ability to read and write data on a particular part of the blockchain will be managed by the user’s device and will be dependent on the device having the keys needed.
This way, the user maintains control and gains the ability to assert their privacy across all their digital property.
Using this new system, highly manageable systems can be created with ownership rights that are easy to understand, easy to control and much more.
Permissions, privacy and the Metanet
Through Bitcoin’s highly flexible and expressive scripting language, people using Bitcoin can express any type of spending condition or permission-based requirement and place it on the objects they are using within their platform.
With this flexibility and the use of a second layer data protocol that nests within Bitcoin transactions, it becomes simple to imagine, design and then build applications for diverse use cases on the blockchain.
Allowing permissions to be enforced by the consensus layer is a tremendously valuable feature for a second layer, as it gives every action inside the ‘ledger’ used by the platform a way of being controlled, listed, indexed and more, without the need for complicated multi-token logic.
Find out more about Bitcoin for enterprises
If you’re interested in learning more about Bitcoin Enterprise, you’re sure to benefit from the BSV Academy’s free Enterprise Blockchain course. To sign up for this free course, head over here.