From 47a1f530f9def0eb1b1d6319e46555cd1fde8150 Mon Sep 17 00:00:00 2001
From: Bach Adylbekov <33404905+bahadylbekov@users.noreply.github.com>
Date: Tue, 20 Oct 2020 23:46:33 +0300
Subject: [PATCH] Update Dione specifications in README.md
---
README.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 74 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index db4321b..5ee6f1b 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,75 @@
-# P2P Oracle Node
+
+
+
-The node of p2p oracle network.
+Secured Finance - A protocol for financial transactions backed by crypto-assets.
+
+[![badge](https://img.shields.io/badge/submit%20for-HackFS-blue)](https://hack.ethglobal.co/showcase/secured-finance-recTkx6c1RDoLeaQm)
+
+# Table of Contents
+
+- [Introduction](#introduction)
+- [Specifications](#specifications)
+ - [State validation](#state-validation)
+ - [Connectors](#connectors)
+ - [External adapters](#external-adapters)
+ - [Consensus](#consensus)
+- [DIONE token](#dione-token)
+- [Contribute](#contribute)
+- [License](#license)
+
+
+# Introduction
+
+Dione oracle network is solving the interoperability problem between multiple blockchain networks. Blockchains themself could be describled as deterministic state machine replicated on full-nodes that retains consensus safety. And having the network that handles state changes validation across multiple protocols is crucial for [Secured Finance](https://github.com/Secured-Finance) first-layer transactions execution. Using Dione network Secured Finance could provide completely decentralized service for it's users.
+
+Simple explanation for Dione is a blockchain that tracks the state of another blockchains. Dione network itself has fast-finality because of the pBFT (Practical Byzantine Fault Tolerance) consensus and has a role to establish finality for the blockchain it connects (Ethereum, Bitcoin networks has probabilistic-finality).
+
+The networking layer of Dione node is based on [libp2p](https://github.com/libp2p/go-libp2p), a flexible cross-platform network framework for peer-to-peer applications. Projects like [ETH2 (Ethereum 2.0)](https://github.com/ethereum/eth2.0-specs), [Filecoin](https://github.com/filecoin-project) and Polkadot's [Substrate](https://github.com/paritytech/substrate) is based on libp2p making it's the standard for future decentralized infrastructures.
+
+# Specifications
+## State validation
+
+In order to validate the state from another blockchain in the Ethereum smart contract Dione users has to import [OracleEmitter.sol](https://github.com/Secured-Finance/p2p-oracle-smart-contracts/blob/master/contracts/OracleEmitter.sol) in smart contract that has to access external data.
+
+## Connectors
+
+Most of connections established via RPC request–response protocol meaning that Dione network has to meet all interface requirements and be customized for the particular chain it's connects to.
+
+## External adapters
+
+Most of off-chain data use cases require external adapters and APIs for simple integration of custom data sources. However Dione network aiming to solve cross-chain interoperability external adapters would be implemented in the second phase using REST-based communication.
+
+## Consensus
+
+Dione network uses Expected Consensus (EC) a probabilistic Byzantine fault-tolerant consensus protocol invented by Filecoin. At a high level, it operates by running a leader election every epoch in which, on expectation, a set number of participants may be eligible to submit a block. EC guarantees that these winners will be anonymous until they reveal themselves by submitting a proof that they have been elected.
+
+A miner’s probability of being elected is roughly proportional to their share of the Dione network’s total DIO tokens staked.
+
+The randomness used in the proofs is generated from [DRAND](https://drand.love), an unbiasable randomness generator, through a beacon.
+
+In order to identify which block has to be selected between multiple blocks proposed by multiple leaders other network operators has to vote up to 2/3 of total amount of nodes running in the network. This enforces Dione network as fast-finality chain.
+
+# DIONE token
+DIONE token is a ERC20 token on Ethereum blockchain used as a staking token to run the Dione node and for decentralized governance.
+
+Staking mechanism would encourage node operators to behave correctly as well as malicious nodes would lose their stakes. In order to run Dione node the operator has to stake at least 10,000 DIONE tokens.
+
+Total supply of DIONE tokens is 2,000,000. By that the maximum amount of nodes participating in Dione is limited to 200 at the initial start of Dione network. 30% of DIONE tokens would be allocated to Secured Finance team.
+
+Governance mechanism would take place on [snapshot.page](https://snapshot.page/#/). The main application of governance descision is around required amount of DIONE tokens to stake in order to run Dione node. Additional governance descision could be proposed by DIONE token holders among the way.
+
+
+# Contribute
+
+#### Dione core contributors:
+[Denis Davydov](https://github.com/ChronosX88)
+
+[Bach Adylbekov](https://github.com/bahadylbekov)
+
+We welcome every contributions big and small! Take a look at the [community contributing notes](). Please make sure to check the [issues](https://github.com/Secured-Finance/p2p-oracle-node/issues). Search the closed ones before reporting things, and help us with the open ones.
+
+
+# License
+
+This project is licensed under the MIT license, Copyright (c) 2020 Secured Finance. For more information see `LICENSE.md`.