Witnet (WIT)

From CryptoWiki

Revision as of 09:02, 23 January 2022 by 5imp5on (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Witnet
TypeDecentralized Oracle
Consensus mechanismPoE
Total supply2.500.000.000 WIT
Websitehttps://witnet.io

 Basics

  • Founded in:
  • Mainnet release:
  • Based in:

"Witnet is a reputation-based decentralised oracle network: nodes running the Witnet software earn or lose reputation when they fulfil a data request correctly or incorrectly — where correctness is defined by a consensus algorithm analysing nodes’ answers. Nodes which disagreed with the consensus loose reputation (by being off-line or attempting to be malicious), which is split between honest nodes. If the consensus was a timeout, as long as a node agrees with the consensus, it remains unpunished."

History

Token

Launch

Token allocation

"Regarding WIT's distribution:

  • No more than 2,500,000,000 WITs will ever exist.
  • 70% will be mined by witness nodes through block rewards, which decrease over time.
  • 30% will be minted in the early stage block (first block in the chain). These will be assigned to early contributors (participants in the pre-sale conducted in 2017; the Witnet Foundation; and those who helped to build Stampery2)

The mined tokens will be released in the following way, subject to change:
The number of WITs generated per block starts at 1000 and is set to decrease geometrically, with a 50% reduction every 875,000 blocks, or approximately every 2.5 years. Each of these periodic reductions is known as "halving". As a result, the total number of WITs created by the issuance mechanism will never exceed 2,500,000,000 minus the preassigned 30%."

Utility

"The Witnet protocol runs a single purpose blockchain with a token called WIT, which relies on a P2P network. The nodes on the network are called witnesses, and are incentivised by the WIT token to:

  1. Retrieve, Attest and Deliver data from any open API
  2. Mine a block to be added in the blockchain
  3. Be a bridge-node and connect the Witnet protocol to other protocols, such as Ethereum"

Token Details

Stablecoin

Tech

  • Whitepaper can be read over here (27-11-2017).
  • Code can be viewed [insert here].
  • Built on: its own blockchain
  • Programming language used: Rust

Transaction Details

How it works

"The oracle nodes, called witnesses, are randomly chosen for jobs and to mine blocks based on their network reputation, making majority attacks more difficult. Good actors will thus quickly increase their reputation and acquire more responsibilities within the network, while inactive and malicious actors will rapidly lose all network credibility and with it their right to contribute to the network, making them inoffensive.

Since reputation is so valuable in Witnet, in addition to this transfer of reputation between good and bad nodes after an oracle job, there is also a constant redistribution of reputation at each block (90 seconds) between all active nodes to prevent A. reputation centralisation over the oldest honest nodes and B. exit scam (nodes stopping fulfilling jobs to collect mining rewards only).

The redistribution is performed by a demurrage function at every block: active nodes see their reputation diminished in a logarithmic exponential decay, and nodes that behaved well in that block earn an equal share of this reputation. In other words, reputation is at stake at all times and those with the biggest reputation have the most to lose. Therefore, in order to remain a top oracle on Witnet, you must participate well at all times.

Witnet is its own separate blockchain and can therefore provide decentralise oracle services anywhere via bridge nodes. This might become less relevant with interoperability solutions, but until then, it offers a scalable solution, with reduced on-chain operation fees, and allows to fix critical vulnerabilities in last resort."

"Witnet aims to deliver verifiable, accurate data queries in a totally decentralized, trustless manner. To achieve this, numerous randomly selected, anonymous peers retrieve information from one or more sources and converge that information into a single truth. A common consensus algorithm is then applied to resolve inconsistencies.

Data retrieved, attested and delivered using the Witnet protocol is reliable (without centralized verification) because it comes from anonymous, randomly selected nodes, and so non-coordinated, who are incentivized to remain honest and to compete for rewards.

Because the Witnet blockchain is free, open, and neutral, you can run your own node and mine blocks on the Witnet blockchain. Every node maintains the history of all the transactions on the blockchain."

Consensus

"Witnet features an adaptation of the Byzantine Fault Tolerance algorithm. Nodes, through a cryptographic sortition scheme, secretly compute their eligibility for performing tasks (mining, witnessing data requests), i.e. they compute their Proof of Eligibility (PoE). Such proof is later verified by the rest of the nodes in the network. Among those block reporters elected, the block proposed by the peer with higher reputation is accepted (if valid). More details about the importance of the Cryptographic sortition can be found here."

Defense against attacks

"In our blog in Medium you can find specific explanations, but in summary:

  • Sybil attacks: The reputation system works very well against this attack since it requires the sybils to work on the network to gain sufficient influence. In addition, a collateral fee is required when solving a data request, making the attack economically inviable.
  • Eclipse attacks: In order to avoid an attacker monopolizing all the connections of a node, a P2P bucketing system has been implemented. More details can be found in this post of Medium.
  • Bribery attacks: The implementation of the collateral fee makes any bribe very expensive, for more information, take a look on this post.
  • Majority attacks: The implementation of Witnet guarantees that in order to perform a majority attack, the attacker would need to hold 51% of the total reputation. This is an extremely unlikely scenario, even where reputation is pooled.
  • DDoS attacks: Witnet implements Dandelion to obfuscate the relation between IPs and Public keys, making DDos attacks near impossible."

Mining

"As with most blockchain structures, miners are nodes in charge of adding blocks to the blockchain. These nodes are selected by the Proof of Eligibility, described here. Due to the Reputation system, the barriers to entry are lower than in other Oracles since new nodes do not need to stake a significant monetary amount, nor invest in expensive hardware to become eligible to resolve data requests or mining. This fact incentives new nodes to join the network and thus encourages decentralization."

Different Implementations

Interoperability

Bridges

"Bridge nodes are in charge of the interaction between Witnet and an external public blockchain.

So far the Witnet Protocol has the ability to interact with smart contracts in Ethereum. These contracts are able to send data requests to the Witnet network and receive responses, thanks to the bridge nodes allowing Witnet to act as a sidechain of Ethereum.

At present, the bridging contracts are only deployed in Rinkeby and Görli testing networks. Client smart contracts must interact with the Witnet Bridge Interface (WBI), whose addresses can be found below:

  • Rinkeby 0xf0C67374D08e72dd7424982F76870AE0D6F2055e
  • Görli 0x1053c33f1DcFF9c8F6F6DC07e3F8cb84e46232A1

Whilst Witnet currently only interacts with the Ethereum blockchain, bridge nodes for various other public blockchains, including Bitcoin, are in the pipeline.

More information on bridge nodes can be found in this article from our blog."

Other Details

Privacy Method being used

Compliance

Oracle Method being used

Their Other Projects

Governance

DAO

Self Funding Mechanism

Upgrades

Roadmap

  • Can be found [Insert link here].

Audits

Bugs

Usage

Projects that use or built on it

Competition

"To summarize, up until now most oracle projects have based their approach on specialized oracles. Each oracle is connected only to a certain set of APIs or protocols, and you must choose which oracle to use.

From our perspective, specialized oracles are:

  • likely to have conflicts of interest,
  • scarce and thus rather centralized as too much trust is put on each of them,
  • trivially predictable and thus easily targetable by DoS attacks,
  • in the case of needing human intervention, slow to resolve.

Witnet approach is instead based on the most generalized form of oracles.They perform retrieve-attest-deliver tasks without distinction between the sources they query. In Witnet, the oracle nodes in the network are called witnesses, who function as automated nodes that can be hired to retrieve information from the Internet and deliver it to smart contracts. Although you can decide how many witnesses to employ, you can't choose who they are. Tasks are randomly assigned to witnesses in proportion to their reputation. This way, we get rid of any conflict of interests, since oracle nodes can't even predict which tasks will be assigned to them.

The information for any data request is collected from a specified public API. At the moment, Witnet does not retrieve data from authenticated APIs. Some of the aforementioned specialized oracle networks relay on the confidentiality guarantees offered by trusted execution environments like Intel SGX. This "enclave" is only available on selected hardware, so it's a clear barrier to entry. Moreover, the SGX has recently been proven vulnerable to many attacks, including the widely known Spectre attack. As a result, Witnet focuses on data gathered by public APIs.

Our proposal has a "fairness principle" hard-written into every detail. That's the main reason for refusing the use of TEEs or the SGX. Witnet gives everyone the possibility to spend the spare CPU and bandwidth of their computers (or servers, or phones, or even fridges!) fulfilling retrieve-attest-deliver tasks and earning rewards in exchange."

Coin Distribution

Pros and Cons

Pros

  • Lack of biased reputation in the node selection process
  • No token price exposure

Cons

Team, Funding, Partnerships, etc.

Team

  • Full team can be found [here].
  • Daniele Levi; CEO
  • Adan Sanchez de Pedro; CTO

Funding

=== Partners ===