Witnet Community Q&A : November 2019

Questions regarding all things Witnet, posed and answered by the Witnet community. Got a question about Witnet? Check out the links at the end of this article.

Thomas Smith
The Witnet Oracle Blog
3 min readNov 13, 2019

--

Q: Is RADON an API format scheme or a true DSL?

A: RADON, Witnet’s “language” for oracles, doesn’t fit into either category perfectly, although it most closely resembles a Domain-Specific Language (DSL) and bytecode. Currently (Nov 2019), it could be classified as an “intermediate representation”/ “intermediate language”, in that:

An Intermediate Representation may take one of several forms: an in-memory data structure, or a special tuple- or stack-based code readable by the program[1].

For an overview of RADON, please see the recent presentation made at DevCon 5:

Q: How does the system deal with inconsistent source attacks? i.e. request data that changes frequently.

A: This is a great question, and one that will be covered in an in-depth article in the next few weeks. The article will be posted here and across Witnet social media channels once it’s been completed, so keep an eye out!

Q: How are p+epsilon attacks being considered by the Witnet community?

A: P+epsilon attacks are those in which an attacker promises a bribe slightly higher than the reward obtained by honest participants (those that did not manipulate their votes).

The Witnet protocol has numerous countermeasures in place to prevent these attacks:

  • Unlike in the case of human voting systems, the Witnet protocol has software nodes performing tasks. Therefore, Witnet assumes that it will be difficult to convince a person to trust and use an altered version of the software, which may lead to a complete loss of funds.
  • Witnet nodes are randomly chosen to complete tasks, and thus, even if an attacker is able to bribe more than half of the network, there is no guarantee that said nodes will be selected.
  • Witnet biases probability of node selection on past behavior, so it is assumed that the majority of the committee is composed of honest peers (those that have the highest interest on the health of the network)

As a further precaution, to prevent p+epsilon attacks (and wider bribery attacks), the Witnet network requires nodes to stake WIT tokens, with the required stake defined by the smart contract creator.

For more in-depth reading on Witnet’s approach to deterring bribery, please visit the blog post below.

Q: What’s Witnet’s stance on nodes being (ab)used as clickfraud farms?

The question in full:

What’s Witnet’s stance on nodes being (ab)used as clickfraud farms, since requestors can be effectively asking a random set of nodes to query arbitrary URIs. Are the economics assumed to never be to the financial advantage of a fraudster, so be a “madman” attack?

A: There are a few things to consider when answering this question:

  • The Witnet protocol has a technical upper bound on the number of nodes that can be requested to complete a data request. This prevents the data requestor from creating a single query to perform the same action in excess
  • Each node will only be able to do one request per epoch, and so using Witnet to “farm clicks” or perform Denial-of-Service (DoS) attacks would be significantly slower and more expensive than alternative methods

Got a question about Witnet?

--

--