No Sleep ‘Till Brooklyn: ETH New York Recap

No Sleep ‘Till Brooklyn: ETH New York Recap

ETH New York ended Sunday night. The two-and-a-half-day conference came on the heels of Consensus 2019 and was intellectually stimulating, creative and fun. Rewinding back to the start of the event I must mention that following the opening ceremonies on Friday evening, you could sense the excitement in the air. Participating hackers scouted out the best spots in the building to hunker down for two nights and two days of design, development and testing.

The Venue Matters: The New Lab

Located in the renovated and re-purposed Brooklyn Navy Yard in New York, the New Lab shared workspace was charming and inspiring with vestiges of its past as a Navy ship repair facility with the remaining overhead gantry cranes melded in with the latest in tech development.

While all this was going on, there was also some classroom time as well. The opening ceremonies featured a keynote presentation by Vitalik Buterin, founder of Ethereum, where he discussed various ways in which collusion can be used to influence consensus outcomes. I sat next to Vitalik. He and I are now BFF’s.

ETH New York Begins

ThunderCore’s participation in ETH NYC had four main aspects to it:

  1. Opening Ceremonies and Tabletop Exhibit
  2. Developer-focused workshop Deploying and Interacting with the ThunderCore Blockchain
  3. Technical Talk – ThunderCore a Scalable, Secure, and Fast Blockchain
  4. ThunderCore Sponsored Bounty Challenges, Judging, and Winners

Opening Ceremonies

I presented a short overview during the opening ceremonies on what to expect and disclosed the bounties we were offering as a sponsor.

The Tabletop Booth

The booth was literally just a booth. But it was still cool because it became the place where devs could come and speak with ThunderCore engineers for mentoring. Many also came for the swag and to learn more about ThunderCore, especially about how we plan on helping developers get users.

Developers we spoke with were excited about the fact that ThunderCore is an EVM compatible blockchain with 1200+ TPS and delivers a sub-second confirmation time, and really low gas fees. For developers with a need for better performance and cost, ThunderCore offers to best solution.

Developer-Focused Workshop

Deploying and Interacting with the ThunderCore Blockchain was led by Ashwin Ramachandran and Julien Tregoat, both engineers at ThunderCore. The session focused on the EVM compatibility of ThunderCore and also developers’ ability to use the Ethereum tools they know and love like Remix and Truffle. The audience had the opportunity for open Q&A and seek answers to specific questions.

Technical Talk Session

We also had an opportunity to participate in the Technical Talk Session. Our talk was entitled ThunderCore a Scalable and Secure Fast Blockchain led by ThunderCore VP of Engineering, Jianqing Zhang. The one-hour long session at ETH NYC also featured special guest Dr. Elaine Shi, Chief Scientist at ThunderCore. Dr. Shi later assisted with answering a number of questions related to PoS and Consensus models.

ThunderCore Sponsored Bounty Challenges

The most anticipated part of the program was the Bounty Challenge. Each of the sponsors puts up the money for the challenge and developers then select which theme they are going to build on. Developers can participate in teams (of up to four) or as solo contestants.

The ThunderCore team had come up with the criteria and the bounty prize amount that each team could win.

  • Best Stack Combo: Create a useful application using ThunderCore and several other protocols. Winning team receives: $3,000
  • Best Tooling: Make it easier for developers and users to use the ThunderCore blockchain. For e.g.: Dev services, Dev tools, stable coins, decentralized exchanges, etc. Winning team receives: $2,000
  • Best Game or Dapp where users can wager Thunder Tokens and win rewards in Thunder Tokens. Winning team receives: $2,000
  • Privacy: Build a solution that enables private transactions and private smart contracts on ThunderCore. Winning team receives: $1,000

The Winners

Robot Rumble won Best Game and Best Combo. And we had a tie for Best Privacy Solution.

Robot Rumble: Best Game and Best Stack Combo

Robot Rumble was one of the most innovative teams I have encountered. I loved how they combined various protocols to make a unique dapp.

The description below is based on their Devpost entry.

The next generation of GAMING on the BLOCKCHAIN is NOT just VIRTUAL it is CYBER-PHYSICAL — A mixture of (1) physical gaming agents, (2) immersive online interactions, and (3) real-time economic transactions. RobotRumble brings you the future of gaming on the blockchain through real-time physical one-on-one robot battles and real-time betting.
What it does
Show the whole world what you’re made of by claiming the number one spot as world’s top robot driver. You can take part of RobotRumble as (1) robot driver, (2) spectator, (3) gambler, or (4) entropy producer e.g. Tweet
(1) As a robot driver you can take control of one the robots by purchasing your seat as a driver. Additionally choosing to bet on yourself (2) As an spectator you can watch the live streamed race, and also play the role of entropy producer (3) As a better, you can bet on your favorite robot/driver, and also play the role of entropy producer (4) As an entropy producer — — You can Tweet (on Twitter) and take over control of a destroyer robot mean to interfere in the races — — You can boost the speed of your favorite robots (make them fast as lightning) buy staking ThunderTokens, or likewise you stake ThunderTokens to slow down your robot’s opponent. _ The amount of Thunder tokens to stake is decided based on a dutch auction (game incentives sections)_
How We built it
(1) We put together a set of open-source robots (Kobuki, Turtlebot) that are controlled by smart contracts and teleoperation through a web-based dapp. (2) The smart contracts were developed on Solidity and deployed into ThunderCore Mainnet (3) We used random number generator oracle from ChainLink because our game combines entropy with strategy (4) And our identity provider and wallet was — a product we discovered at ETHDenver. (5) We implemented the robot control algorithms, and designed a the incentive mechanism and collusion resistant protocols of the game.

ERC20 Voting App: Best Privacy Solution (Tie)

This team was innovative and came to our booth a lot to collaborate with us and ask questions about the ThunderCore Blockchain. In their words:

Any ERC20 token should have the governance!
What it does
It allows anyone to create a ballot for current token holders for any ERC20 token.
How we built it
We used Solidity, Js, Merkle trees,, thundercore. Basically, we create a token cap table by using Transfer event for ERC20 token and calculate the balances for each token holder. Once it’s done, we create a merkle tree and a deploy smart contract with merkle tree root hash. Then anyone can cast a vote using the frontend UI if the voter is in the snapshot that was taken at particular block number.
Challenges we ran into
We used ZRX token as an example and it had 900,000 Transfer events and it took some time to process this large amount of data to generate token cap table. Right now, it’s a bit slow because the cap table consist of 90,000 token holders and for the demo purpose we had to cut the list down to 30,000 because the merkletree.js library is very slow to generate merkle proof out of this list. One of the optimizations that could be done is to pre-generate the merkle proof for every token holder to speed it up OR to rewrite merkletree.js library
Accomplishments that we’re proud of
Protection from double voting
Very cheap deployment comparing to Aragon
Aragon doesn’t provide tools for generating cap table
Aragon forces you to upload whole token cap table into a smart contract which can be very expensive
Trustless, verifiable, provable approach
Anyone can create such ballot even if you are not a token holder
Doesn’t require to have any special token. It works for any compliant ERC20 token that was deployed at anytime.

I Vote You: Best Privacy Solution (Tie)

This team implemented zk-SNARKs to do offline computation for speed, and then recorded the results on the ThunderCore blockchain. In their words,

Anonymous voting is Based on Vitalik’s opening speech and proposal from ETHNewYork hackathon.
Vitalik’s opening speech touched on the fight against plutocracy, and how to eliminate bribes with the help of game theory and zkSnarks. So we decided to BUIDL it!
What it does
It is a voting constructor. The zkSnark based framework that will generate voting with the selected parameters.
We implemented the “Best Gold Sponsor award” with Anonymous voting by all hackathon participants (according to kickback list of attendees:
Research objective
Plutocracy or pressure on voters is well-known issues. We describe how to solve it via cryptography.
In our model, there are 3 kinds of participants:
stakeholders (candidates, etc)
* We need to guarantee the following properties of the protocol:
* Any voter can hide his personality from anybody (including without limitation if counters cooperate with stakeholders)
* Any voter cannot create proof that he has voted for any choice (during voting and after counting)
* Voters cannot transfer control for their votes to other persons exclusively.
* It is guaranteed for any voter that his last vote is counted.
How we built it
Circom based zkSnarks, with ideas from miximus. (Thank you Vitalik for your article about voting). And recorded results and the “Best Gold Sponsor” table on ThunderCore
Users get voting rights from the smart contract for their Ethereum accounts
Users create unique secret assecret = hash(address,salt1) and publish account_hash = hash(secret, salt2) at the smart contract. Also, users publish snark proof, that the computation is correct. This procedure can be executed only once for each account with voting rights.
Users can anonymously not exclusively delegate their voting rights to another account, publishing a snark with multiple existed account_hash public input, new account_hash public output (corresponding to the same secret, but another salt) and private selector of one of the inputted accounts.
Users publish encrypted via counters private key message = {voting_vector, secret} and snark proof that message is correct and encryption is correct.
After the end of voting counters MapReduce all messages from last to first via snarks without publishing any subtotals. If the secret is new, we increment subtotal vector and add the secret to set of known secrets during the counting (how to do it is described here ). If the secret is not new, we pass the addition and just update the state’s salt to hide from others that the secret is not new here.
After the end of the counting, the resulting vector is published with proof.

On behalf of ThunderCore we would like to thank the community, the developers and those that made it a point to stop by and see us during ETH NYC. If you are a developer and are interested in building on the ThunderCore blockchain reach out to us at and we can help you get started.

Share on twitter
Share on reddit
Share on telegram
Share on whatsapp
Share on email

More to explorer