The bloxberg infrastructure
The bloxberg network is based on a public, permissioned implementation of Ethereum , featuring smart contract functionalities and using the network of nodes from the bloxberg association. bloxberg runs on the Ethereum Istanbul Upgrade.
The bloxberg consensus is governed by Proof of Authority (PoA) based on the Authority Round (AuRa) algorithm. This algorithm was chosen based on consistency, availability, performance, and previous use in large networks. A detailed protocol audit is available for review: https://github.com/poanetwork/wiki/wiki/Aura-Consensus-Protocol-Audit.
A PoA consensus algorithm does not depend on nodes solving arbitrarily difficult mathematical problems (mining), but instead uses a set of “validators” – nodes that are explicitly allowed to create new blocks and secure the blockchain (in bloxberg called Validator nodes) . The chain has to be signed off by the majority of Validator nodes, in which case it becomes a part of the permanent record (finalization). Finality in AuRa is defined by a simple majority vote. Finality is reached when at least 51% of all Validator nodes signed the same chain twice. Some advantages of a PoA consensus compared to a PoW consensus:
- Increased security (a node which is not registered as a Validator node or a hacked Validator node cannot overwhelm the network, potentially reverting all transactions)
- less computationally effort (no mining required)
- more performant (Aura consensus provides lower transaction acceptance latency)
- more predictable (blocks are issued at steady time intervals)
The bloxberg Validator nodes utilize the Ethereum Client Nethermind: https://github.com/bloxberg-org/bloxbergValidatorSetup-nethermind.
bloxberg network activities
All bloxberg network activities can be queried with:
- The bloxberg Blockexplorer Application
- GraphQL https://blockexplorer.bloxberg.org/graphiql
- RPC https://blockexplorer.bloxberg.org/api_docs
The bloxberg Token – Berg
bergs (△ U+25B3) are the currency of the bloxberg network. In order to interact with bloxberg blockchain applications or to deploy smart contracts, bergs are utilized for these interactions.
Contributing to the bloxberg development
bloxberg is follows the paradigm of a fully open source development. The main development is done by the bloxberg association. Everyone can reuse the code or can contribute via github: https://github.com/bloxberg-org
bloxberg Improvement Proposals
In order to standardize and collaborate on various common features in bloxberg, bloxberg improvement proposals are issued. This is to ensure a high degree of compatibility and quality of the use cases developed for bloxberg. https://gitlab.mpcdf.mpg.de/mpdl-bloxberg/blips
Connecting to the blockchain
Certification & Verification of data
The bloxberg network provides the functionality of minting a batch of data objects or singular objects a non-fungible ERC721 token. Each contract MUST include the ERC721 Metadata standard augmented with an additional field that contains a unique, cryptographic identifier of the bloxberg Research Object Certificate(s) included in the minting transaction. This process ensures that the research object certificate(s) can be resolved to an onchain transaction, thereby guaranteeing data integrity and provenance without disclosing sensitive information, if desired (see Blip research certificate). The cert-issuer API issues blockchain certificates by creating a transaction from the issuing institution to the recipient on the Ethereum blockchain that includes the hash of the certificate itself.
The certification and verification service is accessible via:
- The bloxberg Certify Application
- The bloxberg Verify Application
- API (API key must be requested via bloxberg-services (at) mpdl.mpg.de)
- Command Line (beta)