Sitemap
Outsider Analytics

Outsider Analytics

Data Scientist Working on Zero-Knowledge Proofs on Ethereum

Exothermic Entropy

An explosive exercise enabling EIP 4844 by Mach 34 and Friends

6 min readApr 28, 2023

--

Press enter or click to view image in full size
Photo by Mark Roddy 2023

Cryptography and Ethereum aren’t often combined with rifle-triggered explosions deep in the mountains…

On April 13th, our team of Mach 34 and friends had the distinct pleasure of that combination by contributing the randomness of an explosion to the Ethereum KZG ceremony.

As a part of the KZG trusted setup for the future scalability of Ethereum, the Ethereum Foundation sponsored a special contribution window to allow teams to create and contribute randomness in unique ways. Our unique contribution included measuring the ground waves of an explosion with a seismograph.

Here is the TLDR Tweet Thread:
https://twitter.com/mach34_/status/1647055219422040064

Here is Trent from the EF’s Tweet Thread with all the amazing special contributions well worth your time:
https://twitter.com/trent_vanepps/status/1644051402874933257

What is the KZG ceremony?

https://ceremony.ethereum.org/

The Ethereum Foundation is currently running the largest trusted setup of its kind to secure the future scalability of the Ethereum network. Proto-Danksharding, spec’d in EIP 4844, requires this “trusted setup” to create the elliptic pairing curves needed for the system to work. On writing (4/28/23), the ceremony has over 90k individual contributions to the MPC, and 100k is in the sights!

This might sound technical and strange, but the whole point of the ceremony is to get a random string of text which remains a secret. Using a multi-party computation (MPC), many people can contribute their own randomness into one big random string. Unless everyone involved colludes or is compromised, the Common Reference String (CRS) can be secure and trusted.

Who made this happen?

The special contribution round was enabled by the Ethereum Foundation and championed by Trent Van Epps and Carl Beekhuizen. They were extremely helpful in planning and crisis management, which we are truly grateful for 🙏!

Mach34 is the company that masterminded the Exothermic Entropy project, with contributions from Ian Brighton (@Brightir2025), Jack Gilcrest (@jp4g_), and Brian Wilkes (Outsider Analytics). Mach34 is a full-stack web3 consultancy specializing in applied zero-knowledge cryptography.

We also got a big hand from Mark Roddy (mroddy5280), a full-stack web3 dev of whom we can’t speak highly enough.

What we did:

We set off an explosion and measured the resulting seismic waves using a modified Raspberry Pi called a raspberry shake. The seismic readings were taken over a 5-minute time, including our shaking of the Faraday shield, jumping around it, and of course, the explosion itself. The measurements were then hashed and used as the CRS contribution to the KZG ceremony. Speaking of the ceremony, https://ethereum.org/en/roadmap/danksharding/ is a great read!

Get Outsider Analytics’s stories in your inbox

Join Medium for free to get updates from this writer.

Our open-source code is available here: https://github.com/Mach-34/ExothermicEntropy

Why an explosion?

Randomness is an interesting concept that is hard to quantify. For something to be truly random and secret, it needs to be generated in an impractical way to replicate. What better way to create a random and unreplicable number than with an explosion that blows up everything involved?

What kind of explosion did we make?

We used 4 pounds of a popular binary explosive called Tannerite to create the seismographic waves. The concept is that the ground waves from that explosion should have so many variables like soil wetness and explosive uniqueness that it would be impractical for anyone to replicate the exact same measurements we obtained.

Tannerite, widely known for its dramatic explosion, is a binary explosive composed of two separate compounds: an oxidizer (typically ammonium nitrate) and a fuel (usually aluminum powder). These components are mixed together on-site, just prior to detonation, to form a high-grade explosive. But what sets Tannerite apart is how it ignites. Unlike traditional explosives that detonate with heat or impact, Tannerite requires a high-velocity impact, such as a bullet strike, to explode. When detonated, the energy release from Tannerite isn’t merely flashy; it also transmits a powerful shockwave into the surrounding ground. These mini-seismic events can be detected by a seismograph, registering unique, randomized patterns. This randomness derives from the variable energy release, contingent upon the size of the Tannerite quantity, the composition of the surrounding earth, and the specific impact point.

We placed our raspberry shake seismograph approximately 15 yards away from the explosive in a metal container to ensure it didn’t get damaged. Then we used a 308 hunting rifle to detonate the explosive from a distance of 150 meters. We also used the same setup to destroy the equipment used. We packed the raspberry pi into a container of 2 pounds of Tannerite after the measurement was captured and then blew it to smithereens.

Did everything go to plan?

Of course not! But the underlying goal of using an explosion measurement to make the KZG commitment was successful. Our original plan was to fully air-gap the Raspberry Shake in a Faraday cage. Then after blowing up the explosives and taking the measurements, we would use a speaker to transmit the public commitment out of the Faraday cage. Lastly, the whole cage would be full of explosives which we would blow up to destroy evidence forever.

What went wrong?

The KZG slot time was a specific 4-hour window. In order to get the most security possible, we purchased a brand new raspberry pi for measurement which was a bit different from our test machine. We blew up the explosion as planned and successfully got the random readings. However, on making the commitment, our pi had a fatal flaw: 32 bits instead of the required 64. Because of this, we had to transfer the CRS measurement to a computer and make the commitment there. We wiped the Linux machine ASAP, but our security constraints of full airgap had to be relaxed. Not to mention Trent and Carl from the EF graciously extending our time window and saving the day! It turns out that doing technical projects miles into the mountains introduces some execution risk 😅

What went right?

We did indeed take a random measurement of an explosion contributing to the long-term security and scalability of Ethereum. We don’t think anyone can replicate our project and get the same secret number we used for the contribution. We also didn’t start fires or lose fingers in the process. Although, a certain f-150 truck bumper fought with a tree on the offroad trip to the site…

Press enter or click to view image in full size

Participant ID:

0x147d740aaf617b46e85304d2590acc20a90cee7c

Powers of Tau Pubkeys:

  • 2¹²: 0xb4def5b4585f28b55ea240ecb018b1e0291ef69860629e8fc6561a5a87d45d988c0f156c888c0a786dba4c23df0e6a4c11b1827f2d35466af57dbafd9b9487a0c194f2fbb68ed16da790804c8764016bacea9f9830871bd77643da3574d90c47
  • 2¹³: 0x84a644c897e4dad1f6626c63c93ba3cf55668fed60dbcab652b5adce691b4908af3b51ce739ecade41902c99c1fe075318733e03b785947e4f500ccc2146604d74b502e229c3ccf3627b03a4bbdc3a27a0ab3eb3bbbfab15599889ec2432613e
  • 2¹⁴: 0xa5e0d95150c9fca0d55f729c5b359622f297bb1a5400fbcbfb65b797441df1f2caa00c6b168df639a754e90c826d7fc311782317901b810c8ef1081887ea24adf2a8ada2690a93211486ec390cb862f93af60f1c1110aa157e0c9fbfadd871d1
  • 2¹⁵: 0xb03b424f983ffa7a36426230f4a55c100cfc1c07cedcb586a0f0a4f3e6bc3a9bf0fff0f72acfcc4d7bf5fc137ec55940022f1858ef9668b8c749602bdff2eaa10c20f2f33c19e35484978751d104d2001cdbb36014f2fb1a7abd4718f60017ff

Conclusion

From chatgpt: our experiment using seismic measurements to generate randomness for the KZG ceremony was a novel and exciting exploration of alternative methods for cryptography. Overall, the project was a unique and successful contribution to the long-term security of Ethereum.

From us: We had a lot of fun blowing things up and securing Ethereum simultaneously! A big thank you to Carl, Trent, Mark, and the Mach34 team for all their help in making this possible. We are humbled to be one of over 90k contributions to the future scalability of Ethereum.

--

--

Outsider Analytics
Outsider Analytics

Data Scientist Working on Zero-Knowledge Proofs on Ethereum