any.sender + CyberDice 2.0 = 3 ETH prize

Patrick McCorry
anydot
Published in
6 min readApr 21, 2020
The first skin-in-the-game transaction relay as a service API

tldr; We have released any.sender v0.2.1 (beta) on mainnet alongside a provably fair competition, CyberDice 2.0, to demonstrate how easy it is to use the any.sender API. Please visit https://www.anydot.dev/competition/ or join our Telegram Group to find more about how to submit a ticket to CyberDice 2.0 and be in the chance to win 3 ETH.

On Black Thursday, we witnessed two failures surrounding competitive transaction infrastructure that worked in favour and against MakerDAO.

Price feed. The first failure was the delay in submitting the price feed to the MakerDAO contract — this provided essential time for other participants to top-up their collateralised debt position (CDP).

Liquidations. The second failure was the inability of MakerDAO Keepers to cope with the congestion and submit their bids to the liquidation auctions. As we all know now — this led to $8.32 million in liquidations at the price of 0 DAI.

With hindsight, both scenarios are foreseeable as building reliable and globally competitive infrastructure is a really hard problem that all projects need to replicate.

any.sender v0.2.1 (beta) has arrived on mainnet

This is why we are so excited to announce the release of any.sender — the first skin-in-the-game transaction relay as a service API — to help projects compete in the global fee market and stop a repeat of the events that occurred on Black Thursday due to the lack of good transaction infrastructure.

Just to recap, any.sender is our flagship product that provides a very simple API for guaranteeing that transactions are relayed to the Ethereum network in a timely manner. It provides the following services:

  • Republish periodically. Our service will republish your transaction periodically to ensure it is never dropped by the network.
  • Highest fee first. We sort all transaction queues by fee, so high-paying transactions never get stuck behind other transactions.
  • Real-time fee adjustments. We gradually bump the fee until the transaction gets in the blockchain — ensuring it gets in by a block deadline.

We hope by offering any.sender as a service, then projects will no longer need to write code for estimating gas prices, bumping fees or dealing with stuck transactions.

Furthermore — we have designed any.sender to let projects outsource their transaction infrastructure in a non-custodial manner. So the only duty of any.sender is to relay pre-approved transactions to the blockchain and the service has no authority over it. A truly trust-minimised service.

Getting started with any.sender is easy.

  • Download any.sender client (npm i @any-sender/client)
  • Deposit a balance into the any.sender relay contract
  • Send a RelayTransaction to the any.sender API.
  • Watch any.sender at work as it gradually bumps the fee until it gets in.

While there is more information about getting any.sender up and running here, we have cooked up a special surprise to help encourage you to try it out…

CyberDice 2.0 — provably fair competition

To kick-start the any.sender launch, we have put together a smart contract edition of CyberDice —a peer-to-peer gambling protocol from 2008 which was initially developed by the authors to work out how untrusted and pseudonymous parties may gamble if their only assumption is the use of strong cryptography.

The gameplay is straight forward. All gamblers simply submit their tickets (alongside a fee) and then a distributed set of parties (issuers) submit their deterministic signatures. All signatures are aggregated into a single hash to compute the beacon and the final winner.

Some of the issues they ran into for CyberDice 1.0 are interesting:

Issuer responsibility. The first is how to handle money in a way that won’t implicate the issuers into the gambling practice while ensuring they only payout if the protocol was executed correctly:

Their (Issuer) only responsibility must be to issue bit strings that can be used as currency and then exchange them back into currency according to a previously agreed deterministic criterion for accepting or rejecting the claim.

CyberDice 2.0 simply removes humans from the equation and relies on a smart contract to have custody of the funds.

Deterministic, but unpredictable beacon. If you read the live discussion of the paper, there is a lengthy discussion around the uncertainty of a deterministic signature scheme that is unpredictable and still secure.

Tuomas Aura: Yes, so you’re saying it has to be deterministic?
Matt Blaze: Right, so which non-randomised signature algorithm is still considered secure?
Tuomas Aura: Maybe for these purposes you do not need a proper signature, you might just use something like plain RSA.
Matt Blaze: Plain RSA with no pattern, or with deterministic pattern?
Bruce Christianson: But even with vanilla RSA, I’m still worried that a corrupt issuer might force you into a smaller subgroup by having a modulus of the form pq2 or something.
Matt Blaze: I’m more worried than ever that you’re depending on cryptographic primitives that may not exist.

CyberDice 2.0 relies on the League of Entropy — a distributed (yet deterministic beacon) using BLS.

Of course, not all is rosey, as Ethereum cannot verify BLS12–381 signatures due to the lack of BLS implementation standards. So while the game is provably fair (e.g. anyone can download the transcript and verify the beacon was correct), the smart contract itself cannot verify the beacon’s integrity.

To workaround the issue, we are grateful for the following individuals who have agreed to act as oracles and fetch the final beacon for us:

We plan to make another announcement in the next few days with the round number for the final beacon :)

What is the prize? Be in the chance to win 3 ETH

Of course, we need to clearly state that AnyDot is not in the business of gambling and participants cannot submit bets.

The competition will run for 6 days starting Tuesday 21st April until Monday 26th April.

To enter, you must solve a technical challenge to submit your ticket via the any.sender service.

Successful output after submitting your ticket

After you submit your ticket — you’ll have the opportunity to post a fun message (or gif) to the competition message board.

A public bulletin board for posting a message upon submitting a ticket

To find out more, please visit https://www.anydot.dev/competition/ to start working on the technical challenge and to ultimately submit your ticket to CyberDice 2.0. You will be in the chance to win up to 3 ETH.

Note — anydot is not in the business of gambling — and our competition is not a simple game of chance. It is geared towards developers who may want to use our service and all entries must solve a short technical challenge that requires specialist skill (e.g. coding + nodejs + Ethereum) before their submission can be entered into the prize draw.

That’s all for now.

We really hope you take part in the competition as 1) it will help us demonstrate the ease-of-use and fun of any.sender and 2) it is a great opportunity to take ideas designed for fun 10–20 years ago and demonstrate we can in fact run with it today.

--

--

Patrick McCorry
anydot
Editor for

In-house Professor @ Infura. Sometimes called stonecoldpat ☘️