The Neo Council completed its second on-chain action by voting to reduce the N3 oracle request fee from 0.5 to 0.1 GAS. The 80% reduction to the fee mimics the slashing of network and system fees performed in September. The motivation behind the change is to make the functionality more cost-effective for developers.

Oracle functionality is one of several new features natively supported in the Neo N3 platform. However, the high GAS cost for its usage made it too prohibitive for applications that need to make regular requests. Every oracle transaction consists of both the request and response, the latter hardcoded to a minimum of 0.1 GAS at the protocol level. That means every oracle transaction would cost a total of 0.6 GAS. With the new change, these transactions now need 0.2 GAS.

Council discussion

The fee reduction was proposed by NNT in response to Discord discussions. The proposal quickly gained approval from other Council representatives from AxLabs and COZ. Nash & Neo SPCC also showed support for a reduction, but raised concerns about how the change could affect the network. In particular, Oracle node hosting economics and the barrier to DoS attacks were highlighted.

Over the next week, Neo SPCC conducted a stress test of the Oracle service on the N3 TestNet. Primarily the test assessed the request throughput of the network. This helped shape expectations for fees by evaluating the cost of flooding the service to degrade its performance.

Testing involved the deployment of a test contract with two methods–one to perform an oracle request, one to process the response. Oracle requests were directed to two exposed endpoints; one returned a simple “OK” result for the success case, and one intended to cause a fault in oracle consensus by returning a random number that would be unique to each oracle node.

At 50 requests per block, almost all Oracle requests are completed within 1 block (Source: Neo SPCC)

Based on the results, Neo SPCC recommended that the oracle request fee not be set lower any lower than 0.1 GAS. In its report, 0.2 GAS was suggested as a safer yet still relatively optimistic target. The team also noted that with optimizations for the Oracle service, more radical fee reductions could be safely achieved.

Neo SPCC shared the report with Council members, after which the proposal was put to the vote. Asked to vote between 0.1 GAS, 0.2 GAS, or for the current 0.5 GAS setting, participating members voted unanimously for 0.1 GAS.

NGD crafted the transaction to set the new oracle request fee, and council members began to add their signatures in turn. After the 11th signature, representing majority approval from the 21 member Council, the transaction was ready to be relayed to the network. This was performed on November 12 and finalized in block 562,621.

About the Neo Council

The Neo Council is composed of 21 member nodes tasked with governing the Neo N3 blockchain. NEO holders can use their tokens to vote in preferred council members. Successfully voting for a council member also entitles NEO holders to increased GAS rewards.

The current Neo Council and network parameters can be found at the below link: