Mainchain

The DeepBrain Chain blockchain is the backbone to training. The framework is written in Rust, which has many benefits and allows easy interoperability with other languages. The blockchain itself is a modified Substrate blockchain framework that is modular and fast. The consensus layer is hot-swappable through the use of runtime library modules

Cryptography

Cryptographic primitives used in blockchains such as hashes, elliptic curve cryptography (ECC), and public/private keypairs.

Hashing Algorithm

The hashing algorithm being used is Blake2b. Blake2 is considered to be a very fast cryptographic hash function that is also used in the cryptocurrency Zcash.

Keypairs and Signing

DeepBrain Chain uses Schnorrkel/Ristretto x25519 (”sr25519”) as its key derivation and signing algorithm.

Sr25519 is based on the same underlying Curve25519 as its EdDSA counterpart, Ed25519. However, it uses Schnorr signatures instead of the EdDSA scheme. Schnorr signatures bring some noticeable benefits over the ECDSA/EdDSA schemes. For one, it is more efficient and still retains the same feature set and security assumptions. Additionally, it allows for native multisignature through signature aggregation.

The names Schnorrkel and Ristretto come from the two Rust libraries that implement this scheme, the Schnorrkel library for Schnorr signatures and the Ristretto library that makes it possible to use cofactor-8 curves like the Curve25519.