The Blocbit project is laser-focused first on securing its zero-fee settlement layer. Our team is researching and building this scalable and distributed zero-fee infrastructure now.
As security with scalability is proven, Blocbit will open up miner (blocWorker) participation to anyone in the world. From there, the secure settlement layer can evolve into a p2p microdevice distributed platform for the decentralization of data and the creation of new, zero-fee concensus-focused apps (cApps).
The era of zero-fee, p2p computing will be born.
Throughout this evolution, Blocbits’s governance moves from informal (but present), to semi-formal with voting, to fully ratified and formal.
Once ratified – estimated to be between 2021-2022 – Bloclets will be fully distirbuted.
The purpose of this document is to provide a high-level technical overview of the Blocbit platform. It assumes that the reader has a basic understanding of cloud computing, distributed applications, and blockchain technology. A list of resources are provided for those who would like to develop a foundational understanding of blockchain technology.
This document provides a technical overview of Blocbit, a blockchain ecosystem for building and deploying distributed applications. It describes core elements of the service and provides details about the architectural design of critical components.
The information in this document is intended for informational purposes only. Blocbit may make improvements or changes to the products, architectural design, or programs described in this document at any time without notice.
Blockchain technology is still in its infancy. There are many issues preventing developers and businesses from creating widespread, distributed blockchain applications.
Performance is one of the main challenges facing current blockchain technology. The blockchain that Bitcoin uses is designed to handle seven transactions per second, and Ethereum can only handle a few more. As of December 2017, a simple CryptoKitties application can slow Ethereum and increase transaction fees dramatically.
Today’s consumer applications must be able to handle tens of millions of active users on a daily basis. In addition, some applications will only become meaningful when critical mass is reached. The platform itself must be able to handle a large number of concurrent users.
A good user experience demands reliable feedback with only sub second delays. Longer delays frustrate users and make applications built on a blockchain less competitive with existing non-blockchain alternatives.
Not Consumer Friendly
Today’s blockchain applications are built for the few tech wizards who know how to use them, rather than mainstream consumers. Nearly all blockchain applications require users to either run a blockchain node or install a “light node." The learning curve and effort involved has delayed adoption among the general public.
For example, while the Ethereum-based game CryptoKitties is probably the most user-friendly distributed app ever built, it still requires the user to install the Metamask light wallet browser extension. Users also need to know how to buy ethers securely and use them with Metamask.
To attract large numbers of people, blockchain applications need to be as simple as today’s web and mobile apps. Blockchain technology should be completely transparent to the consumer.
The extremely high cost of using blockchain technology is a major barrier to mainstream adoption. It also limits developers who need the flexibility to build free services. Just like today’s web and mobile apps, users shouldn’t have to pay for every minor action. Similar to the Internet, blockchain technology should be able to support free applications.
Making blockchain free to use is key to widespread adoption. A free platform will also empower developers and businesses to create valuable new services they can monetize, rather than having users pay fees to use the blockchain network.
As with the early days of any computing technology, blockchains have critical “platform lock-in” problems. Developers have to decide which blockchain to support, then implement platform-specific code that makes it very difficult to switch an application to a different blockchain later on.
Developers don’t want to be locked into working with a certain blockchain technology. They need the freedom to evaluate, use, and switch between options. Some applications may even need to run on multiple platforms to provide the best user experience.
Lack of Features
People have high expectations for blockchain—the news media, evangelists, and journalists paint a bright future for distributed applications for the public, especially with the increasingly high prices of cryptocurrencies. In reality, however, blockchain technology is still in its infancy. Most blockchain services lack rich features and don’t have a mechanism to encourage the community to contribute to the feature stacks.
Blockchain protocols make them very easy to fork, and there's been a recent spike in forks created for various purposes. Unfortunately, forks typically only improve on the forked Bloc, splitting the community and computing resources. The incentive mechanisms for blockchains just aren't designed to encourage contributions to the blockchain tech stack yet.
The Blocbit Platform
Bloc.bit solves these problems through its revolutionary new design. Unlike its predecessors, Blocbit is a platform service, rather than a standalone software package or set of APIs. Blocbit is a comprehensive solution that combines blockchain technology with distributed micro Computing.
Blocbit is an incentive-driven labratory for reusable services, components, and even applications.
Every user is a “miner” thereby adding valuble computing resources that help to mesh the platform together.all code is opensourced providing reusable components, new services, and even ready to deploy applications. People who contributed resources will be rewarded with a daily vote. Votes are pledged to concepts, who provide services, to form a positive, self-growing platform that continues to evolve on its own. once day zero has been reached all votes pledged to the awarded concept recieve tokens/stocks to the value of their combined votes. The Blocbit platform service isn’t our creation alone. It’s developed by the entire Blocbit and Zeronet community—we’re just contributiong a new secure , imutable blocchain expansion.
Blocbit’s utilisation of the zeronet template enables a starting point for open connectivity between multiple blocchains. Developers now have the freedom to take ownership of their own blockchains with the fredom to choose weather they would like to maintain an original chain, interconnect with other blockchains periodically or fork off on their own. The blocchain makes it easy to implement new sidechains as the technology evolves. It eliminates the platform lock-in issue and enables applications to run on and intergrate into multiple blockchain fabrics, vastly improving the developer and user experiences.
Bloclets are another revolutionary component that takes advantage of the latest microservice architecture and microserver computing technology. Bloclet is a high-level application protocol that can be implemented with any platform or language. It leverages the full capacity of the native platform and offers the same level of performance as running on a low-cost virtual machine.
Bloclet does more than access blockchains. It connects to any existing data source, and performs both on-chain and off-chain computing.
Our unique design aims to provide a high-performance, user-friendly, cost efficient, and protocol-agnostic platform. We believe that Blocbit represents a major technological advance that will usher in the 3.0 generation of blockchain applications.
Fig: Road map toward Blockchain 3.0
In addition to solving the common problems outlined above, building and deploying distributed blockchain applications with Blocbit has significant advantages over the vendor-specific frameworks available in today’s market.
Built for an Award Economy
Blocbit is a self-evolving ecosystem—not just a software platform built by one centralized organization. We at Blocbit are only jump starting the project; the platform will continue to develop and grow on its own.
The entire Blocbit service is driven by an Award economy. Rather than a basic service platform or token economy, Blocbit is an economy driven by grand incentives that encourage the blockchain community to work together daily to build a better ecosystem.
Optimized for the Best Experience
We built the Blocbit platform using a “top-down” strategy that centers on the user experience. In contrast, many existing solutions focus on the blockchain technology itself at the expense of user friendliness. Applications built with Blocbit offer reactive, real-time experiences. Users can simply access them from a web browser with a computer with zeronet installed (no additional plugins required). Investors can purchase a ready to run sd card or download an image and formate an sd card themselves. Any which way, the process is quick and has limited troubleshooting.
Blocbit also dramatically improves the developer experience. There’s no need to deal with set structures as each app can be created using the simple dom (html,css,js) three or deployed as closed complied apps (unity games as an example). With a ready to run template and a udemy course breaking down the blocchain code, engineers have fully functioning detailed prototypes to start developing and testing their applications.
Blocbit is the perfect meduim for individuals or groups, learning or wanting to learn how to code, not just for the advanced dev.
Secured and ditributed
Bloclets have been designed to run on micro computers. they can also run on a single computer for testing and development.
This design principle makes Blocbit fundamentally different from many other platforms in the blockchain world. In Blocbit, a node can be a “logical computer” comprised of one or more instances, or a group of services working together as a computing environment. This approach marks a significant step forward that will help elevate blockchain and distributed applications to the next level.
Blocbit bloclets will initially be build in a few docker clustered private vps, then expand onto millions of individual solar powered micro systems
Built with an Open Standard
Blocbit is built with an open standard. We’re trying our best not to reinvent the wheel and to build for the application developer’s wants and needs. In addition to open sourcing our core components, we will also actively contribute to a variety of blockchain technology communities.
Our team members are actively involved with a range of standards organizations, non-profit foundations, and committees. These currently include the W3C Blockchain Community Group Community Group, IEEE Standard Association’s Blockchain Community, Enterprise Ethereum Alliance, Linux Foundation, Fido, Zeronet and Hyperledger Foundation. This list will expand over time.
Blocbit aims to build a scalable, extensible, and easy-to-use platform for building and deploying distributed blockchain applications.
Blocbit’s design is based on following core principles:
• The user experience comes first.
• Performance matters but not at the cost of centralisation.
• The system will be built on an open standard.
• The system will build upon an Award Incentive-driven economy.
The Blocbit platform introduces a suite of revolutionary technologies designed to mainstream blockchain applications by making them easy for the average consumer to use.
ZeroNet uses Bitcoin cryptography and BitTorrent technology to build a distributed censorship-resistant network.
Users can publish static or dynamic websites to ZeroNet and visitors can choose to also serve the site themselves. Websites will remain online as long as one peer is still online.
When a site is updated by its owner, all nodes serving that site (previous visitors) will receive only the incremental updates made to the site content.
ZeroNet comes with a built-in SQL database. This makes content-heavy site development easy. The DB is then synced to hosting nodes via incremental updates.
we are working with zeronet to implement security key authentication to allow for a storage medium for private keys and a human authentication process.
Bloclet is a microserver computing architecture component for running various types of applications. Use Bloclets for smart contracts, resource and asset handling, and off-chain business logic. Bloclet communicates with blockchains much like certificate authoririties check up on ssl certificates.
Anyone can use Bloclet to build services and components and contribute them to the comunity however we expect most of them to be maintinaed by concept owners.
Bloclet Components are pre-built bloclets that form the foundation of the Blocbit platform. Most of Blocbit’s features (such as its ip services, user identity services, etc.) are implemented with them. Bloclet Components are highly reusable and customizable.
Incorporate our pre-built Bloclet Components into your applications to get up and running fast. We provide components for user identity management, ip utilitys, ballots, messaging, notification services, and more. Use them out-of-the-box, or as customizable starting points for your own creations.
Bloclet Components can also be built and contributed by the community. Presently they are accessed on github.
Blocbit comes with a lottery type economy incentive for dapps built on the platform. Applications will build unique features that inherit some or all of Blocbits features.
Dapps in contention can be cloned with the click of a button and tweaked to compete with current runners. This will allow the community to contribute and exchange ideas allowing for infinte variations and constentant upkeep of projects.
The diagram below shows a high-level view of the platform architecture. Detailed descriptions of some of the core components appear in the next section
1. bloclets 2. micro nodes
Fig: early stage overview of Bloc.bit
micro nodes can be anything with a cpu, 512mb of ram and a 20gb+ sd card
We encourage that these devices be connected to a solar battery displayed below
Fig: Solar charger option for bloclet
While using a group of (smmi ) solar maintained micro instances as nodes may seem like an unusual approach, a cloud setup is exactley this but in a centralised location. Aside from how the components are distributed and communicate with each other, they're essentially the same. Blocbit is the first blockchain platform to treat collective microservices on micro servers as nodes, achieving a much higher level of abstraction, enhanced performance, and even better security. We believe this approach will likely become the de facto standard for future blockchain platform design, and we as a pioneer will lead the trend as technology evolves.
Although Blocbit’s preferred device is a raspberry pi node with above solar charger attached, you can still run Blocbit in a single traditional node like a pc, vps or tablet. In a test or private environment, developers likely run the node locally, or in their test server boxes.
Dispributing microservices on smmi won’t compromise the decentralization and security of the system. In fact, it takes decentralization and security to the next level.
The platform’s own security is enforced by majority. Since there is no longer a brute force option available because the mining is based on proof of time, all nodes will be equal.
The decentralization aspect is even more interesting, since a node is likely one of many distributed services that run on multiple smmi from multiple availability zones, or even different regions.
The following sections offer more detailed descriptions of our key components and core algorithm. This section assumes that you have an advanced understanding of blockchain technology and computer science. If you’re not interested in detailed information about the components and would rather learn more about using the platform, feel free to skip this section.
Blocbit enables your application to adapt to Bitcoin, Ethereum, Hyperledger, and more. The Code will be open sourced with an MIT license so that everyone in the blockchain community will be able to contribute, create extensions, and make improvements.
Bloc Access Layer
The Bloc Layer defines high-level, generic APIs that enable open connectivity and access to a range of blocchain protocols. The Layer is supported by an Adapter under layer. Each Adapter is implemented for a specific blockchain protocol.
The Bloc Access Layer has three levels of APIs:
Level 1: Bloc APIs- This set of APIs provides the foundation for the Access APIs.
An Adapter must support all of the APIs included in this level.
Level 2: Bloc Data APIs - This set of APIs enables fundamental access to blocchain data, and treats each blocchain under layer as a finite state machine. Adapters may either support the APIs at this level, or alternate capabilities. The set includes APIs that allow applications to query the supported capabilities.
An Adapter must support all of the APIs included in this level. However, they may implement a different capacity set.
Level 3: Native Bloc APIs- This advanced API set exposes the native features of underlying blockchain protocols.While supporting this set is optional, it will maximize your application's ability to use native blockchain features.
Supporting the API set at this level is optional for Adapters.
Blocbit’s Access Layer enables the platform to support multiple blockchain protocols. Application developers can choose from different blockchains, node types, and deployment types. Blocbit’s Adaptors are the implementations that make the Bloc Access Layer possible.
Adapters work like device drivers to translate blockchain under layer protocols into the unified APIs defined in the Open Chain Access Layer. Some of the Chain Adapter implementations require you to combine on-chain and off-chain implementation works together. The Chain Adapter is also assigned one of three categories, based on the Access Layer API set it has implemented.
We plan to implement Adapters for Bitcoin (Lightning network) , Ethereum (Raiden network), and Hyperledger first. After we open source the code, anyone will be able to contribute, improve the protocol, or implement their own code. We also plan to support additional blockchain protocols.
Adapters that have been developed or improved by the community will be made available in the Blocbit labratory so that everyone can use them. The incentive model will encourage the community to develop more and better Adapters. In time, Blocbit will be able to offer a line of high-performance, high-quality Adapters for various blockchains.
Design Principles and Inspiration
To design the Bloc Access Protocol, we investigated many existing customer solutions, talked to real developers, and learned from the evolution of computers and database systems. For example, the structure for the Bloc Access Layer was inspired by the open connectivity design seen in databases.
A look back at the development of database systems and applications reveals many similarities with the evolution of blockchain technology . The position of the blockchain in a typical system is very much the same as the database in a database application system. In many scenarios, it’s fair to say that a blockchain is actually acting as a distributed database. Most of the blockchain itself is built on top of a database, including Bitcoin and Ethereum. That said, we can find inspiration in how database systems evolved.
Bloclet is the security core of Blocbit. More than an authentication protocol, it’s also a software architect that lays the foundational building blocks of Blocbit itself. The Blocbit platform is built alongside a series of Bloclets. The Bloc Access Protocol allows Bloclet to communicate with under layer blockchains. The Distributed gateway allows Bloclets to communicate with the client-side Zeronet code live in the user’s browser or mobiles apps. In short, Bloclets are at the center of the entire system.
Microservice architecture is a perfect match for blockchain applications. A variant of the service-oriented architecture (SOA) style, microservice architecture structures an application as a collection of loosely coupled services. The services should be fine-grained and the protocols lightweight. Deconstructing an application into a variety of smaller services improves modularity and makes the application easier to understand, develop, and test.
Blocbit is designed as an event-driven microservice that uses Bloclet technology to overcome the inherent limitations of the blockchain. Bloclet communicates with the blockchain under layer through the Bloc Access Protocol, allowing the application to access external data securely while also maintaining data integrity.
Microserver computing is a distributed computing execution model in which many resources dynamically manage the allocation of machine resources.
Most cloud serverless vendors offer compute runtimes or function as a service (FaaS) platforms, which execute application logic but do not store data. Microservers accomplish this with ditributed bloclets but without the need for giant datacentres.
Users Manage and secure microservers with public private key pairs .
Note that microservice architecture and microserver computing involve different levels of abstraction. microserver computing can be used to implement a microservice that fits perfectly within a microservers architecture. However, developers can also use microserver computing for other purposes, and it’s not always necessary to use microserver computing to implement microservices.
Bloclet is inherently flexible and can be used to develop various kinds of applications. This section describes some common types of bloclets. Bear in mind, however, that a Bloclet could consist of one or more of the following units of business logic packaged together.
Because Bloclet is a native microservice, it can access data sources other than the blockchain. For example, it can connect to a database, external restful API, or any other data source. Bloclet can be used to develop any application logic—even logic that's not related to blockchain. Using Bloclet for standard application development has no overhead.
Real-life, distributed applications often run quite a few logical components off-chain. Bloclet provides a total solution for application development so that engineers won’t need to use different frameworks to handle different parts of their applications.
Off-Chain and On-Chain Logic
It’s very common for an application’s business logic to need both on-chain and off-chain handling, and to require the respective data to be connected. For example, on-chain code can't access external data and events, such as time or market. Calling code or data outside of an on-chain smart contract or blockchain breaks the general trust barrier and reduces confidence in the authenticity of submittions. In these cases, an off-chain Bloclet acts as a bridge that connects on-chain and off-chain logic to bring the full business logic together.
Asset and Resource Handling
Applications usually need to handle resources and assets like photos, videos, music, and documents. Because blockchain isn’t designed to handle large amounts of data, a typical blockchain application handles those resources and assets with off-chain solutions in our case zeronet uses bittorrent. While there are different ways to accomplish this, the traditional solution involves using a service like AWS S3, or a more distributed solution like IPFS.
Regardless of the approach you take, Bloclet will be able to communicate with your assets and resource storage system. Sometimes assets may need to be mapped with their on-chain vote or identifiers, or verified through the records on the blockchain. Bloclet is the perfect location for these kinds of logic.
By communicating with on-chain code securely through the Bloc Access Protocol, Bloclet enables you to implement high-performance smart contracts while maintaining the trust barrier and verifying the authenticity of submissions.
It’s up to the engineer to decide how much logic should run on-chain vs. off-chain. At one extreme, the engineer could simply treat the blockchain as a state machine and put most of the business logic inside the Bloclet. At the other extreme, the engineer might develop a complex, fully on-chain contract where the Bloclet merely serves as a stub for triggering or monitoring activity from the on-chain execution.
Proof of time
POT is simply a type of smart contract that ensures external data sources match local ones before applying event triggers.
Proof of time also compels engineers to consider the simetry between on-chain and off-chain logic during the design and development phases. This improves the efficiency of these phases without compromising security and trust.
In the first phase of Blocbit development, we have implemented Bloclets with a local test environment and a VPS. The local implementation is for test purposes only. Production will be clustered so that we can take advantage of the many advanced infrastructure features.
In the future, we will support Docker and open source fido security solutions for Bloclet so that users can easily build and deploy their own Bloclets without using any complex and time consuming services.
Because Bloclet itself is a type of application protocol and architecture, it’s possible to implement it with different languages and frameworks. Our initial implementation will be based on php and python.
Bloclet Building Blocks are pre-built bloclets that lay the foundation for the Blocbit platform and most of its features, such as IP and user identity services. Bloclet Building Blocks are highly reusable and customizable components.
Blocbit uses a distributed design and secure communication channels. Your applications will run in both web browsers and mobile apps, giving users reactive, real-time experiences.
An API gateway is essential in microservice architecture. An API gateway is a façade that provides a simple API interface to a complex subsystem. It essentially decouples the interface that clients see (in our case API consumers, which could be mobile apps, web clients, or thin clients) from the underlying implementations. In Blocbit, all features are implemented with Bloclets. Rather than communicating directly with clients, Bloclets communicate via the API Gateway.
The gateway supports various network protocols by default, including WebSocket, HTTPS. Advanced developers can extend the gateway with new network protocols to fit their needs.
Distributed and Secured
We use a completely distributed design to implement and simplify distributed services. Blocbit’s API Gateway can be used out-of-the-box with a provided nginx configuration—just start it up and it will do its magic. It also features name-based addressing, clusters (i.e. automatic load balancing), and perfect secrecy (all network traffic is encrypted).
Fig: How distributed decentrailized bloclets work
Distributed Media and Assets
Blocbit uses zeronets core components to handle media and assets, Bloclet can be used to handle them with support from other systems. Bloclet can also help you create off-chain data, or verify off-chain data with the on-chain data. Today, most distributed applications handle media and assets with off-chain logic. They either use a cloud-based centralized solution like AWS S3 or Microsoft Windows Azure’s storage service, or a distributed solution like IPFS or Swarm .
Rather than reinventing the wheel, we encourage application developers to adopt the best-fit solution for handling their media and assets. We predict that most application developers will use zeronets decentralised solution, which are the simplest and most mature. In addition, media and resources don't necessarily have any relationship with blockchain data in most applications. Other developers might consider using IPFS or a hybrid solution for big data assets. Blocbit allows you to decide which solution is best for your application—it works with either technological approach.
Blocbit platform uses zeronet to handle its own media and assets, apart from video which we use public mediums to distribute we may consider moving toward a distributed system for this later on.
Zeronet provides libraries and frameworks for client application development. These libraries support web for the moment later maybe iOS, and Android platforms.
The version for the web is a simple communication library that works with HTTPS and WebSocket to provide a real-time and reactive user experience. It works with nearly all other web frameworks, allowing you to pick the framework you’d like to work with, such as Meteor, VUE, or React.
This is an important advantage for application development. Engineers can spend most of their time handling the client side and user experiences, and write most of the code in this layer. Thanks to Blocbit, however, now they can develop client applications the same way they build traditional, non-blockchain applications. Our design enables developers to work with their favorite frameworks and tools so they can draw upon community resources and support.
Blocbit is among the first blockchain startups to adopt Algorand in production.
Algorand was founded by Silvio Micali, winner of the 2012 ACM Turing Award. Micali is a pioneer in cryptocurrency and blockchain technology. He was instrumental in the development of many of the building blocks of cryptography, published works on game theory and Byzantine Agreements, and even launched a micropayments startup. When Micali saw Bitcoin, he thought it could be improved; Algorand is the result of that quest.
Fig: An overview of transaction flow in Algorand
Algorand involves suddenly and randomly selecting a small group of nodes to be in charge of the next block. This must be done in a way that can’t be manipulated by an adversary. No one selects the group; it’s selected by hash instead. Micali suggests taking a pseudo-random generator which is pre-specified and elongating as much as you need to select the committee. The group decides the next block via a redesigned Byzantine agreement in which a leader is picked randomly from the group.
Blocbit uses Algorand and its variant in a number of places. For example, we use Algorand to pick where the smart contract Bloclet will execute from, as well as for the high-performance blockchain that powers our native bloc. We will disclose more details on implementing Algorand in the Blocbit in the future when we reach release candidate milestone.
The Award Economy and the Service
What makes Blocbit unique is that it’s not just a set of APIs or libraries—it’s a robust platform with a full set of features. In addition, the service runs on top of its own native system, which is driven by latest blockchain technology.
The Award Reward (BTC)
Subscription are paid into a lighting network pool which is released to the concept with the most votes on day zero. The blocchain is then forked and tokens are issued :
40% to the winning concept
40% to the voters that cast votes for the winning concept (incentive to vote)
20% to the blocbit community (incentive to remain vested)
Blocbit members are contributors (“miners”) who run Blocbit platform services and join the overall service network. The role of miners within the Blocbit community is significantly different from that of Bitcoin and Ethereum contributors, however.
Resource (voter) Miners
Resource Miners contribute computing resources to the system. They contribute self-hosted computing resources.
In Blocbit’s design, Miners may provide the computing resources for their own use only, share them across multiple parties, or share them with anyone. Everyone contributes.
Component (gateway) Miners
Component Miners contribute software components to the system, such as new Adapters, Bloclet Components, or voted applications. The component might be packaged code that can be reused and deployed by another application, or a set of services that's merely exposed through the Bloclet interface. For example, a deep learning-based image recognition service may have its own services running elsewhere, but offer the services as Bloclets so that other Blocbit applications can use them.
Concepts must maintin a blocet to stay in contention for the Award Reward
The Blocbit Labratory
The Blocbit Labratory is a distributed blockchain application built on Blocbit platform itself. The app serves as a Labratory for listing, searching, evaluating, using, and ranking reusable components, such as Adapters, Bloclets Components, and applications.
The Labratory is also responsible for maintaining public feedback about the quality of components and the reputation of their developers, as well as other information. This information will help users evaluate reusable components. The labratory information is ranked in the public ledger powered by Blocbit’s blockchain technology to ensure transparency usabilty and trust.
Voting Foundation Services
The platform’s voting foundation service consist of a set of Bloclet components that lay the groundwork for Blocbit’s voting services.
The Blocbit vote is implemented offchain and then secured onchain. The voting foundation service is secured by Bloclets, and the Vote Economy Service consists of a group of Bloclet Building Blocs. Application developers can use Bloclet to easily handle events triggered by votes and accomplish complex business logic. The distributed ledger in Blocbit ensures that votes are secure, high performing, and reliable.
Just like any other Bloclet components, the Bloclets for the token foundation service can also be improved and extended by the blockchain community .
With Blocbit, concept winners can also continue on with their own custom tokens that inherit all of the features of our native votes once day zero has been reached or even before.
Blocbit makes it easy to build your own economy. Tokens or votes aren’t just for cryptocurrencies, however. They can represent many different things, from user identities, certifications, and documents to real-world entities. Blocbit gives concept the ability to tokenize everything in your application. Weather a concept is inline to win or not they may choose at any time to fork their project and continue on their own
Towards a ‘distributed republic’ model of blockchain governance
As governance grows as a topic of importance, different blockchains are organizing themselves around a diversity of approaches. We believe a distributed republic characterized by checks and balances is the best option.
Governance can be best be segmented into four sections:
Principles: The important ideas animating a checks-and-balances model
Parties: The groups, roles and responsibilities that make up the governance system
Process: How change proposals originate, reach consensus, and become implemented as policy and code
Infrastructure: The infrastructure of governance that limits possibilities for centralization
The Blocbit Model Of Checks & Balances Governance
Blocbit is building a zero-fee payments protocol for the public internet. We believe that:
1) For cryptocurrencies to live up to their true potential to increase trade and commerce, they have to be accessible to today’s leading enterprises, and;
2) Governance is key to that accessibility.
Governance is the rules engine for Blocbit’s protocol. Sitting at the center of consensus, economics and security, governance provides a mechanism to coordinate and evolve the network.
Blocbit's governance of checks-and-balances is a rules engine and coordination mechanism for the protocol
Our checks-and-balances model is inspired directly by the framers of the US constitution, who knew change needed to be possible to evolve to new circumstances, but sufficiently difficult to avoid radical reactive swings as leadership changed hands.
The key features of this model include:
Separation Of Powers: The roles and responsibilities of Blocbit’s governance are divided across four Blocs - the distributed Workers, Executive, Judicial and Security -described in the “Parties” section below. The actors who make up each Bloc have different incentives, creating a check on one another so that no category of participant in the network can drive the ecosystem too far towards their exclusive benefit.
No ‘Fed’: Cryptocurrencies are defined in large part by monetary policy, such as inflation and miner rewards. In Blocbit, there is no governance body able to unilaterally change these policies (such as the United States Federal Reserve). Instead, policy changes are subject to checks and balances - proposed by one Bloc (Judicial), voted upon by another (blocWorkers), and approved or vetoed by a third (Executive).
One-Entity-One-Vote: Token- or stake-based on-chain voting systems engender plutocracy where the richest stakeholders determine protocol direction. This can be because votes are delegated or because you have to purchase tickets or stake a certain amount to vote. Voting in Blocbit is a one-entity-one-vote approach, verified by KYC/AML and ensuring that governance is not simply a rubber stamp on the interests of the largest economic stakeholders.
Articulated Change Process: Well-functioning governance requires that the participants understand how change happens and how they can shape the direction of that change. We’re committed to a full articulation of the change process, public review and ratification of the governance system, and simple user-friendly interfaces that make it easy for the Blocbit community to participate in governance.
Enforceability: For any governance rules engine to function, it needs to be able to enforce those rules. Entities such as nodes that formally join the Blocbit ecosystem commit themselves to certain roles and responsibilities, as well as penalties if they fail to comply. These penalties include things like slashing of stake for nodes who fail to upgrade to the latest software when changes passed through governance are implemented and the firing of an Executive Director who fails to promptly ensure the implementation of changes that have reached consensus.
Separation of powers in blocbit's governance is inspired by the checks and balances of the United States Constitution
Blocbit’s governance is split into four different Blocs: the distributed Workers (blocWorkers), Executive, Judicial and Security Blocs. The community of Bloc ID holders do not vote, but are able to exert their voice by proposing changes.
The blocWorkers are the voters in the Blocbit system. Any Bit ID holder can propose a feature change and crowdfund proposals to achieve the minimum funding threshold required to be added to a formal ballot. When this happens, the measure moves to a blocWorker vote.
The blocWorkers Bloc has three chambers: Validators, Concepts and Security (blocGuards). Validators run full nodes to validate the p2p consensus. Concepts maintain a bloclet infrastructure for scaling. BlocGuards are focused on the security of the network. Each group has its own voting chamber, akin to the US Senate and the House.
Concepts and Validators are self-selecting (subject to a KYC process) based on their willingness to participate and work on the Blocbit network while blocGuards are hired (or rehired) each year by the Chief Security Officer.
The Executive Bloc delivers the changes approved by the Workers Bloc. It consists of an Executive Director, who can serve for a maximum of 8 total, non-consecutive years, and who has the power to ratify or veto measures passed by the blocWorkers, plus a team of developers. When a change is voted on through governance, this group has a specific time window in which to deploy the change to code. If a measure is vetoed, it returns to the Distributed Bloc (blocWorkers) for another vote in which a larger majority than during the initial vote on the proposal is required to overcome the veto.
With regard to changes other than feature change requests, the Executive Bloc can also propose monetary policy to be reviewed by the Judicial Bloc, and has a role in determining the approach to severe security threats and loss of funds issues.
Additionally, the Executive Bloc recommends appointments to the Judicial Bloc, which are confirmed by the Worker Bloc, and helps hire the Security Bloc officials. The Executive Director is appointed, reports to and can be removed by the Judicial Bloc, with appointment approved via bloc vote.
The Judicial Bloc is charged with the long term health of the network, focusing on monetary policy (inflation, worker compensation, etc.), compensation for governance participants and compensation for network activity. In the case of an emergency where there is a significant loss of funds, the Judicial Bloc also plays a role in setting the security level and determining the course of action. The Judicial Bloc is also nominate the hiring of the Executive Director and the Chief Security Officer, confirmed via blocWorker vote. The Judicial Bloc is comprised of a group of impartial directors who do not hold other roles in the Blocbit ecosystem, as well as the Govnodes who run the infrastructure for distributed governance.
The Security Bloc is responsible for the overall security of the network, including detecting potential security flaws and proposing solutions. They are led by a Chief Security Officer (CSO) who can serve for a maximum of 8 total, non-consecutive years. Security blocGuards are hired and fired by the Security Bloc, but vote within the Workers Bloc. The CSO is nominated by the ED, reviewed by the Judicial Bloc and then finally approved by a Bloc vote. They are removed the same way.
fig 2g . Organizational chart of Blocbit's Governance
Change Process Across Categories
Blocbit change proposals are organized across four categories:
Feature Change Requests
Severe Security Issues
Feature Change requests are requests to update the protocol, such as increasing the number of blocGuards or changing what percentage of votes need to be “yes” to approve governance measures. They can be proposed by any Bit id holder
When a proposal is made, it must garner sufficient support before it can be added to a voting submission. This happens through a voting process that allows each proposal 30 days to reach an acceptance threshold that increases as total market capitalization increases, enabling the community to focus on the most important measures.
Once a change has reached the acceptance threshold it is added to the next ballot to be put up for a vote. Voting occurs at least once quarterly. Voting is one identity: one vote and enforced through KYC validation.
Voting is a process of sequential votes from the different chambers who comprise the Workers Bloc. Voting proceeds through from bloclets to Validators to blocGuards. Quorum requires 50% of each chamber +1. Different chambers have different voting thresholds to pass a measure. Measures only proceed when they pass each chamber and only need to fail one chamber for the measure to fail overall. blocWorkers who do not vote on at least 3 of the 4 annual ballots incur penalties .
When a change proposal is accepted, the Executive Director has 14 days to either ratify or veto the proposal, and the Blocbit Core Team has a standard 12 months to develop and deploy the ratified change.
If a proposal that has passed the distributed Bloc is vetoed by the Executive Director, it is returned to the Bloc for re-vote 7 days after the veto, where it must receive an increased majority to be passed again. If the Executive Bloc refuses to implement an approved change within 12 months, they can be fired by the Judicial Bloc for cause.
Monetary Policy Changes
Monetary policy changes are changes to key economic factors such as compensation amounts for network actors or changing the overall inflation rate. The Judicial Bloc meets quarterly to review and propose changes to monetary policy.
Unlike Feature Change requests, monetary policy changes do not require an acceptance threshold to be added to the official ballot. Proposals from the Judicial Bloc are immediately added to the next submission.
Once a proposal has been made, voting follows the same process as Feature Change requests. Because there is no "Fed" in Blocbit, even monetary policy changes must be approved by the blocWorker and Executive Blocs.
Leadership changes are changes to the Executive Director role or the Chief Security Officer role, as well as to Judicial Bloc board members. These changes can be for the nomination of a new ED or CSO, or a recommendation asking for their impeachment, and do not require funding but are put straight on the next ballot.
Severe Security Flaw
Severe Security threats are marked algorithmically or by the Judicial Bloc. When they occur, the Executive Bloc (with help from the Security Bloc) can propose a protocol change to the Judicial Bloc, which that Bloc then votes on. If that Judicial vote passes, the protocol change goes to the developers of the Executive Bloc to enact. This is all done without a vote by the distributed Bloc, as taking a proposed change through the full governance process would not allow Blocbit to address an emergency network issue in time.
The Severe threat level lasts only 30 days, after which, any change must proceed through the standard process. If after 30 days, no decision can be reached on how to proceed, the Judicial Bloc may request a vote to extend the Severe threat-level period but that must be passed by the Bloc in a manner similar to all other governance voting processes.
Checks and balances mean change is possible, change is democratic, but change is hard
How Changes Are Deployed
Once a change is voted upon and approved by the Workers Bloc and ratified by the Executive (or, in the case of severe security threats, a solution proposed by either the Executive or Security bloc is finalized and decided upon by the Judicial Bloc), it becomes the job of the Executive Bloc to turn that solution into deployable code.
The mandate of the Executive Bloc is not only to turn voted-upon changes into code, but to do that on a prompt timeline. When a vote is approved, the Executive Bloc has a specific time window within which they need to deliver the code. If they fail to deliver within that window, the Judicial Bloc can fire the Executive Director without cause (in other words, without a vote). This creates positive execution pressure on the ED and the Executive Bloc as a whole. If the Judicial Bloc thinks the Exectuive Bloc is under performing, they can recommend the ED be fired before the deliver window has eclipsed - but that firing must be put to a governance vote.
When the code is ready, it goes through a specific review process including:
1) formal code review by the implementing organization;
2) open review with the community;
3) deployment to testnet;
4) production deployment.
Unlike other public blockchains, in which upgrade to new software by the nodes is optional - even in the case of severe security holes, new software is automatically pushed to the blocWorkers. When Concepts & Validators formally join the Blocbit network by going through KYC/AML, they agree to this push-based model. Those who don’t upgrade can be penalized . This slashing is not carried out by another Bloc, but is automated and carried out by the software, with an available appeal process for a node that believes it was slashed by mistake. This push-based model for node software updates does not threaten decentralization, as all of the changes that are ultimately pushed are the result of a democratic governance process.
A visualization of the change flow across the Blocbit ecosystem
An important piece of decentralization is powering the governance process with a dedicated distributed infrastructure. For Blocbit, this includes a Governance app with end-to-end encryption and best-in-class security, as well as a distributed computing and storage network of dedicated Bloclets.
Blocbit’s Governance app includes interfaces for messaging, sharing ideas, and voting. The app that runs this essential governance application will be hosted on /bloc.bit, rather than by a centralized Blocbit Inc. nonprofit server. There are two reasons for this: first, it safeguards that there is not one point of failure that could bring down the governance network. Secondly, it protects against Blocbit Inc. intentionally cutting off governance communication of Blocbit network actors, censoring communication or halting the people-led governance process.
. /bloc.bit is part of the Judicial Bloc rather than the distributed Bloc in order to separate the mechanism for voting and the voting itself. /bloc.bit is a non-voting role to retain impartiality. /bloc.bit must remain anonymous to prevent collusion, and any nodes caught gossiping will be immediately expelled from the network and blacklisted.
Three key features make up the Blocbit Governance App experience:
Direct messaging / chat features
A customized voting interface that allows users to:
Review open change request proposals
Fund/stake pending change request proposals
Cast their vote for change request proposals
Engage in encrypted & anonymized discussions around the change requests
This work is the cumulative effort of multiple individuals with the Blocbit team, and would not have been possible without the help, comments and review from our partners, advisors, community collaborators and valuable customers.
This technical whitepaper was written by Twistsmyth