Inside the Orb: Privacy in World's Hardware

EthCC[9] · 2 Apr 2026 · 32:41

0xPenryn takes apart World’s Orb to explain its hardware-based humanity verification. The demonstration also examines how World ID uses multiparty computation and zero-knowledge proofs to protect privacy.

Speakers

Topics

From EthCC[9], hosted by Ethereum France.

Transcript

[music] >> Hello everyone. Thank you for coming. I'm Ian Dilick. I do developer relations at the World Foundation. This is my colleague Johannes Kitzing. And today we are going to show you inside the Orb, talk about privacy and World's hardware. But first, I'm going to give a little bit of background context. So, World with World ID is working on proof of human. How do you know that you are dealing with a real unique human online and that that person isn't running, you know, 10,000 accounts or anything like that.

Right? So, that requires both knowing that this is a real living human being and if they are unique, if this is the first time that that you're interacting with them or that they're creating an account on this platform. Uh and this is actually a really really really hard problem. Uh it is not the same problem as, you know, KYC or things like that. Right? For World ID, it's not about which human you are, just that you are a human only doing something once. With the protocol, uh the previous version of World ID, World ID V3 was essentially an implementation of Semaphore built by PSE, uh

which in short is proving that you control the private key to a public key in a Merkle tree, uh with that Merkle tree being the set of verified humans. For World ID V4, now the World ID itself, rather than being its own sort of key pair, uh is actually just registered in a Merkle tree on chain. There's one Merkle tree, the World ID registry for all World IDs, and then each World ID within that tree has its own smaller Merkle tree of valid authenticators. So, you can have multiple apps that can use your World ID and things like that.

Uh the nullifiers, the like one-time use uh value that's used for the uniqueness within the protocol, uh is now handled by an OPRF setup, uh an oblivious pseudo-random function. Uh this is to ensure that at the protocol level uh that nullifier is only usable once rather than the relying party themselves having to enforce that uniqueness. Uh we've also added authentication features for relying parties to prevent things like proof fishing, uh but the core logic of the protocol remains the same. You're proving that you can validly generate proofs for a

leaf in a Merkle tree. But for determining who gets the credentials that uh are represented within World ID, for proof of human, custom hardware is really the only way to know that this is a real unique human at the scale of all of humanity. Uh you know, when you look at things like phone numbers or emails, uh those are really really easy to spin up new ones. Um looking at government IDs, while useful for some contexts, isn't scalable to all of humanity. Less than half of the global population has a digitally verifiable government ID.

And at the same time, some people have multiple passports. So, it's not perfect for strict uniqueness. With the Orb, it serves a couple purposes, uh but the way we handle uniqueness specifically is with the iris code, the pattern of the iris. We looked at fingerprints, face scans, palm scans. None of those have enough entropy to be useful for uniqueness at the scale of all of humanity, or they're something that changes too much over time, either naturally or something that can be changed uh intentionally.

Um the other thing about the iris is that in addition to changing very very little over time, it doesn't really tell us anything about who you are. It doesn't reveal much other information, right? Age, gender, race aren't things that you can learn just from looking at someone's iris. And in order to have privacy with these iris codes, we worked with a team called Deseo um to build the anonymous multi-party computation system. So, when you verify at the Orb, uh it generates this iris code, it's transferred to your phone, and then that iris code is split into multiple secret shares.

Each share goes to one party in this multi-party computation system, and then within that multi-party computation environment, they're checking that your iris code is unique from everyone else who's ever verified at the Orb without any of them ever learning your iris code. Additionally, the Orb takes a photo of your face that's transferred to your mobile phone, and that allows for face off in the future. So, this is, you know, just another authentication layer, very similar to how Face ID works on your phone, ensuring that the person in front of the device trying to generate that proof for World ID is actually the person who that World ID belongs to.

So, in short, the user's phone generates a key pair that's used for encrypting the communications with the Orb, uh and additionally used for like encrypting the backup of the data from the Orb transferred to the phone. Uh the Orb uses data from all of its sensors and over a dozen machine learning models running locally on the Orb to ensure that this is actually a real living human who isn't tricking the Orb, right? Not a cat, not a dog, not a photo of a human, not a mannequin head, and then much more specific things like making sure that you aren't wearing a contact lens with a fake iris printed on it.

After that, it takes a photo of each iris, photo of the face, calculates the iris code. All that data is signed and encrypted, transferred to the user's mobile device, deleted from the Orb completely, and then from the phone, the user communicates with the multi-party computation system in order to ensure they're unique and complete that credential issuance process. So, with all of that context in mind, let's take a look inside the Orb. So, Johannes here has already started uh some disassembly.

So, he's removed uh the bottom shell from the Orb here, or the bottom portion of the shell, the outer metal ring. We have the battery here as well, and then the outer clear shells. So, now we can go ahead and remove the inner shells and start to see the actual insides of the Orb here. >> [snorts] >> This is the Orb. Everything that you see at the front of the Orb is where all of the uh sensors are contained.

Um So, the sensor bar at the bottom, we'll get into some more details there. At the top, there is a mirror that's part of a gimbaled mirror system for the iris camera. We'll get to see how that works in more detail as well. Uh so, this sort of plastic frame here holds all of the antennas used for the Orb's communications. Uh this includes both Wi-Fi and cellular data and GPS antenna required for the cellular system.

Uh the Orb needs this Wi-Fi connection in order to transfer the data to the user's phone. Um it is done over an encrypted relayed connection, uh but cellular can be used as a backup in situations where Wi-Fi is not available. So, the screws he's removing now will allow us to take off the front inner shell of the Orb. As [snorts] you can see, everything is quite tightly packed inside. >> [snorts] >> It's intentionally not very easy to get

inside the Orb. Uh As it is a trusted hardware device, there's lots of uh like tamper resistance mechanisms, etc. And uh a part of that is just that you have to take these shells off in order to get to anything on the inside if you were trying to act nefariously. But already at this point, the Orb would have uh detected that it's been tampered with and disable itself. So, here we can see sort of everything inside the Orb.

Uh starting to disconnect a few of the cables for the iris camera here. At the top of the Orb, you can see a fan that is used for cooling the Nvidia Jetson Orin NX that sort of serves serves as the brain of the Orb. Uh it is what runs all of those machine learning models, does all of the other computation.

And we'll be able to see the Jetson later after the cooling shroud is removed. But there are quite a few other steps before that. The screws that he's removing right now hold on the sort of front camera unit. This has all of the sensors that the Orb uses to determine that you are human. And we'll get to dive deeper into that in just a second. And again, lots of little connectors to make sure that we remove very carefully.

So, this here is the overall front sensor unit. So, again, we have the plate at the front which uh has all the sensors that uh are making sure the user is actually human. We have lithium-ion battery that is used to ensure that the security and tamper-resistance mechanisms for the Orb remain powered on even when the main battery is removed. And then at the back here, we have uh the sensor for the iris camera as well as the system for the polarization filter that we can dive into a bit more deeply in a second.

That polarization filter allows multiple images of the iris with uh different uh polarizations to be taken. This is again for detecting uh ways that people might try to present some sort of fake iris to the Orb. And now the entire iris camera assembly itself has been removed. So, in addition to the sensor and the polarization filter, there is a custom liquid lens. Uh this lens offers very high zoom so that the majority of the camera's field of view is filled by the iris itself to have as high quality of an image as

possible. Uh this lens can also focus very finely down to a plane measured in tenths of a millimeter to ensure a very sharp image of the iris. Uh again, so that that iris code can be generated with as much entropy as possible so that we have the best uniqueness possible and avoid uh false collisions for the iris code. So, this is the lens assembly here. The polarization sits in between the sensor and the lens.

Uh that polarization filter rotates to have uh the different polarizations for the subsequent photos. So, this is the polarization filter itself. All right, we can see that there's three different filters there. And [clears throat] then the motor that turns the filter as well as the sensor for the iris camera.

Uh the iris camera is actually using infrared rather than visible light for the images of the iris. Uh this normalizes lots of different lighting conditions and as well means that we don't have information on the color of the iris. Um as we'll see later, there are infrared LEDs to sort of illuminate the scene in infrared as well. But prior to that, we will get to see the gimbaled mirror system.

Uh you might be wondering, why is there only one iris camera if we have two irises? The gimbaled mirror system is effectively allowing that iris camera to point at one iris and then the next. Uh there is a single fixed mirror and then a mirror that can move on two axes. Uh And the Orb determined where to point that camera based on data from a wide-angle camera as well. Yep, this is just the back cover for the

gimbaled mirror system. So, we can see inside we have the motors that move the gimbaled mirror. And at the front of this assembly is uh the infrared LEDs, which we'll get to see in just a second. This is a very tightly packed machine.

How many units are you planning on producing from the Orb? Uh it was 8,000 units of the new generation of the Orb that we produced in the most recent manufacturing run. Uh and that'll continue to get scaled up over time. I don't think there's any like one number that we say it's like, this is how many Orbs we're going to build. Any other questions in the meantime? I'm

really sorry I came in late. Have you already got a word on who the signer is? No. Okay. We have not. Or will you get to that? You can We will get there. Okay. That was Uh how does the tamper resistance Can you repeat the question? Um how does the tamper resistance um um detection work and what do you have to do to make this Orb operational again? Unfortunately, I can't answer how the tamper resistance works. Um but I guess this also sort of answers the previous question a little bit. Each Orb has a secure element with keys provisioned at the factories so that World App and all the other components

of the system can ensure that this is legitimate Orb. Um so if the Orb is tampered with, uh that key can be revoked. So, here we see uh sort of the core of the gimbaled mirror itself. Um additionally, there is uh an infrared filter in place here between the gimbaled mirror and the fixed mirror. Uh this is actually one of my favorite parts of the Orb. The very earliest prototypes did have two cameras, one for each iris.

Um but with this, you know, we only need one of these very specialized lenses, um only one of the iris cameras, and it makes things quite a bit easier for the user as well. They don't have to try and move to put one eye or another in front of the Orb. Yep, this part here is just uh an adapter for the stepper motors in the gimbaled mirror system.

It's quite small, not too complex. And now we have removed the front uh sort of sensor hub from the assembly. So, this piece here is aluminum, correct? Yes. So, this aluminum piece here, you'll see it has a large thermal pad. The PCB that contains all the infrared LEDs uh sits directly against this thermal pad. They do consume quite a bit of power. They do get quite hot, and this is necessary for the cooling of those LEDs. So, this PCB here has all of the LEDs uh as well as uh two rings of RGB LEDs.

These are what communicate to the Orb operator and the user the state of the Orb, the progress of the sign-up. Uh different colors indicate whether it needs a Wi-Fi QR code or an operator QR code uh things like that. The infrared LEDs uh are actually pulsed uh rather than just adjusting the brightness directly. Um So, when they are pulsed on, they consume quite a lot of power. One thing you might see on the main orb assembly here is that there's lots of capacitors at the bottom. Uh those are there for two reasons. One is to handle the current spikes when the infrared LEDs

are pulsed on. Uh without them, the high current draw would lead to voltage drop and cause the whole orb to reboot and everyone has a bad day. Uh but the other purpose they serve is allowing the batteries of the orb to be hot swapped. Uh so, the orb can run off of the uh power in the capacitors for a few seconds while the battery is removed and a freshly charged one is put in. So, here we have the front plate.

Um behind here is where the gimbal mirror sits. And in this lower section is where the sensor bar sits, which has now been removed. And this is I would say one of the most finicky parts of the orb to work on. So, this contains all of the other sensors beyond the uh iris camera. So, we have a thermal camera. It can to make sure that the person in front of the orb is actually around the temperature that a real living human is.

Uh we have the wide-angle camera that takes the image of the user's face as well as tells the gimbal mirror system where to point the iris camera. And then, we have a 1D time-of-flight sensor to determine the user's the correct distance from the orb and a 2D time-of-flight sensor, similar to how a Face ID sensor works on an iPhone, uh that determines that the shape of the face is roughly what a human's face should be shaped like and not a flat image, for example. So, all of these sensors uh sit on one shared PCB and connect through a single cable to the main board.

Oh. So, now we are removing the cooling shroud for the Jetson, the brain of the orb. Uh all of the air intakes and exhausts sit at the bottom of the orb through the holes on this bottom plate. And everything is sort of built around this one metal frame.

Um this frame is not perfectly vertical. It's tilted somewhat. And that tilt is actually designed to match Earth's axial tilt. Fun little Easter egg for project called World. Um and here we see the cooling fan that's used for the orb as well. So, he's now removing uh the piece that holds the Jetson in place.

Like previous Jetsons, it uses the form factor of a laptop memory module. So, this entire component is piece made by Nvidia. Um one other security feature of the orb that's enabled by the Jetson, uh during production, certain fuses are set on the SOC that ensure that will it will only run firmware signed by a specific set of keys. So, as we will see in just a second, uh the firmware for the orb is actually stored on an SD card.

But, if you were to take out that SD card, try to put some other firmware on there, the orb would refuse to run it because it is not signed by Tools for Humanity. There's the cover for the SD card. And then, the SD card itself is removable through the battery compartment. So, you can actually remove this SD card

from an orb without having to do any of this disassembly, thankfully. The reason that the firmware for the orb is contained on an SD card rather than uh an SSD as the previous generations of the orb, is so that uh you can verify that the orb that you're considering verifying with is running the software that we have signed. And when the orb software is fully open source, it's already majority open source, but when it's fully open source, you'll be able to compile it at home, generate a checksum, and compare that to what is actually running on the orb in the field.

So, here we see the main board and power board assembly. These two PCBs uh are separate and do disconnect. So, the power board at the bottom uh is what uh steps down the voltage from the battery to the voltage needed for the Jetson, all the various motors, everything like that. The capacitors here, as I mentioned, allow the battery to be hot swapped and uh allow the orb to handle the voltage spikes from the infrared LEDs.

Um and it's all quite compact. On the main board itself, uh we have a microcontroller for controlling the LEDs and various other uh servo motors for gimbal mirror, etc. Uh we have the Wi-Fi chipset for the orb, uh so that it can connect to the internet and be able to do sign-ups. But as a backup, we also have a cellular data module.

Um we also have a few shields for some of the security mechanisms of the orb. But overall it is extremely compact for the amount of things built into the orb. Um and this new generation of the orb is considerably faster and easier to manufacture than the prior generation. So, I believe that is the overview of the orb. And if we have time, I'm happy to take questions now as well.

Maybe this question might be too obvious, but running software, I can always check the sha sha sum of the binary that I'm running against to make sure that I have the right version and it's not been manipulated with. With hardware that I might be running, is there any such equivalents that I can check? So, for a whole hardware project like this, there's not a direct parallel. Um one sort of field of research where we're beginning to see a few commercial products that do lend to hardware verify-ability is in self-signing sensors. So, I believe actually the thermal camera used

on the orb uh has this sort of verifiable component to it where the sensor itself and the data coming from it can be verified uh so that you know that it hasn't been tampered with in transit, for example. Obviously, it would be great if every single sensor on the orb had that same sort of technology, but it's not something that is yet readily commercially available. Um but it's absolutely something that we are interested in and want to see more of.

Uh all of the orb hardware is open source. You are free to look at it online. Um but just complete verify-ability that the hardware you see in front of you is the same as what's online is a much, much tougher problem. Hello, thanks for the presentation. I I've looked pre-order was 100 uh US dollar for the orbs.

I Yes, so we have announced the community operators program, where uh just about anyone will be able to uh get an orb uh and operate it in their local communities. I don't believe that the model for that has been finalized, whether that is like leasing an orb or purchasing an orb. Um but as we can scale up production of the new generation of orbs, we want to make sure that there are more paths to get them out into many different communities around the globe.

Do you see any byproducts um within the domain of research that that you're currently working on that might be impactful in other domains? So, anything that might as a spin-off from this research that you're doing? It's a very interesting question. Um For this device, like ensuring that the person in front of the device is a unique human and capturing the biometric template of the iris code is the very specific purpose of it. I think that there's lots of applications for sort of the

human ness checks in uh other domains. But that sort of requires having the specialized sensors that are used on the orb, right? Not necessarily something that could be directly applied to say a laptop camera, for example. >> [snorts] >> Any other questions? Uh I just have a quick one. When do y'all decide that it's time to upgrade the orb? Like what are the factors that you consider uh when thinking of upgrading to a new generation?

So, this is only the like second sort of true like generational difference of the orb. The previous generation was sort of a gradual evolution from the earliest prototypes. And I think the biggest factor in determining that we needed a new generation of the orb was running into manufacturing bottlenecks. This prototype hardware is designed for prototyping. Uh which generally does not align with what is easy to manufacture. Um So, taking all of the learnings we'd had through years of iterating on the orb and then starting with a clean slate to say, "Okay, how can we build this in a

way that is easier and cheaper for us to make so that we can make more of them." Uh was sort of what prompted the new generation. All right. Well, thank you very much, everyone. I really appreciate everyone being here. Thank you for all the questions. >> [applause] [music] [music] [music]