The world is chaotic at first glance. Throwing a die, trading stocks or cryptocurrencies, or simply walking through a crowded city center can have unpredictable outcomes.
Computers are different. Algorithms are deterministic by design. Given the same input, they always produce the same result. In reverse, it’s impossible for a computer to produce a string that is truly unpredictable. What is usually an advantage becomes a problem in cryptography.
To provide truly random numbers for encryption, Silicon Graphics filed a patent in 1996 for Lavarand. By taking photos of a bunch of physical lava lamps, they generated the random numbers needed for privacy and security in the computer age. While the original patent expired, the most important internet infrastructure provider, Cloudflare*, built their own lava lamp wall in their San Francisco headquarters. They are used to provide SSL/TLS encryption to their customers.
Chance turns the Lavarand concept on its head. It generates a simulated lava lamp from the unique seed that is stored in each generative NFT. The ThreeJS simulation runs in the browser. Unlike the physical lava lamps, their movements are determined because they follow mathematical calculations that always produce the same movements and shapes. Under which conditions could the simulation become as complex as the physical lamps?
Thank you to the three.js community and the creators of the Marching Cubes example (greggman, Henrik Rydgård). Optimized for Chrome version 105.
*according to Forbes “How Cloudflare Became The Most Important Internet Company Nobody Has Heard Of” (Dec 4, 2020)