Totle’s Highlights from HackSC

Totle
Totle
Published in
4 min readApr 22, 2019

--

Totle Team talking to developers at HackSC. Can’t miss Noah Passalacqua’s Totle Socks!

The Totle Team had an incredible weekend at HackSC. We were able to mentor and coach several groups with no previous blockchain experience on a variety of topics — from smart contract development to incentivizing a decentralized networks of nodes to DeFi. We were so impressed with the submissions that we had to share them with you.

Recently, our friends at Marble developed a public tool called Polaris, which is an on-chain price oracle for ETH/DAI pairs on Uniswap, designed to be resistant to attacks and flash crashes. This is incredibly useful for DeFi lending protocols and decentralized OTC platforms that need accurate and attack-resistant price data.

At HackSC, we set out to educate students about on-chain price oracles and incentive mechanisms in decentralized systems while encouraging students to innovate on Polaris and other on-chain oracles. The goal is to continue improving solutions for the wider Ethereum ecosystem.

One area for potential innovation is around poker incentives. For example, Polaris charges subscribers 5 ETH per month to incentivize pokers to upkeep the system by calling a “poke” function under successful conditions. The role of Pokers are to keep price data on the oracle as close to real market prices as possible. The pokers only have to pay gas, and are rewarded with an oracle token that can be redeemed later for an equal portion of ETH that sits in the Polaris contract.

Price lagging is another area for potential improvement on existing on-chain oracles. For example, in Polaris, the price lags the market for real market crashes (although it is incredibly resistant to flash crashes). We thought there might be other creative mechanisms to value checkpoints that meet the poke conditions.

Each of the winning submissions had attributes that were particularly exciting for Ethereum.

Third Place: Vega

Vega built an app that allowed anyone to poke the Polaris contract directly from their phone — no development experience required. We were very excited about Vega’s focus on user adoption and educating everyday people about the opportunities that lie in DeFi.

Second Place: Artis

Artis was the one of the only groups with a working smart contract. We were impressed with their functional demo and the way their team assigned pokers to subscribers. In Artis, pokers were assigned based on how much they staked in the Artis contract. Higher stakes correlated to higher likelihood of being matched with a subscriber. Subscribers only had to pay for the time that they wanted to stream the price oracle data, eliminating unnecessary costs for subscribers and pokers during times of inactivity.

First Place: Curvy

Winners of Totle’s Prize at HackSC! Jonah Yamato, Dean Wasil, Marco Aguilar.

This submission was particularly innovative for its simplicity in design, which focused on improving price tracking during real-market crashes while remaining resistant to flash crashes and other attacks.

This team used an s-curve to weigh the most recent checkpoints more heavily, accelerating the time it takes to calibrate to real market prices during a non-attack price crash. This is particularly useful for traders making large OTC trades, who do not want to wait up to 10 minutes for accurate price validation when the ETH/DAI prices are falling from natural market forces (as opposed to some attack) that would in theory be reversed naturally.

uint8 result = 0;
if (_percentChange(medianizer.median, checkpoint) >=
MIN_PRICE_CHANGE) {
uint8[16] weights = [0,1,4,9,19,30,41,47,50,47,41,30,19,9,4,1];
uint8 count = 15;
uint8 weights_sum = 0;
while (count >= 0) {
result += medianizer.prices[count]*weights[count];
weights_sum += weights[count];
count -= 1;
}
result /= weights_sum;
}

medianizer.median = result;

Finally, to better the 5 ETH per month subscription model that subscribers must pay, under Curvy’s submission every new subscriber would pay 5 ETH divided by the number of subscribers. This would incentivize subscribers to encourage more subscribers to split the cost with them each month.

uint public constant MONTHLY_SUBSCRIPTION_FEE = (5
ether)/accounts.size;

We cannot thank these teams enough for all of their hard work. The Totle Team is excited to continue supporting these students through the development of their projects, while potentially incorporating some of their creative ideas in future work for the Ethereum community.

Get in touch with us!

Telegram

Twitter

Facebook

LinkedIn

hello@totle.com

--

--