orion-server

module
v0.2.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2023 License: Apache-2.0

README

Orion - a blockchain database

Orion is a key-value/document database with certain blockchain properties such as

  • Tamper Evident: Data cannot be tampered with, without it going unnoticed. At any point in time, a user can request the database to provide proof for an existance of a transaction or data, and verify the same to ensure data integrity.
  • Non-Repudiation: A user who submitted a transaction to make changes to data cannot deny submitting the transaction later.
  • Crypto-based Authentication: A user that submitted a query or transaction is always authenticated using digital signature.
  • Confidentiality and Access Control: Each data item can have an access control list (ACL) to dictate which users can read from it and which users can write to it. Each user needs to authenticate themselves by providing their digital signature to read or write to data. Depending on the access rule defined for data, sometimes more than one users need to authenticate themselves together to read or write to data.
  • Serialization Isolation Level: It ensures a safe and consistent transaction execution.
  • Provenance Queries: All historical changes to the data are maintained separately in a persisted graph data structure so that a user can execute query on those historical changes to understand the lineage of each data item.

Orion DOES NOT have the following two blockchain properties:

  • Smart-Contracts: A set of functions that manage data on the blockchain ledger. Transactions are invocations of one or more smart contract's functions.
  • Decentralization of Trust: A permissioned setup of known but untrusted organizations each operating their own independent database nodes but connected together to form a blockchain network. As one node cannot trust the execution results of another node, ordering transaction must be done with a BFT protocol and all transactions need to be independently executed on all nodes.

Documentation

Please visit our online documentation for information on getting started.

How to Contribute

We will be happy to receive help! In order to become an Orion contributor, please contact the project maintainers.

Directories

Path Synopsis
cmd
bdb
internal
blockcreator/mocks
Code generated by counterfeiter.
Code generated by counterfeiter.
comm/mocks
Code generated by counterfeiter.
Code generated by counterfeiter.
replication/mocks
Code generated by counterfeiter.
Code generated by counterfeiter.
pkg
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL