
Introduction
An autonomous agent can hold a private key, sign a transaction, and settle a payment without a person in the loop. That part is solved. What is not solved is the claim a counterparty actually needs before it extends credit, grants a rate limit, or counts a vote: that a distinct, accountable human stands behind this agent, and that the same human is not also behind the ten thousand other agents hitting the same endpoint.
Key custody scales for free. Personhood does not. Every credential that asserts uniqueness has to be rooted in something that is genuinely hard to duplicate, and every candidate root is a physical or institutional artifact rather than a cryptographic one. Three of them are being built out simultaneously, and they disagree about what that artifact should be.
World reports nearly 18 million people verified as unique humans through its Orb hardware across 160 countries, and has shipped a protocol upgrade it calls full-stack proof of human: a dedicated credential-management app, an open-sourced SDK, and nullifier generation moved onto TACEO’s distributed OPRF network. ZKPassport takes the opposite view of where trust should sit, reading the NFC chip in an ICAO 9303 passport or national ID and generating zero-knowledge proofs about it entirely on the user’s phone. The European Union has legislated a third answer, requiring member states to offer citizens a digital identity wallet, with the target commonly cited as December 2026, while its own technical working group has not settled which zero-knowledge construction the wallet should use.
These are not three implementations of one design. They are three different bets about which institution is least likely to betray the user, and each bet fails in a distinct way. One serious caveat on sourcing before going further: reporting on World’s agent-payment tie-up with Coinbase and Cloudflare over x402 appeared around March 2026, but we could not retrieve the article, and every specific about that integration in what follows is flagged as unverified rather than treated as established.
The triangle every personhood credential is stuck inside
A proof of personhood system has to deliver three properties, and they pull against each other.
Uniqueness means a service can tell that two registrations come from the same person and reject the second. The standard construction is a nullifier: a pseudorandom value derived deterministically from the user’s identity secret and a scope identifier, usually the verifying application’s domain. Same person, same app, same nullifier. The verifier stores the value, sees it again, and rejects the duplicate without ever learning who the person is.
Unlinkability means two services that compare notes cannot tell they are looking at the same person. This holds only if the nullifier function is unpredictable outside its scope, so the nullifier for app A reveals nothing about the nullifier for app B. It also has a second, harder form: the entity that issued the credential should not be able to recognize its own users in the wild. Third-party unlinkability and issuer unlinkability are separate properties, and systems routinely deliver the first while quietly failing the second.
Recoverability is the one people underestimate. If the credential is nothing but a private key, losing the phone means losing the personhood, and re-registering has to be indistinguishable from a sybil attempt. So the anchor must be something the user can re-present: an iris, a passport, a government registry entry. That requirement is precisely what makes the anchor a physical or institutional object, and it is why the interesting questions about these systems are questions about hardware supply chains and issuing authorities rather than about elliptic curves.
The three properties constrain each other. A deterministic function of a biometric gives uniqueness and recoverability but hands correlation power to whoever computes it. A one-time-use nullifier gives strong unlinkability but removes the stable handle a verifier would need to revoke a bad actor. State issuance gives the strongest recoverability of all and the weakest issuer unlinkability. Everything below is a variation on how to sit inside that triangle.
The Orb as a uniqueness oracle

World’s approach treats uniqueness as a measurement problem. The Orb photographs the user’s eyes and face, derives a code from those images, transmits the code and photos to the user’s own device, and then, per World’s description of the flow, deletes them from the hardware. The device splits the code into fragments and sends them to a set of AMPC nodes, which jointly determine whether this human has been enrolled before. The deduplication happens over secret-shared data, so no single node holds a biometric template it could match against an external database.
That architecture answers the objection people reach for first, which is that a company is building a global iris database. It does not answer the objection that matters more. The user cannot observe whether deletion occurred. Everything from the moment the shutter fires to the moment the code lands on the phone happens inside a sealed device the user did not build, cannot inspect, and is standing in front of for perhaps thirty seconds. A modified or counterfeit Orb that retains images before deletion would look identical to a compliant one from where the user is standing. World’s own announcement is a company blog rather than an independent audit, and the source material we have contains no third-party security review of the AMPC deduplication system, the nullifier derivation, or the hardware attestation chain.
The 4.0 upgrade shifts something real, though. Nullifier generation moves to TACEO’s OPRF Network, a distributed private execution layer where multiple independent nodes jointly produce the proof so that no single party controls proof generation. World describes the resulting property as oblivious pseudonymous recognition. Combined with the move to one-time-use nullifiers, this changes the shape of the trust question. It is no longer “does World hold a value that links my sessions.” It is “can a threshold of OPRF nodes collude to recompute one.” Those are genuinely different assumptions, and the second is better. But the number that determines how much better, the honest-node threshold and the composition of the node set, does not appear in the material we have. Until it does, the decentralization claim is directional rather than quantified.
One-time-use nullifiers also imply something about where state lives. If the value a verifier receives is fresh on every presentation, the verifier cannot detect a duplicate by comparing against values it has already seen. Duplicate detection has to be delegated to a layer that can recognize a returning user without learning who they are, which is what the oblivious recognition framing suggests the OPRF network is doing. That is an inference from the described architecture rather than a documented mechanism, and it matters, because it means the OPRF network is not merely a proof generator. It is a liveness dependency. If it stops, recognition stops.
Open-sourcing the SDK so that any application can act as a World ID authenticator broadens the integration surface and lets developers audit the client. It leaves the Orb firmware and the node set where they were. The part of the stack that was least contested is now the part that is most inspectable.
The agent-facing piece, AgentKit, is positioned as the mechanism that proves a unique verified human stands behind an AI agent. World asserts the capability. The material we have does not explain the cryptographic binding, and we return to why that gap is the important one below.
Reading the chip instead of the eye

ZKPassport relocates the anchor to a document a government already issued. The user taps their phone against an ICAO 9303 compliant passport, national ID, or residence permit, the app reads the NFC chip, and Noir circuits generate zero-knowledge proofs on the device itself. Nothing leaves the phone except the proof and whatever the user explicitly chose to disclose. Prove age above a threshold without revealing a birthdate; prove nationality without revealing a name.
The identifier construction is where the design gets interesting. ZKPassport derives a unique identifier by hashing chip data together with the verifying domain and a scope value using Poseidon2. The result is stable per service and different across services, which gives third-party unlinkability by construction. It does not give issuer unlinkability, and the project’s own FAQ says so. A government that retained a record of the data it signed into a given chip, and that knows the domain and scope, which are public, can recompute the identifier and match it to a named citizen. In the default configuration, presentations are unlinkable to everyone except the party best positioned to abuse the linkage.
The documented fix is a salted identifier mode built on a verifiable OPRF, which injects a secret the issuer never sees into the derivation. It works. It is also presented as an option, which pushes the most consequential privacy decision in the system onto whichever integrator is wiring up the flow. Whether production deployments default to salted or unsalted identifiers is not something we could determine, and it is the difference between a credential that resists state correlation and one that does not.
There is a second dependency sitting underneath the cryptography. A signed chip data set proves a national authority attested to those attributes; it does not prove the person presenting it is the person the document describes. ZKPassport’s answer is Private Facematch, a multi-angle selfie compared locally against the photograph stored in the chip. To run, it requires device attestation through Google Play Integrity or Apple App Attestation, and it refuses to execute on rooted devices, jailbroken devices, GrapheneOS, or devices with unsupported signature schemes. The proof system is trust-minimizing. The check that binds a living face to the document is outsourced to two platform vendors, and the users most likely to care about self-sovereignty are precisely the ones locked out of it.
The same tension appears in the app’s footprint. It exceeds 400MB, of which 128MB is an Aztec trusted-setup structured reference string supporting circuits up to a 2^21 subgroup size and 180MB is local machine-learning models for face matching. The SRS ties zkPassport’s soundness to Aztec’s ceremony. The topic brief describes zkPassport as having been acquired by Aztec and its proving system as UltraHonk; neither detail appears in the documentation we retrieved, so both should be treated as unconfirmed.
The unresolved question is chip replay. If an adversary obtains a copy of the signed data from someone else’s chip, whether by cloning or by extracting it during a legitimate read, they hold everything the circuit consumes. Nothing in the documentation we have specifies whether zkPassport requires the chip to demonstrate liveness through the document’s own authentication protocols, or whether Facematch is intended to carry that load on its own. If it is the latter, then the anti-impersonation property of the entire system rests on the platform-attested face check, which brings the analysis back to Google and Apple.
Brussels has not decided what unlinkability means

The EU has legislated the wallet and left the cryptography open. Member states are expected to offer citizens an EUDI Wallet by the end of 2026, a date we take from the topic brief rather than from the technical sources we fetched. Meanwhile, the Architecture and Reference Framework working group opened a discussion thread on zero-knowledge proof integration in February 2025, and that thread shows contributors arguing about definitions rather than converging on a scheme.
The substantive split is between BBS+ and general-purpose SNARK or STARK constructions. Part of the thread is taxonomic: whether BBS+ counts as a genuine non-interactive zero-knowledge proof system at all. The clarifying answer offered in the discussion is that BBS+ is a signature scheme that admits an efficient Schnorr-type proof of knowledge of a signature over a set of attributes, made non-interactive through Fiat-Shamir, which is a different object from a SNARK circuit proving statements about a conventional signature such as ECDSA. One contributor observes that in the EUDI context, “ZKP” is often used colloquially to mean the former. Standardization of BBS+ is being pursued through the IETF, referencing the Tessaro-Zhu work as its basis.
The taxonomy is not the interesting part. The deployment consequences are. BBS+ requires the issuer to sign credentials in BBS+ format, which means every ministry, registry, and accredited issuer across the union adopts new cryptography before any citizen gets an unlinkable presentation. A SNARK approach lets issuers keep signing with the algorithms they already have and pushes all the work onto the wallet, at proving costs that are orders of magnitude higher.
Then there is the hardware. The ARF ties ZKP integration to the wallet’s secure cryptographic device and application, the WSCD and WSCA. If the credential key must remain inside a certified secure element, the proof either runs inside that element or is split so that the element performs one small operation while the host handles the rest. Certified secure elements do not run SNARK provers. They can perform a Schnorr-style response. The certification regime, in other words, exerts pressure toward BBS+ independently of any privacy argument, which means the unlinkability property European citizens end up with may be determined by what fits in a smartcard rather than by what the working group concluded about surveillance risk.
The thread also spends time establishing that zero-knowledge proofs have a negligible but nonzero soundness error, on the order of 2^-100. That is a standard cryptographic convention and not a EUDI-specific weakness. That it needed establishing in a working-group thread is a reasonable read on where the process stood in early 2025 relative to a 2026 delivery date. We found no evidence in the fetched material of a final decision either way, and treating the scheme choice as settled would be wrong.
Blast radius, not probability

The useful comparison is not which system is hardest to break. It is what happens after a break: how many credentials are affected, whether anyone notices, and who has the authority to fix it.
| World ID | zkPassport | EUDI Wallet | |
|---|---|---|---|
| Anchor | Orb hardware plus iris uniqueness | ICAO 9303 chip signed by a national authority | State credential issuance into a certified wallet |
| Forgery requires | Compromising Orb hardware or defeating AMPC deduplication | A signed chip data set, plus defeating the face check | Issuer compromise or credential-key extraction |
| Issuer-side correlation | Depends on OPRF node collusion threshold, undisclosed | Possible by default, prevented only in optional salted mode | Depends on unresolved scheme choice |
| Compromise partitioned by | Individual Orb unit, under one operator | Issuing country | Member state, but adoption is mandated |
| Who can remediate | Tools for Humanity, unilaterally | The issuing state, on its own timeline | The issuing state |
| Failure visibility | Detectable if attestation logs are kept | Detectable when forged documents surface | Correlation is silent |
Read down the partitioning row and a real difference appears. A zkPassport compromise is naturally bounded by issuing authority. If one country’s document-signing infrastructure leaks, every credential from that country becomes suspect and verifiers can blocklist by issuer while the rest of the world keeps working. No single event invalidates the anchor globally, because the anchor was never global. The cost of that resilience is that the protocol has no remediation authority at all. It waits for a state to rotate keys.
World’s partitioning is finer in one sense and coarser in another. A compromised Orb affects the cohort it enrolled, which is bounded and, in principle, addressable: invalidate that device’s verifications and re-scan those users. One operator controls the entire pipeline and can act without waiting for anyone. The coarser failure is a break in the uniqueness function itself, meaning a technique that produces two accepted enrollments from one person. Revocation does not help there, because there is no bad device to revoke, and the operator would be remediating the property the whole system exists to provide.
The EUDI model degrades least gracefully, for a reason that has nothing to do with cryptographic strength. Its dominant failure mode is not forgery but correlation, and correlation leaves no trace. A user whose presentations are being linked by the issuer observes exactly what a user with perfect unlinkability observes. There is no anomaly to detect, no forged document to surface, no remediation to demand, and because wallet provision is mandated rather than chosen, there is no competitive exit. The system that has the strongest recoverability, because the state can always re-issue, has the weakest capacity to reveal its own failure.
Coverage cuts the other way and should temper any conclusion. The document model only serves people holding modern electronic identity documents, and the device-attestation requirement narrows that further. Orb verification reaches populations that no passport-based scheme can, which is part of why the reported 18 million spans 160 countries. Graceful degradation is a property of an anchor that someone can actually reach.
Where the guarantee gets spent

Whichever anchor a system uses, the guarantee is consumed at the moment a human delegates to agents, and that is where the sourcing thins out most. World positions World ID plus AgentKit as the mechanism binding an agent to a verified human. Nothing in the material we retrieved describes how that binding is constructed, whether a cap on agents per human is enforced, or how per-agent accountability is maintained. The gap matters because the design space contains only bad corners and one narrow path between them.
If the agent presents the same scope-bound nullifier as its principal, then a service sees one identity per human per scope. Uniqueness transfers perfectly and multi-agent operation dies, because the service cannot tell two of the principal’s agents apart and cannot rate-limit them independently.
If the agent instead presents a fresh unlinkable value attesting only that some verified human backs it, agents become unbounded. The proof of personhood has been converted into a proof that at least one human exists somewhere upstream, which is not a scarce claim. Every property the Orb or the passport chip established is spent at the first delegation.
The path between them is a capped derivation: the agent’s nullifier is a function of the human’s identity secret, the service scope, and an index, with the circuit proving that the index falls below some bound without revealing it. That requires stateful duplicate detection across the tuple of human, scope, and index, which is exactly the kind of oblivious recognition an OPRF network could supply. It is a coherent design. We have no evidence it is the implemented one.
Two further tensions survive even the capped design. First, uniqueness only becomes a usable defense if verifiers denominate their limits in humans rather than agents, and to enforce a per-human budget across several agents, a verifier must be able to group those agents by principal within its own scope. That is a deliberate reduction in unlinkability, adopted as the price of accountability, and it should be an explicit protocol decision rather than an emergent one.
Second, revocation fights one-time-use nullifiers directly. Blocking a misbehaving agent requires a stable handle to block, and a value that is fresh on every presentation offers none. Either the revocation authority sits inside the recognition layer, which concentrates power in the OPRF network, or verifiers keep their own linkable per-scope state, which erodes the privacy the fresh values were introduced to protect. The unlinkability upgrade and the accountability requirement are pulling on the same rope.
What would settle these questions
The specific disclosures that would change the analysis are narrow and identifiable. For World: the honest-node threshold and membership of the TACEO OPRF network, an independent audit of the AMPC deduplication and nullifier derivation rather than a company blog post, and a statement of what happens to recognition and recovery if TACEO discontinues service. The open-sourced SDK is a real improvement to the auditable surface and does not touch any of these three.
For zkPassport: whether the salted vOPRF identifier is the default in production integrations or an opt-in that most deployments skip, and whether the protocol requires chip liveness or leaves impersonation resistance entirely to a face check gated by Google and Apple attestation. Aztec’s acquisition, if the reporting is accurate, concentrates the proving stack, the SRS, and the application under one roof, which matters for what it does to circuit auditability by parties who do not work for Aztec.
For the EU: whether the ARF working group resolved the BBS+ question after February 2025, and if so, whether the resolution followed from an unlinkability analysis or from what a certified secure cryptographic device can execute. The second would mean member states shipped a privacy property chosen by hardware constraint, to hundreds of millions of people, on a statutory deadline.
The reason these three sets of questions are worth tracking together is that agent payment rails will not wait for any of them. Settlement infrastructure is being built now against personhood credentials whose failure modes are documented mainly by the vendors that built them, and the first serious test will not be a cryptographic break. It will be a verifier discovering that its per-human rate limit was, all along, a per-agent rate limit.
References

서론
자율 에이전트는 사람의 개입 없이도 개인키를 보유하고, 트랜잭션에 서명하고, 결제를 정산할 수 있다. 이 부분은 이미 해결됐다. 해결되지 않은 것은 거래상대방이 신용을 제공하거나, 속도 제한을 완화하거나, 투표권을 인정하기 전에 실제로 필요로 하는 주장이다. 즉 이 에이전트 뒤에 구별 가능하고 책임질 수 있는 한 명의 인간이 있으며, 그 동일 인간이 같은 엔드포인트를 두드리는 다른 만 개의 에이전트 뒤에도 있는 것은 아니라는 주장이다.
키 커스터디는 얼마든지 확장된다. 그러나 사람다움(personhood)은 그렇지 않다. 유일성을 주장하는 모든 크리덴셜은 실제로 복제하기 어려운 무언가에 뿌리를 두어야 하며, 그 근거가 될 만한 후보는 모두 암호학적 대상이 아니라 물리적 또는 제도적 산물이다. 현재 세 가지 방식이 동시에 구축되고 있고, 그 근거가 무엇이어야 하는지에 대해 서로 견해가 다르다.
World는 자사의 Orb 하드웨어를 통해 160개국에서 약 1,800만 명이 고유 인간으로 검증됐다고 밝히며, “풀스택 사람 증명(full-stack proof of human)“이라 부르는 프로토콜 업그레이드를 배포했다. 전용 크리덴셜 관리 앱, 오픈소스 SDK, 그리고 TACEO의 분산 OPRF 네트워크로 이전된 널리파이어 생성이 그 내용이다. ZKPassport는 신뢰가 놓여야 할 위치에 대해 정반대 입장을 취해, ICAO 9303 규격 여권이나 국가 신분증의 NFC 칩을 읽고 사용자 휴대폰에서 전적으로 영지식 증명을 생성한다. 유럽연합은 세 번째 답을 법제화했다. 회원국들에게 시민에게 디지털 신원 지갑을 제공하도록 의무화했으며, 흔히 언급되는 목표 시점은 2026년 12월이지만, 정작 자체 기술 실무그룹은 지갑이 어떤 영지식 구성을 사용해야 할지 아직 결정하지 못했다.
이 셋은 하나의 설계를 세 가지 방식으로 구현한 것이 아니다. 어느 기관이 사용자를 배신할 가능성이 가장 낮은지에 대한 서로 다른 세 가지 베팅이며, 각각의 베팅은 서로 다른 방식으로 실패한다. 더 나아가기 전에 출처에 관한 중요한 유보 사항 하나를 밝혀둔다. World의 x402를 통한 Coinbase 및 Cloudflare와의 에이전트 결제 제휴에 관한 보도가 2026년 3월경 나온 것으로 보이지만, 해당 기사를 확인할 수 없었으며, 이하에서 그 통합에 관한 구체적인 내용은 모두 확정된 사실이 아니라 미검증 정보로 표시한다.
모든 사람다움 크리덴셜이 갇혀 있는 삼각형
사람다움 증명 시스템은 세 가지 속성을 제공해야 하며, 이들은 서로 충돌한다.
유일성은 서비스가 두 건의 등록이 동일 인물에서 나온 것임을 식별하고 두 번째 등록을 거부할 수 있다는 뜻이다. 표준적인 구현은 널리파이어다. 사용자의 신원 시크릿과 스코프 식별자(보통 검증하는 애플리케이션의 도메인)로부터 결정론적으로 도출되는 의사난수 값이다. 같은 사람, 같은 앱이면 같은 널리파이어가 나온다. 검증자는 이 값을 저장해두었다가 다시 나타나면 그 사람이 누구인지 전혀 알지 못한 채 중복 등록을 거부한다.
**연결 불가능성(unlinkability)**은 서로 정보를 대조하는 두 서비스가 같은 사람을 보고 있다는 사실을 알 수 없다는 뜻이다. 이는 널리파이어 함수가 스코프 밖에서는 예측 불가능할 때만 성립한다. 즉 앱 A의 널리파이어는 앱 B의 널리파이어에 대해 아무것도 드러내지 않아야 한다. 여기에는 더 까다로운 두 번째 형태도 있다. 크리덴셜을 발급한 주체가 실제 환경에서 자기 사용자를 알아볼 수 없어야 한다는 것이다. 제3자에 대한 연결 불가능성과 발급자에 대한 연결 불가능성은 별개의 속성이며, 여러 시스템이 전자는 충족하면서 후자는 조용히 놓치고 있다.
복구 가능성은 사람들이 흔히 과소평가하는 속성이다. 크리덴셜이 단순히 개인키에 불과하다면, 휴대폰을 잃어버리는 것이 곧 사람다움을 잃어버리는 것이 되고, 재등록은 시빌 공격 시도와 구분이 되지 않아야 한다. 따라서 그 근거는 사용자가 다시 제시할 수 있는 무언가여야 한다. 홍채, 여권, 정부 등록 기록 같은 것이다. 바로 이 요구조건 때문에 그 근거는 물리적이거나 제도적인 대상이 될 수밖에 없으며, 이것이 이런 시스템들에 관한 흥미로운 질문이 타원곡선이 아니라 하드웨어 공급망과 발급 기관에 관한 질문이 되는 이유다.
이 세 속성은 서로를 제약한다. 생체정보의 결정론적 함수는 유일성과 복구 가능성을 제공하지만, 그것을 계산하는 주체에게 상관관계 파악 권한을 넘겨준다. 일회용 널리파이어는 강력한 연결 불가능성을 제공하지만, 검증자가 악의적 행위자를 차단하기 위해 필요한 안정적인 식별 수단을 없애버린다. 국가 발급은 가장 강력한 복구 가능성을 제공하지만 발급자에 대한 연결 불가능성은 가장 약하다. 이하의 내용은 모두 이 삼각형 안에서 어떻게 자리를 잡을 것인가에 관한 변주다.
유일성 오라클로서의 Orb

World의 접근 방식은 유일성을 측정의 문제로 취급한다. Orb는 사용자의 눈과 얼굴을 촬영하고, 그 이미지로부터 코드를 도출하고, 코드와 사진을 사용자 본인의 기기로 전송한 뒤, World의 설명에 따르면 하드웨어에서 이를 삭제한다. 기기는 코드를 조각내어 AMPC 노드 집합에 전송하고, 이 노드들이 공동으로 이 사람이 이미 등록된 적이 있는지 판단한다. 중복 확인은 비밀 분산된 데이터 위에서 이뤄지므로, 개별 노드는 외부 데이터베이스와 대조할 수 있는 생체 템플릿을 보유하지 않는다.
이 아키텍처는 사람들이 가장 먼저 제기하는 반론, 즉 한 회사가 전 세계 홍채 데이터베이스를 구축하고 있다는 반론에는 답이 된다. 더 중요한 반론에는 답이 되지 않는다. 사용자는 삭제가 실제로 일어났는지 관찰할 수 없다. 셔터가 눌리는 순간부터 코드가 휴대폰에 도착하는 순간까지 모든 일은 사용자가 만들지 않았고 검사할 수도 없으며 겨우 30초 남짓 서 있게 되는 밀폐된 장치 안에서 벌어진다. 삭제 전에 이미지를 보관하는 개조되거나 위조된 Orb는 사용자 입장에서 규정을 준수하는 Orb와 똑같이 보일 것이다. World 자체의 발표는 독립적인 감사가 아니라 회사 블로그이며, 우리가 확보한 소스 자료에는 AMPC 중복 확인 시스템, 널리파이어 도출, 하드웨어 증명 체인에 대한 제3자 보안 검토가 전혀 담겨 있지 않다.
그럼에도 4.0 업그레이드가 실질적으로 바꾸는 부분이 있다. 널리파이어 생성이 TACEO의 OPRF 네트워크로 옮겨간다. 이는 여러 독립 노드가 공동으로 증명을 생성해 어떤 단일 주체도 증명 생성을 통제할 수 없는 분산 프라이빗 실행 계층이다. World는 그 결과로 생기는 속성을 “무지각적 익명 인식(oblivious pseudonymous recognition)“이라 부른다. 일회용 널리파이어로의 전환과 결합하면 신뢰 문제의 형태 자체가 바뀐다. 더 이상 “World가 내 세션들을 연결할 수 있는 값을 보유하고 있는가”가 아니라 “일정 임계값 이상의 OPRF 노드들이 공모해 그런 값을 재계산할 수 있는가”의 문제가 된다. 이는 분명 다른 종류의 신뢰 가정이며, 후자가 더 낫다. 하지만 그 개선 정도를 결정하는 숫자, 즉 정직한 노드 임계값과 노드 집합의 구성은 우리가 가진 자료에 나타나지 않는다. 이것이 공개되기 전까지 탈중앙화 주장은 방향성만 있을 뿐 수치화된 것은 아니다.
일회용 널리파이어는 상태(state)가 어디에 존재하는지에 대해서도 무언가를 함축한다. 검증자가 받는 값이 매번 제시될 때마다 새로운 것이라면, 검증자는 이미 본 값들과 비교해서 중복을 탐지할 수 없다. 중복 탐지는 누구인지는 알지 못한 채 재방문 사용자를 인식할 수 있는 계층에 위임돼야 하고, “무지각적 인식”이라는 표현은 OPRF 네트워크가 바로 그 역할을 하고 있음을 암시한다. 이는 설명된 아키텍처로부터의 추론이지 문서화된 메커니즘은 아니며, 이 점이 중요한 이유는 OPRF 네트워크가 단순한 증명 생성기가 아니라는 뜻이기 때문이다. 그것은 라이브니스(liveness) 의존성이다. 그것이 멈추면 인식도 멈춘다.
SDK를 오픈소스화해 어떤 애플리케이션이든 World ID 인증자 역할을 하게 한 것은 통합 표면을 넓히고 개발자들이 클라이언트를 감사할 수 있게 해준다. 다만 Orb 펌웨어와 노드 집합은 그대로 남아 있다. 스택에서 가장 논란이 적었던 부분이 이제 가장 검사하기 쉬운 부분이 됐을 뿐이다.
에이전트 대상 요소인 AgentKit은 AI 에이전트 뒤에 검증된 고유 인간이 있음을 증명하는 메커니즘으로 자리매김돼 있다. World는 그 능력을 주장한다. 우리가 가진 자료는 암호학적 결합 방식을 설명하지 않으며, 왜 이 공백이 가장 중요한 공백인지는 아래에서 다시 다룬다.
눈 대신 칩을 읽다

ZKPassport는 근거를 정부가 이미 발급한 문서로 옮긴다. 사용자가 휴대폰을 ICAO 9303 규격의 여권, 국가 신분증, 거주 허가증에 접촉시키면 앱이 NFC 칩을 읽고, Noir 회로가 기기 자체에서 영지식 증명을 생성한다. 증명과 사용자가 명시적으로 공개하기로 선택한 정보를 제외하고는 아무것도 기기를 벗어나지 않는다. 생년월일을 공개하지 않고 일정 연령 이상임을 증명할 수 있고, 이름을 공개하지 않고 국적을 증명할 수 있다.
식별자 구성 방식에서 설계가 흥미로워진다. ZKPassport는 칩 데이터를 검증 도메인 및 스코프 값과 함께 Poseidon2로 해싱해 고유 식별자를 도출한다. 그 결과값은 서비스별로 안정적이면서 서비스 간에는 서로 다르며, 이는 설계상 제3자에 대한 연결 불가능성을 제공한다. 발급자에 대한 연결 불가능성은 제공하지 않으며, 프로젝트 자체 FAQ도 이를 인정한다. 특정 칩에 서명해 넣은 데이터의 기록을 보관해온 정부라면, 그리고 공개 정보인 도메인과 스코프를 알고 있다면, 그 식별자를 재계산해 이름이 있는 시민과 매칭할 수 있다. 기본 설정에서는 제시된 정보가 다른 모든 이에게는 연결 불가능하지만, 그 연결을 악용하기에 가장 유리한 위치에 있는 당사자에게는 그렇지 않다.
문서화된 해결책은 검증 가능한 OPRF를 기반으로 한 솔팅(salted) 식별자 모드로, 발급자가 결코 보지 못하는 비밀값을 도출 과정에 주입한다. 이 방식은 실제로 작동한다. 다만 이는 옵션으로 제시돼 있으며, 시스템 내에서 가장 중대한 프라이버시 결정을 그 흐름을 연동하는 통합업체 쪽으로 떠넘긴다. 실제 배포 환경에서 솔팅 식별자가 기본값인지, 솔팅되지 않은 식별자가 기본값인지는 우리가 확인할 수 없었고, 이 차이가 바로 국가 차원의 상관관계 분석에 저항하는 크리덴셜과 그렇지 못한 크리덴셜 사이의 갈림길이다.
암호학 아래에는 또 하나의 의존성이 놓여 있다. 서명된 칩 데이터 세트는 국가 기관이 해당 속성들을 보증했다는 것을 증명할 뿐, 그것을 제시하는 사람이 문서가 기술하는 그 사람이라는 것을 증명하지는 않는다. ZKPassport의 답은 Private Facematch로, 여러 각도에서 촬영한 셀피를 칩에 저장된 사진과 로컬에서 대조하는 방식이다. 이를 실행하려면 Google Play Integrity나 Apple App Attestation을 통한 기기 증명이 필요하고, 루팅된 기기, 탈옥된 기기, GrapheneOS, 지원되지 않는 서명 방식을 쓰는 기기에서는 실행을 거부한다. 증명 시스템 자체는 신뢰 최소화를 지향한다. 그러나 살아있는 얼굴을 문서와 결합시키는 검증 자체는 두 플랫폼 벤더에게 외주화돼 있고, 자기주권을 가장 중요하게 여길 사용자들이 하필 이 기능에서 배제된다.
같은 긴장 관계가 앱의 용량에서도 나타난다. 앱 크기는 400MB를 넘고, 그중 128MB는 2^21 서브그룹 크기까지 지원하는 회로를 뒷받침하는 Aztec 신뢰 설정(trusted setup) 참조 문자열(SRS)이며, 180MB는 얼굴 매칭을 위한 로컬 머신러닝 모델이다. 이 SRS는 zkPassport의 무결성(soundness)을 Aztec의 세리머니에 묶어 놓는다. 이번 주제 브리프는 zkPassport가 Aztec에 인수됐고 증명 시스템은 UltraHonk라고 서술하지만, 우리가 확보한 문서에는 이 세부 사항이 나타나지 않으므로 둘 다 미확인으로 처리해야 한다.
해결되지 않은 문제는 칩 재사용(replay)이다. 공격자가 복제를 통해서든, 정당한 읽기 과정에서 데이터를 추출해서든 다른 사람의 칩에서 나온 서명된 데이터 사본을 손에 넣는다면, 회로가 필요로 하는 모든 것을 갖게 된다. 우리가 가진 문서 어디에도 zkPassport가 문서 자체의 인증 프로토콜을 통해 칩의 라이브니스를 요구하는지, 아니면 Facematch가 그 부담을 단독으로 짊어지도록 설계됐는지가 명시돼 있지 않다. 후자라면 시스템 전체의 사칭 방지 속성은 플랫폼이 보증하는 얼굴 검사에 의존하게 되고, 결국 분석은 다시 Google과 Apple로 되돌아간다.
브뤼셀은 연결 불가능성이 무엇을 의미하는지 아직 정하지 않았다

EU는 지갑을 법제화하면서 암호학적 방식은 미결로 남겨뒀다. 회원국들은 2026년 말까지 시민에게 EUDI 지갑을 제공할 것으로 예상되는데, 이 시점은 우리가 확보한 기술 자료가 아니라 주제 브리프에서 가져온 것이다. 한편 아키텍처 및 참조 프레임워크(ARF) 실무그룹은 2025년 2월 영지식 증명 통합에 관한 논의 스레드를 열었고, 그 스레드는 하나의 방식으로 수렴하기보다는 정의 자체를 두고 논쟁하는 모습을 보여준다.
실질적인 쟁점은 **BBS+**와 범용 SNARK 또는 STARK 구성 사이의 분열이다. 이 논쟁의 일부는 분류학적인 것이다. BBS+가 애초에 진정한 비대화형 영지식 증명 시스템으로 볼 수 있는가 하는 문제다. 스레드에서 제시된 정리에 따르면 BBS+는 속성 집합에 대한 서명에 관한 지식을 증명하는 효율적인 슈노어형 증명을 허용하는 서명 방식이며, Fiat-Shamir 변환을 통해 비대화형으로 만든 것이다. 이는 ECDSA 같은 통상적인 서명에 관한 명제를 증명하는 SNARK 회로와는 다른 대상이다. 한 참여자는 EUDI 맥락에서 “ZKP”라는 용어가 종종 구어적으로 전자를 가리키는 데 쓰인다고 지적한다. BBS+의 표준화는 IETF를 통해 진행 중이며, Tessaro-Zhu 연구를 근거로 삼고 있다.
이 분류 논쟁 자체는 흥미로운 부분이 아니다. 흥미로운 것은 배포에 따른 결과다. BBS+는 발급자가 BBS+ 형식으로 크리덴셜에 서명할 것을 요구하는데, 이는 시민 한 명이 연결 불가능한 크리덴셜을 제시할 수 있게 되기 전에 연합 전역의 모든 부처, 등록기관, 공인 발급자가 새로운 암호 방식을 채택해야 한다는 뜻이다. SNARK 방식이라면 발급자는 이미 쓰던 알고리즘으로 계속 서명하면 되고, 모든 작업 부담이 지갑 쪽으로 넘어가는 대신 증명 비용이 몇 자릿수나 더 커진다.
여기에 하드웨어 문제도 있다. ARF는 ZKP 통합을 지갑의 보안 암호화 장치 및 애플리케이션, 즉 WSCD와 WSCA에 결부시킨다. 크리덴셜 키가 인증된 보안 요소(secure element) 내부에 반드시 남아 있어야 한다면, 증명은 그 보안 요소 내부에서 실행되거나, 보안 요소가 작은 연산 하나만 처리하고 나머지는 호스트가 처리하도록 분리돼야 한다. 인증된 보안 요소는 SNARK 프로버를 실행하지 못한다. 슈노어 방식의 응답 정도는 처리할 수 있다. 다시 말해 인증 체계 자체가 프라이버시 논거와는 무관하게 BBS+ 쪽으로 압력을 가하고 있으며, 이는 유럽 시민들이 최종적으로 갖게 될 연결 불가능성이라는 속성이 감시 리스크에 대한 실무그룹의 결론이 아니라 스마트카드에 무엇이 들어맞는가에 의해 결정될 수도 있다는 뜻이다.
이 스레드는 또한 영지식 증명이 대략 2^-100 수준의 무시할 만하지만 0은 아닌 무결성 오류율을 갖는다는 점을 확립하는 데도 상당한 시간을 들인다. 이는 표준적인 암호학적 관례이지 EUDI만의 약점이 아니다. 그런데도 실무그룹 스레드에서 이 점을 새삼 확립해야 했다는 사실 자체가, 2026년이라는 배포 목표 시점에 비추어 2025년 초 시점에서 이 프로세스가 어디쯤 있었는지를 짐작하게 해주는 합리적인 단서다. 우리가 확보한 자료에서는 어느 방향으로든 최종 결정이 내려졌다는 증거를 찾지 못했으며, 방식 선택이 확정됐다고 단정하는 것은 잘못된 판단이다.
확률이 아니라 피해 범위

여기서 유용한 비교는 어느 시스템이 깨기 가장 어려운가가 아니다. 깨진 이후에 무슨 일이 벌어지는가, 얼마나 많은 크리덴셜이 영향을 받는가, 누군가 그것을 알아챌 수 있는가, 그리고 누가 그것을 고칠 권한을 갖고 있는가이다.
| World ID | zkPassport | EUDI 지갑 | |
|---|---|---|---|
| 근거 | Orb 하드웨어와 홍채 유일성 | 국가 기관이 서명한 ICAO 9303 칩 | 인증된 지갑으로의 국가 크리덴셜 발급 |
| 위조에 필요한 것 | Orb 하드웨어 침해 또는 AMPC 중복 확인 우회 | 서명된 칩 데이터 세트, 그리고 얼굴 검사 우회 | 발급자 침해 또는 크리덴셜 키 추출 |
| 발급자 측 상관관계 파악 | OPRF 노드 공모 임계값에 좌우됨, 미공개 | 기본값에서는 가능, 옵션인 솔팅 모드에서만 방지 | 미결의 방식 선택에 좌우됨 |
| 침해 범위 구획 | 단일 운영사 산하 개별 Orb 유닛 | 발급 국가 | 회원국 단위이나, 채택 자체는 의무화됨 |
| 시정 권한 | Tools for Humanity, 단독 | 발급 국가, 자체 일정에 따라 | 발급 국가 |
| 실패 가시성 | 증명 로그가 보관되면 탐지 가능 | 위조 문서가 드러나면 탐지 가능 | 상관관계 파악은 조용히 일어남 |
구획 행을 살펴보면 실질적인 차이가 드러난다. zkPassport의 침해는 발급 기관 단위로 자연스럽게 제한된다. 한 국가의 문서 서명 인프라가 유출되면 그 국가에서 나온 모든 크리덴셜이 의심 대상이 되고, 검증자들은 나머지 세계는 정상 작동하는 동안 해당 발급자 단위로 블록리스트를 적용할 수 있다. 근거 자체가 애초에 글로벌한 것이 아니었기 때문에, 어떤 단일 사건도 전 세계 차원에서 근거를 무효화하지 못한다. 이런 회복탄력성의 대가는 이 프로토콜에 시정 권한이 전혀 없다는 점이다. 국가가 키를 교체할 때까지 기다릴 수밖에 없다.
World의 구획 방식은 한편으로는 더 세밀하고 다른 한편으로는 더 조악하다. 침해된 Orb는 그것이 등록시킨 코호트에만 영향을 미치는데, 이는 범위가 제한적이고 원칙적으로 대응 가능하다. 해당 기기의 검증을 무효화하고 그 사용자들을 다시 스캔하면 된다. 단일 운영사가 파이프라인 전체를 통제하므로 누구의 승인도 기다리지 않고 조치할 수 있다. 더 조악한 실패는 유일성 함수 자체가 뚫리는 경우다. 한 사람에게서 두 건의 승인된 등록이 나오는 기법이 등장하는 경우가 그것이다. 이때는 폐기가 소용이 없다. 폐기할 나쁜 기기가 없기 때문이며, 운영사는 시스템 전체가 존재하는 이유인 그 속성 자체를 고쳐야 하는 처지에 놓인다.
EUDI 모델은 암호학적 강도와는 무관한 이유로 가장 우아하지 못하게 무너진다. 이 모델의 주된 실패 양상은 위조가 아니라 상관관계 파악이며, 이는 아무런 흔적도 남기지 않는다. 발급자에 의해 자신의 제시 기록이 연결당하고 있는 사용자는 완벽한 연결 불가능성을 누리는 사용자와 정확히 똑같은 것을 관찰한다. 탐지할 이상 징후도 없고, 드러날 위조 문서도 없고, 요구할 시정 절차도 없으며, 지갑 제공 자체가 선택이 아니라 의무이기 때문에 경쟁을 통한 이탈구도 없다. 국가가 언제든 재발급할 수 있기 때문에 복구 가능성이 가장 강력한 시스템이, 자신의 실패를 드러낼 능력은 가장 약하다.
커버리지 측면에서는 정반대의 결론이 나오며, 이는 위의 어떤 결론이든 완화시켜야 한다. 문서 기반 모델은 현대적인 전자 신원 문서를 보유한 사람만 대상으로 하고, 기기 증명 요구조건은 그 범위를 더욱 좁힌다. Orb 검증은 여권 기반 방식이 결코 닿을 수 없는 인구층에 도달하며, 보도된 1,800만 명이 160개국에 걸쳐 있는 이유의 일부도 여기에 있다. 우아한 실패 양상이라는 것 자체가 실제로 누군가가 도달할 수 있는 근거를 전제로 한 속성이다.
그 보증이 소모되는 지점

어떤 근거를 쓰든, 그 보증은 인간이 에이전트에게 위임하는 순간 소모되며, 바로 이 지점에서 출처 자료가 가장 빈약해진다. World는 World ID와 AgentKit을 에이전트를 검증된 인간에게 결합시키는 메커니즘으로 자리매김한다. 우리가 확보한 자료에는 그 결합이 어떻게 구성되는지, 인간 한 명당 에이전트 수 상한이 실제로 적용되는지, 에이전트별 책임 추적이 어떻게 유지되는지에 대한 설명이 전혀 없다. 이 공백이 중요한 이유는 설계 공간 안에 나쁜 극단 두 곳과 그 사이의 좁은 길 하나만 존재하기 때문이다.
에이전트가 자신의 위임자와 동일한 스코프 종속 널리파이어를 제시한다면, 서비스는 인간 한 명당 스코프 하나당 신원 하나만 보게 된다. 유일성은 완벽하게 전이되지만 멀티 에이전트 운영은 죽는다. 서비스가 한 위임자의 두 에이전트를 구분할 수 없고 독립적으로 속도 제한을 걸 수도 없기 때문이다.
반대로 에이전트가 어떤 검증된 인간이 뒤에 있다는 것만 증명하는 신선한 연결 불가능 값을 제시한다면, 에이전트 수는 무제한이 된다. 사람다움 증명이 상류 어딘가에 최소한 한 명의 인간이 존재한다는 증명으로 변질되는 것이며, 이는 희소한 주장이 전혀 아니다. Orb든 여권 칩이든 확립했던 모든 속성이 첫 위임 단계에서 소모돼 버린다.
이 둘 사이의 길은 상한이 걸린 도출 방식이다. 에이전트의 널리파이어를 인간의 신원 시크릿, 서비스 스코프, 인덱스의 함수로 만들고, 회로는 그 인덱스 값 자체는 드러내지 않으면서 어떤 한계 이하에 있다는 것만 증명하는 방식이다. 이를 위해서는 인간, 스코프, 인덱스의 조합에 대한 상태 기반 중복 탐지가 필요한데, 이것이 바로 OPRF 네트워크가 제공할 수 있는 종류의 무지각적 인식이다. 논리적으로 정합적인 설계다. 다만 이것이 실제로 구현된 방식이라는 증거는 없다.
상한이 걸린 설계에서도 두 가지 긴장은 여전히 남는다. 첫째, 유일성이 실제로 쓸모 있는 방어 수단이 되려면 검증자들이 제한을 에이전트가 아니라 인간 단위로 설정해야 하고, 여러 에이전트에 걸쳐 인간별 한도를 적용하려면 검증자가 자기 스코프 내에서 그 에이전트들을 위임자별로 묶을 수 있어야 한다. 이는 책임 추적성의 대가로 받아들이는 의도적인 연결 불가능성의 후퇴이며, 자연스럽게 발생하는 결과가 아니라 명시적인 프로토콜 결정이어야 한다.
둘째, 폐기는 일회용 널리파이어와 정면으로 충돌한다. 문제를 일으키는 에이전트를 차단하려면 차단할 안정적인 식별 수단이 필요한데, 매 제시마다 새로 생성되는 값은 그런 수단을 전혀 제공하지 않는다. 폐기 권한이 인식 계층 내부에 놓여 OPRF 네트워크에 권한이 집중되거나, 아니면 검증자가 스코프별로 연결 가능한 자체 상태를 유지해 신선한 값을 도입한 취지였던 프라이버시를 갉아먹거나 둘 중 하나다. 연결 불가능성 개선과 책임 추적 요구조건이 같은 밧줄을 서로 반대 방향으로 당기고 있는 셈이다.
이 질문들을 해소해줄 것들
이 분석을 바꿔놓을 만한 구체적인 공개 사항들은 명확하고 좁게 특정할 수 있다. World의 경우, TACEO OPRF 네트워크의 정직한 노드 임계값과 구성원, 회사 블로그 게시물이 아닌 AMPC 중복 확인과 널리파이어 도출에 대한 독립 감사, 그리고 TACEO가 서비스를 중단할 경우 인식과 복구에 어떤 일이 벌어지는지에 대한 명시가 필요하다. 오픈소스화된 SDK는 감사 가능한 표면을 실질적으로 개선한 것이지만 이 세 가지 중 어느 것도 건드리지 않는다.
zkPassport의 경우, 솔팅된 vOPRF 식별자가 실제 배포 환경에서 기본값인지 아니면 대부분의 배포에서 건너뛰는 옵트인 기능인지, 그리고 이 프로토콜이 칩 라이브니스를 요구하는지 아니면 사칭 방지를 전적으로 Google과 Apple의 증명에 의존하는 얼굴 검사에 맡기는지가 관건이다. 보도가 정확하다면 Aztec의 인수는 증명 스택, SRS, 애플리케이션을 한 지붕 아래 집중시키는 것이며, 이는 Aztec 소속이 아닌 당사자들에 의한 회로 감사 가능성에 어떤 영향을 미치는지가 중요하다.
EU의 경우, ARF 실무그룹이 2025년 2월 이후 BBS+ 논쟁을 결론지었는지, 그리고 그랬다면 그 결론이 연결 불가능성 분석에서 나온 것인지 아니면 인증된 보안 암호화 장치가 실행할 수 있는 것에서 나온 것인지가 관건이다. 후자라면 회원국들이 법정 마감 시한에 맞춰 하드웨어 제약이 선택한 프라이버시 속성을 수억 명에게 배포했다는 뜻이 된다.
이 세 가지 질문 묶음을 함께 추적할 가치가 있는 이유는, 에이전트 결제 레일이 어느 것도 기다려주지 않기 때문이다. 정산 인프라는 지금 이 순간에도 실패 양상이 주로 이를 구축한 벤더 자신에 의해서만 문서화된 사람다움 크리덴셜을 기반으로 구축되고 있으며, 첫 번째 진지한 시험대는 암호학적 붕괴가 아닐 것이다. 한 검증자가 자신이 적용해온 인간당 속도 제한이 실은 처음부터 에이전트당 속도 제한이었다는 사실을 발견하는 순간이 될 것이다.
References

はじめに
自律エージェントは秘密鍵を保持し、トランザクションに署名し、人間の介在なしに決済を完了できる。この部分はもう解決済みだ。解決していないのは、カウンターパーティが与信を伸ばしたり、レート制限を緩めたり、投票権を認めたりする前に本当に必要とする主張、つまりこのエージェントの背後に特定の責任ある人間が立っていること、そしてその同一人物が別の一万体のエージェントの背後にも立っていないことの証明である。
鍵のカストディはいくらでも規模を拡大できる。パーソンフッド(personhood、人格の一意性)はそうはいかない。一意性を主張するあらゆるクレデンシャルは、本質的に複製が困難な何かに根ざす必要があり、その候補となるルートはどれも暗号学的な対象ではなく、物理的または制度的な artifact である。現在、3つの陣営がこれを同時並行で構築しており、そのartifactが何であるべきかについて意見が一致していない。
Worldは、Orbというハードウェアを通じて160か国で約1,800万人を一意な人間として検証済みだと報告しており、full-stack proof of human と呼ぶプロトコルアップグレードを出荷した。専用のクレデンシャル管理アプリ、オープンソース化されたSDK、そしてTACEOの分散OPRFネットワークへ移管されたnullifier生成がその内容だ。ZKPassportは信頼をどこに置くべきかについて正反対の立場を取り、ICAO 9303準拠のパスポートや国民IDに埋め込まれたNFCチップを読み取り、それに関するゼロ知識証明をユーザーのスマートフォン上で完全に生成する。欧州連合は第三の答えを法制化しており、加盟各国に市民向けのデジタルアイデンティティウォレット提供を義務づけている。目標時期として一般的に挙げられるのは2026年12月だが、EU自身の技術ワーキンググループは、ウォレットがどのゼロ知識構成を採用すべきかまだ決めていない。
これらは1つの設計の3つの実装ではない。どの機関がユーザーを裏切る可能性が最も低いかについての、3つの異なる賭けであり、それぞれの賭けは異なる形で失敗しうる。この先へ進む前に情報源についての重要な留保を一つ述べておく。WorldがCoinbaseやCloudflareとx402上でエージェント決済に関する提携を結んだという報道が2026年3月頃に出たが、我々はその記事を取得できておらず、以下でその提携について触れる具体的な内容はすべて、確立された事実としてではなく未検証としてフラグを立てて扱う。
パーソンフッド・クレデンシャルが必ずはまり込む三角形
パーソンフッド証明システムは3つの性質を満たす必要があり、それらは互いに引っ張り合っている。
一意性(Uniqueness)とは、あるサービスが2つの登録が同一人物によるものだと判別し、2回目を拒否できることを意味する。標準的な構成はnullifierだ。ユーザーのアイデンティティ秘密情報とスコープ識別子(通常は検証を行うアプリケーションのドメイン)から決定論的に導出される疑似乱数値である。同じ人物、同じアプリなら、同じnullifierになる。検証者はこの値を保存し、再び目にすれば、当人が誰であるかを一切知ることなく重複登録を拒否できる。
**リンク不能性(Unlinkability)**とは、情報を突き合わせた2つのサービスが、それが同一人物を見ていると判別できないことを意味する。これはnullifier関数がそのスコープの外では予測不能である場合にのみ成り立ち、アプリAのnullifierがアプリBのnullifierについて何も明かさないことを要求する。さらに、より難しい第二の形態がある。クレデンシャルを発行した主体自身が、野に放たれた自分のユーザーを認識できてはならない、というものだ。サードパーティに対するリンク不能性と発行者に対するリンク不能性は別個の性質であり、多くのシステムは前者を満たしながら後者を静かに満たしていない。
**リカバリー可能性(Recoverability)**は過小評価されがちな性質だ。クレデンシャルが単なる秘密鍵に過ぎないなら、スマートフォンを紛失することはパーソンフッドを失うことを意味し、再登録はsybil攻撃の試みと見分けがつかなくなってしまう。したがってアンカーは、ユーザーが再提示できる何か、虹彩、パスポート、政府の登録記録でなければならない。この要件こそが、アンカーを物理的または制度的な対象にしている当のものであり、これらのシステムについて興味深い問いが楕円曲線ではなくハードウェアのサプライチェーンや発行機関に関する問いになる理由でもある。
3つの性質は互いを制約する。生体情報の決定論的な関数は一意性とリカバリー可能性を与えるが、それを計算する主体に相関を突き止める力を渡してしまう。一度限り使用のnullifierは強いリンク不能性を与えるが、検証者が不正行為者を失効させるために必要な安定したハンドルを取り除いてしまう。国家発行は最強のリカバリー可能性を与えるが、発行者に対するリンク不能性は最弱になる。以下で見るものはすべて、この三角形の内部でどう座を占めるかについてのバリエーションである。
一意性のオラクルとしてのOrb

Worldのアプローチは一意性を測定の問題として扱う。Orbはユーザーの目と顔を撮影し、それらの画像からコードを導出し、コードと写真をユーザー自身の端末に送信したうえで、Worldの説明によれば、ハードウェア側からは削除する。端末はこのコードを断片に分割し、一連のAMPCノードに送信する。これらのノードが協調して、この人間がこれまでに登録済みかどうかを判定する。重複排除は秘密分散されたデータ上で行われるため、単一のノードが外部データベースと照合できるような生体テンプレートを保持することはない。
このアーキテクチャは、多くの人がまず思いつく異議、つまりある企業がグローバルな虹彩データベースを構築しているのではという疑念には答えている。だがより重要な異議には答えていない。ユーザーは削除が実際に行われたかどうかを観測できない。シャッターが切られた瞬間からコードがスマートフォンに届く瞬間まで、すべてはユーザーが構築しておらず検査もできず、せいぜい30秒ほど目の前に立つだけのシールドされたデバイスの内部で起こる。削除前に画像を保持する改造版・偽造版のOrbは、ユーザーの立場からは正規品と見分けがつかないだろう。World自身の発表は独立監査ではなく企業ブログであり、我々が持つ資料には、AMPCによる重複排除システム、nullifierの導出、ハードウェアのアテステーションチェーンについてのサードパーティによるセキュリティレビューは含まれていない。
とはいえ4.0アップグレードは実質的な変化をもたらしている。nullifier生成はTACEOのOPRFネットワークに移管された。これは複数の独立ノードが協調して証明を生成し、単一の主体が証明生成を制御できない分散型のプライベート実行レイヤーである。Worldはその結果得られる性質を oblivious pseudonymous recognition(忘却的な仮名認識)と呼んでいる。一度限り使用のnullifierへの移行と組み合わさることで、信頼の問いの形が変わる。もはや「Worldが私のセッションを紐づける値を保持しているかどうか」ではなく「OPRFノードの一定割合が結託してそれを再計算できるかどうか」だ。これらは本当に異なる前提であり、後者のほうが優れている。しかし、どれだけ優れているかを決める数値、すなわち正直なノードの閾値やノード集合の構成は、我々の手元の資料には登場しない。それが明らかになるまで、分散化の主張は方向性の話であって定量化されたものではない。
一度限り使用のnullifierはまた、状態がどこに存在するかについて何かを含意している。検証者が受け取る値が提示のたびに新しいものであれば、検証者は既に見た値との比較によって重複を検出できない。重複検出は、当人が誰かを知ることなく再来ユーザーを認識できるレイヤーに委任されなければならず、oblivious recognitionというフレーミングはOPRFネットワークがまさにそれを行っていることを示唆している。ただしこれは記述されたアーキテクチャからの推論であって文書化されたメカニズムではない。そしてこれは重要な点だ。というのも、OPRFネットワークが単なる証明生成器ではなく、可用性(liveness)に対する依存先になることを意味するからだ。それが止まれば、認識も止まる。
任意のアプリケーションがWorld IDの認証者として振る舞えるようSDKをオープンソース化したことは、統合面を広げ、開発者によるクライアントの監査を可能にする。だがOrbのファームウェアとノード集合はそのままの状態で残される。スタックの中で最も議論の余地が少なかった部分が、最も検証可能な部分になっただけだ。
エージェント向けの機能であるAgentKitは、AIエージェントの背後に一意で検証済みの人間が立っていることを証明するメカニズムとして位置づけられている。Worldはその能力を主張している。我々の手元の資料は暗号学的な紐づけの仕組みを説明しておらず、なぜこのギャップが重要なのかについては後述する。
目ではなくチップを読む

ZKPassportはアンカーを、政府が既に発行済みの書類へと移す。ユーザーはICAO 9303準拠のパスポート、国民ID、在留許可証にスマートフォンをかざし、アプリがNFCチップを読み取り、Noir回路が端末上でゼロ知識証明を生成する。証明とユーザーが明示的に開示を選んだ情報以外、何も端末から出ていかない。閾値以上の年齢であることを生年月日を明かさずに証明し、国籍を氏名を明かさずに証明する、といった具合だ。
識別子の構成が興味深い設計上の焦点になっている。ZKPassportは、チップデータと検証対象のドメイン、スコープ値をPoseidon2でハッシュすることで一意な識別子を導出する。結果はサービスごとに安定し、サービス間では異なる値になるため、構成上サードパーティに対するリンク不能性が保証される。だが発行者に対するリンク不能性は保証されず、プロジェクト自身のFAQもそう認めている。あるチップに署名したデータの記録を保持している政府は、ドメインとスコープが公開情報である以上、その識別子を再計算し、氏名のある市民に紐づけることができる。デフォルト設定では、提示情報はまさに悪用に最も適した立場の当事者を除く全員に対してのみリンク不能となる。
文書化されている対策は、検証可能なOPRFに基づくソルト付き識別子モードで、発行者が決して目にすることのない秘密値を導出過程に注入する。これは機能する。ただしオプションとして提示されており、システム内で最も影響の大きいプライバシー上の判断が、フローを構築する統合者側に委ねられてしまう。本番デプロイがソルト付き識別子をデフォルトにしているのか、それとも未使用のまま済ませているのかは我々には判断できず、これは国家による相関攻撃に耐えるクレデンシャルとそうでないクレデンシャルの違いを分ける決定的な差である。
暗号学の下にはもう1つの依存関係が横たわっている。署名済みのチップデータセットは、国家機関がそれらの属性を保証したことを証明するのみで、提示している当人がその書類に記載された本人であることは証明しない。ZKPassportの答えはPrivate Facematchだ。複数アングルのセルフィーをチップに保存された写真とローカルで照合する。これを実行するにはGoogle Play IntegrityまたはApple App Attestationによるデバイスアテステーションが必要で、rootを取ったデバイス、jailbreakされたデバイス、GrapheneOS、サポート外の署名方式を使うデバイスでは実行を拒否する。証明システム自体はトラストミニマイズされているのに、生きた顔を書類に結びつける肝心のチェックは2つのプラットフォームベンダーに外注されており、自己主権に最も関心を持つはずのユーザーこそが締め出されている。
同じ緊張関係はアプリのフットプリントにも現れている。アプリサイズは400MBを超え、うち128MBはAztecのトラステッドセットアップから生成された、最大2^21のサブグループサイズの回路をサポートする構造化参照文字列(SRS)であり、180MBは顔照合用のローカル機械学習モデルである。このSRSはzkPassportの健全性をAztecのセレモニーに結びつけている。トピックブリーフではzkPassportがAztecに買収されたこと、証明システムがUltraHonkであることが述べられているが、我々が取得した文書にはこれらの詳細は一切登場しないため、いずれも未確認として扱うべきである。
未解決の問題はチップのリプレイだ。攻撃者が他人のチップから署名済みデータのコピーを、クローンによってであれ正規の読み取り中の抽出によってであれ入手できれば、回路が消費するすべてを手に入れることになる。我々の手元の文書には、zkPassportが書類自体の認証プロトコルを通じてチップにライブネス(生存証明)を要求しているのか、それともFacematchがその負荷を単独で担う設計になっているのかは明記されていない。もし後者であれば、システム全体のなりすまし耐性は、プラットフォームがアテストする顔認証チェックに丸ごと依存することになり、分析は再びGoogleとAppleに帰着する。
ブリュッセルはリンク不能性の意味を決めていない

EUはウォレットを法制化し、暗号方式は未決定のまま残した。加盟国は2026年末までに市民にEUDIウォレットを提供することが期待されている。この日付は我々が取得した技術資料ではなくトピックブリーフからのものだ。一方でArchitecture and Reference Frameworkワーキンググループは2025年2月にゼロ知識証明統合に関する議論スレッドを開いたが、そのスレッドを見る限り、参加者は定義について議論しているだけで、方式の収束には至っていない。
実質的な対立軸は**BBS+**と汎用のSNARKないしSTARK構成の間にある。議論の一部は分類学的なものだ。BBS+がそもそも本物の非対話型ゼロ知識証明システムに数えられるのか、という問いである。議論の中で示された整理は、BBS+は属性集合に対する署名の知識証明を効率的なSchnorr型で行える署名方式であり、Fiat-Shamir変換によって非対話化されたものであって、これはECDSAのような通常の署名についての言明を証明するSNARK回路とは別物だ、というものである。ある参加者は、EUDIの文脈では「ZKP」という語がしばしば口語的に前者を指して使われていると指摘している。BBS+の標準化はIETFを通じて進められており、Tessaro-Zhuの研究を基盤として参照している。
分類論自体はさほど面白くない。興味深いのはデプロイ上の帰結だ。BBS+では発行者がBBS+形式でクレデンシャルに署名する必要があり、これはつまり、EU全域のあらゆる省庁、レジストリ、認定発行者が、市民が一人でもリンク不能な提示を得られるようになる前に、新しい暗号方式を採用しなければならないことを意味する。SNARKアプローチでは発行者は既存のアルゴリズムでの署名をそのまま続けられ、すべての作業がウォレット側に押し付けられる代わりに、証明コストが桁違いに高くなる。
さらにハードウェアの問題もある。ARFはZKP統合をウォレットのセキュアな暗号デバイスおよびアプリケーション、WSCDとWSCAに結びつけている。クレデンシャル鍵が認証済みのセキュアエレメント内に留まらなければならないなら、証明はそのエレメント内部で実行されるか、あるいはエレメントが小さな操作だけを行いホスト側が残りを処理する形に分割される。認証済みのセキュアエレメントはSNARK proverを実行できない。実行できるのはSchnorr型のレスポンスだ。つまり認証制度そのものが、プライバシー論とは無関係にBBS+へと向かう圧力をかけているのであり、欧州市民が最終的に手にするリンク不能性の性質は、監視リスクについてワーキンググループが下した結論ではなく、スマートカードに何が収まるかによって決まる可能性がある。
このスレッドはまた、ゼロ知識証明が無視できるほど小さいが非ゼロの健全性エラー、おおよそ2^-100を持つことの確認にも時間を割いている。これは標準的な暗号学的慣行であってEUDI固有の弱点ではない。それをワーキンググループのスレッドで改めて確認する必要があったという事実自体が、2026年の提供期限に対して2025年初頭時点でプロセスがどの位置にあったかを物語る材料として妥当だろう。我々が取得した資料の中には、いずれの方向であれ最終決定がなされた証拠は見つからず、方式の選択が既に確定していると扱うのは誤りだろう。
起こりうるのは確率ではなく被害範囲

有用な比較は、どのシステムが最も破りにくいかではない。破られた後に何が起こるか、つまり何件のクレデンシャルが影響を受けるか、誰かがそれに気づくか、そして誰が修復する権限を持つかである。
| World ID | zkPassport | EUDIウォレット | |
|---|---|---|---|
| アンカー | Orbハードウェアと虹彩の一意性 | 国家機関が署名したICAO 9303チップ | 認定ウォレットへの国家によるクレデンシャル発行 |
| 偽造に必要なもの | Orbハードウェアの侵害、またはAMPC重複排除の突破 | 署名済みチップデータセット、および顔認証チェックの突破 | 発行者の侵害、またはクレデンシャル鍵の抽出 |
| 発行者側の相関 | OPRFノードの結託閾値に依存、未公開 | デフォルトで可能、ソルト付きモードを使う場合のみ防止 | 未解決の方式選択に依存 |
| 侵害の分割単位 | 個々のOrb端末、単一運営者の下 | 発行国 | 加盟国だが、採用は義務化されている |
| 修復権限を持つ主体 | Tools for Humanity、単独で | 発行国、独自のタイムラインで | 発行国 |
| 障害の可視性 | アテステーションログが保持されていれば検出可能 | 偽造書類が表面化すれば検出可能 | 相関は静かに進行し検出されない |
分割単位の行を見ると、実際の差が浮かび上がる。zkPassportの侵害は発行機関によって自然に境界づけられる。ある国の書類署名インフラが漏洩すれば、その国発行のすべてのクレデンシャルが疑わしくなり、検証者は発行者ベースでブロックリストに載せられる一方、それ以外の世界は動作を続けられる。単一の事象がグローバルにアンカーを無効化することはない。そもそもアンカーがグローバルではなかったからだ。この耐性の代償は、プロトコル自体には修復権限が一切ないことだ。国家が鍵をローテーションするのを待つしかない。
Worldの分割単位はある意味で細かく、別の意味で粗い。侵害されたOrbが影響を及ぼすのは、それが登録したコホートに限られ、それは有界であり原理的には対処可能だ。その端末による検証を無効化し、該当ユーザーを再スキャンすればよい。単一の運営者がパイプライン全体を制御し、誰の承認も待たずに動ける。より粗い障害は一意性関数そのものが破られること、すなわち1人の人間から2つの承認済み登録を生成する手法が現れることだ。この場合、失効させるべき不正な端末が存在しないため失効措置は役に立たず、運営者はシステム全体が存在する目的そのものである性質を修復しなければならなくなる。
EUDIモデルは、暗号強度とは無関係な理由で、最も優雅さを欠いた形で劣化する。その主要な障害モードは偽造ではなく相関であり、相関は痕跡を残さない。発行者によって提示情報を紐づけられているユーザーが観測するものは、完璧なリンク不能性を持つユーザーが観測するものと全く同じだ。検出すべき異常もなく、表面化する偽造書類もなく、要求すべき修復もない。そしてウォレットの提供は選択制ではなく義務であるため、競争による退出の余地もない。国家がいつでも再発行できるという意味で最強のリカバリー可能性を持つこのシステムこそが、自らの障害を明らかにする能力が最も弱いのである。
だがカバレッジの観点は逆の方向に働き、この結論を割り引いて考える必要がある。書類ベースのモデルは近代的な電子身分証明書を持つ人々にしか奉仕できず、デバイスアテステーションの要件がそれをさらに絞り込む。Orbによる検証は、パスポートベースの方式が到底届かない人口層にリーチできる。報告されている1,800万人が160か国にまたがっている理由の一端はここにある。優雅な劣化は、誰かが実際に到達できるアンカーに備わる性質だ。
保証が消費される瞬間

どのアンカーを使うシステムであれ、保証は人間がエージェントに委任する瞬間に消費される。そしてそこが情報が最も薄い箇所でもある。WorldはWorld IDとAgentKitを、エージェントを検証済みの人間に結びつけるメカニズムとして位置づけている。我々が取得した資料には、その結びつけがどう構成されているのか、1人あたりのエージェント数に上限が課されているのか、エージェントごとの説明責任がどう維持されるのかについての記述が一切ない。このギャップは重要だ。というのも、設計空間には悪い袋小路と、その間を通る狭い一本道しか存在しないからだ。
エージェントが本人と同じスコープ束縛のnullifierを提示するなら、あるサービスは人間1人につき1つのアイデンティティしか見ないことになる。一意性は完璧に転写されるが、マルチエージェント運用は成立しなくなる。サービス側は本人の複数のエージェントを区別できず、個別にレート制限をかけることもできないからだ。
逆にエージェントが、何らかの検証済み人間がその背後にいるとだけ主張する新規のリンク不能な値を提示するなら、エージェントの数は無制限になる。パーソンフッド証明は「上流のどこかに少なくとも1人の人間が存在する」という証明に転換されてしまい、それは希少な主張ではなくなる。Orbやパスポートチップが確立したあらゆる性質は、最初の委任の瞬間に使い果たされてしまう。
この2つの間の道筋は、上限付き導出だ。エージェントのnullifierを、本人のアイデンティティ秘密情報、サービスのスコープ、インデックスの関数として構成し、そのインデックスが値を明かすことなくある上限以下であることを回路が証明する、というものだ。これには人間・スコープ・インデックスの組み合わせにまたがるステートフルな重複検出が必要であり、これはまさにOPRFネットワークが提供しうるoblivious recognitionそのものだ。設計としては筋が通っている。だが、それが実装されているという証拠は我々の手元にはない。
上限付き設計をもってしても解消しない緊張がさらに2つ残る。第一に、一意性が実用的な防御として機能するのは、検証者がエージェント単位ではなく人間単位で制限を定めている場合に限られる。複数のエージェントにまたがって人間単位の予算を強制するには、検証者は自らのスコープ内でそれらのエージェントを本人ごとにグループ化できなければならない。これはリンク不能性の意図的な後退であり、説明責任の代償として受け入れられているものであって、暗黙のうちに生まれるものではなく明示的なプロトコル上の決定であるべきだ。
第二に、失効は一度限り使用のnullifierと真っ向から対立する。不正行為を働くエージェントをブロックするには、ブロック対象となる安定したハンドルが必要だが、提示のたびに新しくなる値はそれを提供しない。失効の権限を認識レイヤー内部に置けばOPRFネットワークへの権力集中を招き、検証者が自前でリンク可能なスコープごとの状態を保持し続ければ、新規の値を導入した目的であったプライバシーが損なわれる。リンク不能性の改善と説明責任の要件は、同じ綱を逆方向に引っ張り合っている。
これらの問いを解決するために必要なもの
分析を変えうる具体的な開示事項は、狭く特定できるものだ。Worldについては、TACEO OPRFネットワークの正直ノード閾値とメンバー構成、企業ブログではなくAMPC重複排除とnullifier導出の独立監査、そしてTACEOがサービスを停止した場合に認識と復旧がどうなるかについての説明である。オープンソース化されたSDKは監査可能な範囲の実質的な改善だが、これら3点のどれにも触れていない。
zkPassportについては、ソルト付きvOPRF識別子が本番統合でデフォルトなのか、それともほとんどのデプロイがスキップするオプトインなのか、そしてプロトコルがチップのライブネスを要求しているのか、それともなりすまし耐性をまるごとGoogleとAppleのアテステーションでゲートされた顔認証チェックに委ねているのか、である。報道が正確であれば、Aztecによる買収は証明スタックとSRS、アプリケーションを1つの傘の下に集約することを意味し、これはAztecに属さない当事者による回路の監査可能性に何をもたらすかという点で重要だ。
EUについては、ARFワーキンググループが2025年2月以降にBBS+の問題を決着させたか、決着させたならその結論がリンク不能性の分析から導かれたのか、それとも認証済みのセキュアな暗号デバイスが実行できることから導かれたのかである。もし後者であれば、加盟国は法定期限に押されて、ハードウェアの制約によって選ばれたプライバシー特性を、数億の人々に対して出荷したことになる。
これら3組の問いを併せて追いかける価値があるのは、エージェント決済のレールがそのどれも待ってくれないからだ。決済インフラは今まさに、その障害モードが主に構築したベンダー自身によってしか文書化されていないパーソンフッド・クレデンシャルの上に築かれつつあり、最初の本格的な試練は暗号学的な破綻ではないだろう。ある検証者が、自分たちの人間単位のレート制限が実はずっとエージェント単位のレート制限だったと気づく瞬間がそれになる。
参考文献

引言
一个自主代理可以持有私钥、签署交易、完成支付,全程不需要人介入。这部分已经解决了。没解决的是交易对手在放贷、给配额或计票之前真正需要的那个断言:这个代理背后站着一个独立的、可追责的人,而且这个人没有同时操控另外一万个打到同一个端点的代理。
密钥托管可以无限扩展,人格无法。每一个宣称”唯一性”的凭证都必须扎根于某种确实难以复制的东西,而每一个候选根基都是物理或机构性质的,而非密码学性质的。目前有三家在同时构建这套体系,且他们对这个”根基”该是什么各执一词。
World 报告称通过其 Orb 硬件在 160 个国家验证了近 1800 万独立人类,并推出了一次协议升级,称之为全栈人类证明:一个专门的凭证管理应用、一个开源 SDK,以及把 nullifier 生成迁移到 TACEO 的分布式 OPRF 网络上。ZKPassport 对信任应该落在哪里持相反看法,它读取符合 ICAO 9303 标准的护照或身份证上的 NFC 芯片,并完全在用户手机本地生成零知识证明。欧盟立法给出了第三个答案,要求成员国向公民提供数字身份钱包,普遍引用的目标时间是 2026 年 12 月,但其技术工作组自己都还没定下这个钱包该用哪种零知识构造。
这不是同一套设计的三种实现,而是三种不同的赌注——赌哪个机构最不可能背叛用户,而每种赌注都有各自独特的失败方式。在继续之前有必要说明一个信息来源上的严重保留:关于 World 与 Coinbase、Cloudflare 通过 x402 达成代理支付合作的报道大约出现在 2026 年 3 月,但我们无法取得该文章,因此下文中关于该整合的所有具体细节都标记为未经验证,而非既定事实。
每一种人格凭证都困在同一个三角里
一个人格证明系统必须同时满足三个属性,而这三者相互拉扯。
唯一性指的是服务方能够判断两次注册来自同一个人,并拒绝第二次注册。标准做法是使用 nullifier:一个从用户身份密钥和一个作用域标识符(通常是验证方应用的域名)确定性推导出的伪随机值。同一个人、同一个应用,产生同一个 nullifier。验证方存储这个值,一旦再次看到,就拒绝这次重复注册,全程不需要知道这个人是谁。
不可关联性指的是两个互相比对信息的服务方无法判断它们看到的是同一个人。这一属性只有在 nullifier 函数在其作用域之外不可预测时才成立,也就是说 A 应用的 nullifier 不会泄露任何关于 B 应用 nullifier 的信息。它还有第二种、更难做到的形式:颁发凭证的机构本身不应该能在外部识别出自己的用户。第三方不可关联性和颁发方不可关联性是两个独立的属性,很多系统能满足前者,却在后者上悄悄失败。
可恢复性是人们最容易低估的一点。如果凭证仅仅是一个私钥,丢了手机就等于丢了人格,而重新注册这件事必须和一次 sybil 攻击尝试无法区分。所以锚点必须是用户能够重新出示的东西:一只虹膜、一本护照、一条政府登记记录。正是这个要求让锚点变成了物理或机构性质的对象,这也是为什么这些系统真正有意思的问题是关于硬件供应链和发证机构的问题,而不是关于椭圆曲线的问题。
这三个属性相互制约。对生物特征做确定性函数运算能同时给出唯一性和可恢复性,但把关联能力交给了任何计算这个函数的一方。一次性使用的 nullifier 能提供很强的不可关联性,却拿掉了验证方用来撤销恶意行为者所需的那个稳定句柄。国家颁发能提供最强的可恢复性,同时也是最弱的颁发方不可关联性。下文的一切都是围绕如何在这个三角里找位置的不同变体。
作为唯一性预言机的 Orb

World 的做法把唯一性当作一个测量问题。Orb 拍摄用户的眼睛和面部,从这些图像中推导出一个编码,把编码和照片传输到用户自己的设备上,然后,按照 World 对这个流程的描述,从硬件中删除它们。设备把编码拆成片段,发送给一组 AMPC 节点,由这些节点共同判断这个人是否此前已注册过。去重发生在秘密共享的数据之上,因此没有任何一个节点持有可以用来比对外部数据库的生物特征模板。
这套架构回答了人们最先想到的质疑,即某家公司在建立一个全球虹膜数据库。它没有回答更重要的那个质疑。用户无法观察到删除是否真的发生了。从快门按下的那一刻到编码落到手机上的那一刻,整个过程都发生在一个用户没有参与制造、无法检查、且大概只站在面前三十秒的密封设备内部。一台在删除之前保留了图像的改装或伪造 Orb,从用户的角度看会和一台合规的设备一模一样。World 自己发布的公告只是一篇公司博客,而非独立审计,我们掌握的材料中没有任何第三方对 AMPC 去重系统、nullifier 推导或硬件认证链的安全审查。
不过 4.0 升级确实改变了一些实质性的东西。Nullifier 的生成迁移到了 TACEO 的 OPRF 网络上,这是一个分布式的隐私执行层,多个独立节点共同生成证明,因此没有单一方能控制证明的生成。World 把由此产生的属性描述为”不可知的假名识别”。再加上转向一次性使用的 nullifier,这改变了信任问题的形态。问题不再是”World 是否持有一个能关联我的会话的值”,而是”是否有一定门槛数量的 OPRF 节点能合谋重新计算出这个值”。这是两个真正不同的假设,第二个更好。但决定”好多少”的那个数字,即诚实节点门槛以及节点集合的构成,并没有出现在我们掌握的材料中。在这个数字公布之前,去中心化的说法只是方向性的,而非量化的。
一次性使用的 nullifier 也暗示了状态存在于何处这一问题。如果验证方每次收到的值都是全新的,它就无法通过和已经见过的值比对来发现重复注册。去重的任务必须委托给某一层,由它在不知道用户是谁的情况下识别出回访用户,而这正是”不可知识别”这个说法所暗示 OPRF 网络在做的事。这是从所描述的架构中推导出来的推论,而非一个有文档记录的机制,但它很重要,因为这意味着 OPRF 网络不仅仅是一个证明生成器,而是一个存活性依赖项。它一旦停止运行,识别也就停止了。
把 SDK 开源,让任何应用都能充当 World ID 认证方,扩大了整合面,也让开发者能审计客户端。但它没有触及 Orb 固件和节点集合本身。栈中原本争议最小的那部分,现在成了最可被检查的那部分。
面向代理的那部分,AgentKit,被定位为证明一个经过验证的独立人类站在某个 AI 代理背后的机制。World 断言了这一能力。我们掌握的材料没有解释这种密码学绑定是如何实现的,我们在下文会说明为什么这正是最重要的缺口。
读取芯片而非读取眼睛

ZKPassport 把锚点转移到了一份政府已经颁发过的文件上。用户用手机碰一下符合 ICAO 9303 标准的护照、身份证或居留许可,应用读取 NFC 芯片,Noir 电路直接在设备本地生成零知识证明。除了证明本身以及用户明确选择披露的内容,没有任何信息离开手机。可以在不透露出生日期的情况下证明年龄超过某个阈值,也可以在不透露姓名的情况下证明国籍。
标识符的构造方式是这个设计中最有意思的部分。ZKPassport 使用 Poseidon2 把芯片数据和验证方的域名及一个作用域值哈希在一起,由此推导出一个唯一标识符。结果对同一服务是稳定的,对不同服务则各不相同,这从构造上就给出了第三方不可关联性。但它没有给出颁发方不可关联性,这一点项目自己的 FAQ 也承认。一个保留了签发到某张芯片上的数据记录的政府,只要知道公开的域名和作用域值,就能重新计算出这个标识符,并把它和一个具名公民对上号。在默认配置下,展示凭证的行为对除了最有能力滥用这种关联的一方之外的所有人都是不可关联的。
文档记录的解决方案是一种基于可验证 OPRF 构建的加盐标识符模式,它在推导过程中注入了一个颁发方永远看不到的秘密值。这个方案是有效的,但它是作为一个选项被提供的,这就把这套系统中最重要的隐私决策推给了负责接线的集成方。生产环境中的部署默认使用加盐还是不加盐的标识符,这一点我们无法确定,而这恰恰是一份能抵御国家关联和一份不能抵御国家关联的凭证之间的区别。
密码学之下还有第二层依赖。一组签名的芯片数据只能证明某个国家权威机构曾对这些属性做过认证,并不能证明出示这份文件的人就是文件所描述的那个人。ZKPassport 的答案是 Private Facematch,一种多角度自拍照,在本地和芯片中存储的照片进行比对。要运行这一功能,需要通过 Google Play Integrity 或 Apple App Attestation 进行设备认证,且在获取 root 权限的设备、越狱设备、GrapheneOS,或使用不受支持的签名方案的设备上,该功能拒绝执行。证明系统本身是最小化信任的。而把活体人脸和文件绑定起来的这一验证环节,被外包给了两家平台厂商,而最在意自我主权的用户,恰恰是被这一环节挡在门外的那批人。
同样的张力也出现在应用体积上。这个应用超过 400MB,其中 128MB 是 Aztec 可信设置生成的结构化参考字符串,支持最高 2^21 子群规模的电路,另外 180MB 是用于人脸比对的本地机器学习模型。这个 SRS 把 zkPassport 的可靠性和 Aztec 的仪式绑定在了一起。选题简报中提到 zkPassport 已被 Aztec 收购,其证明系统为 UltraHonk,但这两个细节都没有出现在我们查到的文档中,因此都应视为未经确认。
尚未解决的问题是芯片重放攻击。如果攻击者获得了另一个人芯片上签名数据的副本,无论是通过克隆还是在一次合法读取过程中提取出来,他就掌握了电路所需的一切输入。我们手头的文档没有说明 zkPassport 是否要求芯片通过文件自身的认证协议来证明活体性,还是打算完全靠 Facematch 来承担这个责任。如果是后者,那么整个系统的防冒充属性就完全依赖于平台认证的人脸检测,这又把分析拉回到了 Google 和 Apple 身上。
布鲁塞尔还没决定”不可关联性”意味着什么

欧盟已经立法要求推出钱包,却把密码学方案留白了。成员国预计在 2026 年底之前向公民提供 EUDI 钱包,这个日期我们取自选题简报,而非我们查到的技术资料。与此同时,架构与参考框架工作组在 2025 年 2 月开启了一个关于零知识证明整合的讨论帖,帖子里的贡献者们还在争论定义,远没有收敛到某一套方案上。
实质性的分歧在于 BBS+ 和通用型 SNARK 或 STARK 构造之间。争论的一部分是分类学层面的:BBS+ 到底算不算一种真正的非交互式零知识证明系统。讨论中给出的一个澄清性回答是,BBS+ 是一种签名方案,它允许对一组属性上的签名知识做高效的施诺尔式知识证明,再通过 Fiat-Shamir 变换为非交互式,这和用 SNARK 电路来证明关于传统签名(比如 ECDSA)的陈述是两种不同的东西。有贡献者指出,在 EUDI 语境下,“ZKP” 这个词常常被口语化地用来指代前者。BBS+ 的标准化工作正通过 IETF 推进,以 Tessaro-Zhu 的研究成果为基础。
分类学本身不是有意思的部分,部署后果才是。BBS+ 要求颁发方以 BBS+ 格式签发凭证,这意味着全联盟范围内的每一个部委、登记机构和授权颁发方都得先采用新的密码学方案,公民才能拿到一份不可关联的展示证明。而 SNARK 方案能让颁发方继续用他们已有的算法签名,把所有的工作都推给钱包端来做,只是证明成本要高出几个数量级。
然后是硬件问题。ARF 把 ZKP 的整合和钱包的安全密码学设备及应用绑定在了一起,也就是 WSCD 和 WSCA。如果凭证密钥必须留在经过认证的安全元件内部,证明要么在这个元件内部运行,要么被拆分开来,让元件只执行一个很小的操作,其余交给宿主设备处理。经过认证的安全元件跑不动 SNARK 证明器,但可以完成一次施诺尔式的响应计算。换句话说,认证体制本身就在朝着 BBS+ 施压,这和隐私层面的论证无关,也就意味着欧洲公民最终得到的不可关联性属性,可能是由什么能塞进一张智能卡决定的,而不是工作组关于监控风险得出的结论决定的。
这个讨论帖还花了不少篇幅确认零知识证明存在一个可忽略但非零的可靠性误差,量级在 2^-100 左右。这是一个标准的密码学惯例,不是 EUDI 特有的弱点。它需要在工作组的讨论帖里被专门确认这件事本身,倒是能合理反映出截至 2025 年初,相对于 2026 年的交付期限,整个进程处在什么阶段。我们在查到的材料中没有找到最终决定的证据,无论哪个方向都没有,把方案选择当作已经敲定的事实是错误的。
该看的是波及范围,不是发生概率

有用的比较不是哪个系统最难攻破,而是攻破之后会发生什么:有多少凭证受影响,是否有人会发现,以及谁有权力去修复。
| World ID | zkPassport | EUDI 钱包 | |
|---|---|---|---|
| 锚点 | Orb 硬件加虹膜唯一性 | 由国家权威机构签名的 ICAO 9303 芯片 | 国家向经认证的钱包颁发凭证 |
| 伪造需要 | 攻破 Orb 硬件或攻破 AMPC 去重 | 一组签名的芯片数据,加上攻破人脸检测 | 攻破颁发方或提取凭证密钥 |
| 颁发方侧关联 | 取决于 OPRF 节点合谋门槛,未披露 | 默认可能发生,仅在可选的加盐模式下被阻止 | 取决于尚未确定的方案选择 |
| 攻破范围划分依据 | 单个 Orb 设备,归属单一运营方 | 颁发国家 | 成员国,但采用是强制性的 |
| 谁能补救 | Tools for Humanity,单方面决定 | 颁发国,按自己的时间表 | 颁发国 |
| 故障可见性 | 若保留了认证日志则可检测 | 伪造文件出现时可检测 | 关联行为是无声的 |
看”攻破范围划分依据”这一行,会发现一个真实的差异。zkPassport 的攻破天然按颁发机构划分边界。如果某个国家的文件签名基础设施泄露,来自该国的每一份凭证都会变得可疑,验证方可以按颁发国家拉黑,世界其他地方照常运作。没有单一事件会在全球范围内让锚点失效,因为这个锚点从一开始就不是全球性的。这种韧性的代价是这套协议完全没有补救权力,只能等待某个国家去轮换密钥。
World 的边界划分在某个意义上更细,在另一个意义上更粗。一台被攻破的 Orb 只影响它注册过的那批人,这个范围是有边界的,原则上也是可处理的:作废那台设备的所有验证记录,让这些用户重新扫描。单一运营方控制着整条流水线,可以不必等任何人批准就采取行动。而更粗粒度的故障是唯一性函数本身被攻破,也就是说,有一种技术能让同一个人的两次注册都被系统接受。撤销机制在这里帮不上忙,因为没有一台”坏设备”可以撤销,而运营方要补救的正是整个系统存在的意义所在的那个属性。
EUDI 模式的退化方式最不体面,原因和密码学强度毫无关系。它的主要故障模式不是伪造,而是关联,而关联不留下任何痕迹。一个展示记录正被颁发方关联起来的用户,观察到的现象和一个拥有完美不可关联性的用户完全一样。没有异常可以检测,没有伪造文件会浮出水面,没有补救可以要求,而且由于钱包的提供是强制性的而非自愿选择的,也没有竞争性退出的渠道。这个拥有最强可恢复性(因为国家总能重新颁发)的系统,恰恰拥有最弱的能力去暴露自己的失败。
覆盖面则朝相反方向拉扯,应该让人对上述结论有所保留。文件模式只能服务持有现代电子身份证件的人群,而设备认证的要求又进一步收窄了这个范围。Orb 验证能触及任何基于护照的方案都无法触及的人群,这也是为什么报告中的 1800 万人分布在 160 个国家的部分原因。优雅的降级本身是一种只有真正能触达用户的锚点才具备的属性。
保证在哪里被兑现掉

无论一个系统用的是哪种锚点,这份保证都会在一个人向代理委托权力的那一刻被消耗掉,而这也是信息来源最薄弱的地方。World 把 World ID 加 AgentKit 定位为把代理绑定到经验证人类身上的机制。我们查到的材料没有任何一处描述这种绑定是如何构建的,是否强制执行了每个人可拥有的代理数量上限,或者说单个代理层面的可追责性是如何维持的。这个缺口很重要,因为整个设计空间里只有坏的角落,以及它们之间一条狭窄的路径。
如果代理出示的是和其委托人一样的、绑定在同一作用域的 nullifier,那么服务方看到的就是每个人在每个作用域下只有一个身份。唯一性完美传递,但多代理运作也就死掉了,因为服务方无法区分委托人的两个代理,也无法对它们分别限速。
如果代理出示的是一个全新的、不可关联的值,只声明”背后有某个经过验证的人类”,那么代理数量就变得没有上限了。人格证明被转化成了”上游某处至少存在一个人类”的证明,而这不是一个稀缺的断言。Orb 或护照芯片建立起来的每一个属性,都在第一次委托时就被兑现掉了。
介于两者之间的路径是一种带上限的推导方式:代理的 nullifier 是人类身份密钥、服务作用域和一个索引值的函数,电路证明这个索引值低于某个上限,但不透露具体数值。这需要跨越”人类、作用域、索引”这个三元组进行有状态的去重检测,而这正是一个 OPRF 网络能够提供的那种不可知识别。这是一个自洽的设计,但我们没有证据表明这就是已经实现的那个设计。
即便在这种带上限的设计下,仍有两个张力无法化解。第一,唯一性只有在验证方以”人”而非”代理”为单位来计算限额时才是一种可用的防御,而要在若干代理之间强制执行按人计算的配额,验证方必须能在自己的作用域内把这些代理按委托人分组归类。这是对不可关联性的一种刻意削弱,是换取可追责性所付出的代价,它应该是一个协议层面明确做出的决定,而不是一个自发出现的副作用。
第二,撤销机制和一次性使用的 nullifier 直接冲突。要拉黑一个行为不端的代理,需要一个稳定的句柄来拉黑,而一个每次展示都全新生成的值根本提供不了这样的句柄。要么撤销权力落在识别层内部,这会把权力集中到 OPRF 网络手中,要么验证方自己保留可关联的、按作用域划分的状态,这又侵蚀了引入全新值原本要保护的隐私。不可关联性的升级和可追责性的要求,正拉扯着同一根绳子。
什么样的披露能解答这些问题
能改变这一分析的具体信息披露范围很窄,也是可以明确列出的。对 World 而言:TACEO OPRF 网络的诚实节点门槛和成员构成,一份针对 AMPC 去重和 nullifier 推导的独立审计(而非一篇公司博客文章),以及一份关于如果 TACEO 停止服务,识别和恢复功能会怎样的声明。开源的 SDK 确实让可审计的表面变大了,但它没有触及以上这三点中的任何一点。
对 zkPassport 而言:加盐 vOPRF 标识符在生产环境集成中是默认选项,还是大多数部署会跳过的可选项;以及协议是否要求芯片本身证明活体性,还是把防冒充的全部责任都留给了一个由 Google 和 Apple 认证把关的人脸检测。如果收购的报道属实,Aztec 的收购把证明栈、SRS 和应用整合到了同一个屋檐下,这对于那些不为 Aztec 工作的各方能否审计电路,是一件有实质影响的事。
对欧盟而言:ARF 工作组是否在 2025 年 2 月之后解决了 BBS+ 的争议,如果解决了,这个决定是源于一份不可关联性分析,还是源于一个经过认证的安全密码学设备能执行什么运算。如果是后者,就意味着成员国是根据硬件的限制条件,向数亿人交付了一份隐私属性,还是在一个法定的截止日期压力下做出的选择。
值得把这三组问题放在一起持续追踪的原因是,代理支付轨道不会等这些问题都有答案。结算基础设施现在正基于这些人格凭证被建造出来,而这些凭证的失败模式主要是由构建它们的厂商自己记录的。第一次严峻的考验不会是一次密码学层面的破解,而会是某个验证方发现,自己一直以来按人计算的限速,其实一直是按代理计算的限速。
参考资料

Introducción
Un agente autónomo puede custodiar una clave privada, firmar una transacción y liquidar un pago sin que haya una persona en el circuito. Esa parte ya está resuelta. Lo que no está resuelto es la afirmación que una contraparte realmente necesita antes de extender crédito, otorgar un límite de tasa o contar un voto: que detrás de este agente hay un humano concreto y responsable, y que ese mismo humano no está también detrás de otros diez mil agentes que golpean el mismo endpoint.
La custodia de claves escala gratis. La condición de persona, no. Toda credencial que afirme unicidad tiene que estar anclada en algo genuinamente difícil de duplicar, y todo candidato a ancla es un artefacto físico o institucional, no criptográfico. Se están construyendo tres al mismo tiempo, y discrepan sobre cuál debería ser ese artefacto.
World reporta casi 18 millones de personas verificadas como humanos únicos a través de su hardware Orb en 160 países, y ha lanzado una actualización de protocolo que llama full-stack proof of human: una app dedicada de gestión de credenciales, un SDK de código abierto y la generación de nullifiers trasladada a la red OPRF distribuida de TACEO. ZKPassport sostiene la visión opuesta sobre dónde debe residir la confianza: lee el chip NFC de un pasaporte o documento nacional ICAO 9303 y genera pruebas de conocimiento cero sobre él enteramente en el teléfono del usuario. La Unión Europea ha legislado una tercera respuesta, exigiendo a los estados miembros que ofrezcan a los ciudadanos una billetera de identidad digital, con una meta que suele citarse para diciembre de 2026, mientras su propio grupo de trabajo técnico no ha resuelto qué construcción de conocimiento cero debe usar la billetera.
Estas no son tres implementaciones de un mismo diseño. Son tres apuestas distintas sobre qué institución tiene menos probabilidad de traicionar al usuario, y cada apuesta falla de una manera distinta. Una advertencia seria sobre las fuentes antes de continuar: apareció cobertura sobre la alianza de World con Coinbase y Cloudflare en pagos de agentes vía x402 alrededor de marzo de 2026, pero no pudimos recuperar el artículo, y todo detalle específico sobre esa integración en lo que sigue queda marcado como no verificado en lugar de tratarse como establecido.
El triángulo en el que queda atrapada toda credencial de personhood
Un sistema de prueba de personhood tiene que entregar tres propiedades, y se tensionan entre sí.
Unicidad significa que un servicio puede detectar que dos registros provienen de la misma persona y rechazar el segundo. La construcción estándar es un nullifier: un valor pseudoaleatorio derivado de forma determinista del secreto de identidad del usuario y un identificador de alcance (scope), usualmente el dominio de la aplicación verificadora. Misma persona, misma app, mismo nullifier. El verificador almacena el valor, lo vuelve a ver y rechaza el duplicado sin llegar a saber quién es la persona.
Unlinkability significa que dos servicios que comparan notas no pueden saber que están observando a la misma persona. Esto se sostiene solo si la función del nullifier es impredecible fuera de su alcance, de modo que el nullifier de la app A no revele nada sobre el nullifier de la app B. Tiene además una segunda forma, más difícil: la entidad que emitió la credencial no debería poder reconocer a sus propios usuarios en el mundo real. La unlinkability frente a terceros y la unlinkability frente al emisor son propiedades separadas, y los sistemas suelen cumplir la primera mientras fallan silenciosamente en la segunda.
Recuperabilidad es la que la gente subestima. Si la credencial no es más que una clave privada, perder el teléfono significa perder la personhood, y volver a registrarse tiene que ser indistinguible de un intento sybil. Por eso el ancla debe ser algo que el usuario pueda volver a presentar: un iris, un pasaporte, un registro gubernamental. Ese requisito es precisamente lo que convierte al ancla en un objeto físico o institucional, y por eso las preguntas interesantes sobre estos sistemas son preguntas sobre cadenas de suministro de hardware y autoridades emisoras, no sobre curvas elípticas.
Las tres propiedades se limitan entre sí. Una función determinista de un dato biométrico da unicidad y recuperabilidad, pero entrega poder de correlación a quien la calcule. Un nullifier de un solo uso da fuerte unlinkability pero elimina el punto de referencia estable que un verificador necesitaría para revocar a un mal actor. La emisión estatal da la recuperabilidad más fuerte de todas y la unlinkability frente al emisor más débil. Todo lo que sigue es una variación sobre cómo posicionarse dentro de ese triángulo.
El Orb como oráculo de unicidad

El enfoque de World trata la unicidad como un problema de medición. El Orb fotografía los ojos y el rostro del usuario, deriva un código a partir de esas imágenes, transmite el código y las fotos al propio dispositivo del usuario y, según la descripción del flujo que da World, las borra del hardware. El dispositivo divide el código en fragmentos y los envía a un conjunto de nodos AMPC, que determinan conjuntamente si este humano ya fue registrado antes. La deduplicación ocurre sobre datos compartidos de forma secreta, así que ningún nodo individual tiene una plantilla biométrica con la que hacer coincidencias contra una base de datos externa.
Esa arquitectura responde a la objeción que la gente plantea primero, que es que una empresa está construyendo una base de datos global de iris. No responde a la objeción que más importa. El usuario no puede observar si el borrado realmente ocurrió. Todo, desde el momento en que se dispara el obturador hasta el momento en que el código llega al teléfono, sucede dentro de un dispositivo sellado que el usuario no construyó, no puede inspeccionar, y frente al cual está parado durante quizás treinta segundos. Un Orb modificado o falsificado que retenga imágenes antes del borrado se vería idéntico a uno que cumple, desde donde está parado el usuario. El propio anuncio de World es una entrada de blog corporativo y no una auditoría independiente, y el material fuente que tenemos no contiene ninguna revisión de seguridad de terceros sobre el sistema de deduplicación AMPC, la derivación del nullifier o la cadena de atestación del hardware.
La actualización 4.0 sí cambia algo real. La generación del nullifier se traslada a la OPRF Network de TACEO, una capa de ejecución privada distribuida donde múltiples nodos independientes producen conjuntamente la prueba, de modo que ninguna parte controla en solitario la generación de pruebas. World describe la propiedad resultante como reconocimiento pseudónimo oblivious. Combinado con el paso a nullifiers de un solo uso, esto cambia la forma de la pregunta de confianza. Ya no es “¿tiene World un valor que vincula mis sesiones?” sino “¿puede un umbral de nodos OPRF confabularse para recalcular uno?”. Son supuestos genuinamente distintos, y el segundo es mejor. Pero el número que determina cuánto mejor, el umbral de nodos honestos y la composición del conjunto de nodos, no aparece en el material que tenemos. Hasta que aparezca, la afirmación de descentralización es direccional, no cuantificada.
Los nullifiers de un solo uso también implican algo sobre dónde reside el estado. Si el valor que recibe un verificador es fresco en cada presentación, el verificador no puede detectar un duplicado comparándolo con valores que ya vio antes. La detección de duplicados tiene que delegarse a una capa que pueda reconocer a un usuario recurrente sin saber quién es, que es lo que sugiere el planteo del reconocimiento oblivious sobre lo que hace la red OPRF. Eso es una inferencia a partir de la arquitectura descrita, no un mecanismo documentado, y es relevante porque significa que la red OPRF no es solamente un generador de pruebas. Es una dependencia de liveness. Si se detiene, el reconocimiento se detiene.
Abrir el código del SDK para que cualquier aplicación pueda actuar como autenticador de World ID amplía la superficie de integración y permite a los desarrolladores auditar el cliente. Deja el firmware del Orb y el conjunto de nodos donde estaban. La parte del stack que menos se cuestionaba es ahora la parte más inspeccionable.
La pieza orientada a agentes, AgentKit, se presenta como el mecanismo que prueba que un humano único y verificado está detrás de un agente de IA. World afirma la capacidad. El material que tenemos no explica el vínculo criptográfico, y volvemos sobre por qué ese vacío es el importante más adelante.
Leer el chip en lugar del ojo

ZKPassport reubica el ancla en un documento que un gobierno ya emitió. El usuario acerca su teléfono a un pasaporte, documento nacional o permiso de residencia compatible con ICAO 9303, la app lee el chip NFC y circuitos Noir generan pruebas de conocimiento cero en el propio dispositivo. Nada sale del teléfono salvo la prueba y lo que el usuario haya elegido explícitamente revelar. Probar edad por encima de un umbral sin revelar la fecha de nacimiento; probar nacionalidad sin revelar el nombre.
La construcción del identificador es donde el diseño se vuelve interesante. ZKPassport deriva un identificador único mediante el hash de los datos del chip junto con el dominio verificador y un valor de scope usando Poseidon2. El resultado es estable por servicio y distinto entre servicios, lo que da unlinkability frente a terceros por construcción. No da unlinkability frente al emisor, y el propio FAQ del proyecto lo dice. Un gobierno que haya conservado un registro de los datos que firmó en un chip determinado, y que conoce el dominio y el scope, que son públicos, puede recalcular el identificador y hacerlo coincidir con un ciudadano nombrado. En la configuración predeterminada, las presentaciones son unlinkable frente a todos excepto frente a la parte mejor posicionada para abusar del vínculo.
La solución documentada es un modo de identificador con sal (salted) construido sobre un OPRF verificable, que inyecta un secreto que el emisor nunca ve en la derivación. Funciona. También se presenta como una opción, lo que traslada la decisión de privacidad más consecuente del sistema a cualquier integrador que esté armando el flujo. Si los despliegues en producción usan por defecto identificadores con sal o sin sal es algo que no pudimos determinar, y es la diferencia entre una credencial que resiste la correlación estatal y una que no.
Hay una segunda dependencia debajo de la criptografía. Un conjunto de datos de chip firmado prueba que una autoridad nacional certificó esos atributos; no prueba que la persona que lo presenta sea la persona que describe el documento. La respuesta de ZKPassport es Private Facematch, una selfie multiángulo comparada localmente contra la fotografía almacenada en el chip. Para ejecutarse, requiere atestación de dispositivo mediante Google Play Integrity o Apple App Attestation, y se niega a ejecutarse en dispositivos rooteados, con jailbreak, GrapheneOS o con esquemas de firma no soportados. El sistema de pruebas minimiza la confianza requerida. El chequeo que vincula un rostro vivo con el documento se terceriza a dos proveedores de plataforma, y los usuarios a quienes más les importaría la autosoberanía son precisamente los excluidos de él.
La misma tensión aparece en el peso de la app. Supera los 400MB, de los cuales 128MB son una structured reference string de configuración confiable de Aztec que soporta circuitos de hasta un tamaño de subgrupo de 2^21, y 180MB son modelos de aprendizaje automático locales para el reconocimiento facial. El SRS ata la solidez de zkPassport a la ceremonia de Aztec. El brief del tema describe a zkPassport como adquirida por Aztec y a su sistema de pruebas como UltraHonk; ninguno de esos detalles aparece en la documentación que recuperamos, así que ambos deben tratarse como no confirmados.
La pregunta sin resolver es el replay del chip. Si un adversario obtiene una copia de los datos firmados del chip de otra persona, ya sea clonándolo o extrayéndolos durante una lectura legítima, tiene todo lo que consume el circuito. Nada en la documentación que tenemos especifica si zkPassport exige que el chip demuestre liveness mediante los propios protocolos de autenticación del documento, o si se espera que Facematch cargue con eso por sí solo. Si es lo segundo, entonces la propiedad de resistencia a la suplantación de todo el sistema descansa en el chequeo facial atestiguado por la plataforma, lo que devuelve el análisis a Google y Apple.
Bruselas no ha decidido qué significa unlinkability

La UE legisló la billetera y dejó abierta la criptografía. Se espera que los estados miembros ofrezcan a los ciudadanos una EUDI Wallet para fines de 2026, fecha que tomamos del brief del tema y no de las fuentes técnicas que consultamos. Mientras tanto, el grupo de trabajo de Architecture and Reference Framework abrió un hilo de discusión sobre integración de pruebas de conocimiento cero en febrero de 2025, y ese hilo muestra a los participantes discutiendo definiciones en lugar de converger en un esquema.
La división sustantiva es entre BBS+ y construcciones SNARK o STARK de propósito general. Parte del hilo es taxonómica: si BBS+ cuenta siquiera como un sistema genuino de prueba de conocimiento cero no interactiva. La respuesta aclaratoria que se ofrece en la discusión es que BBS+ es un esquema de firma que admite una prueba eficiente de conocimiento tipo Schnorr sobre una firma que cubre un conjunto de atributos, vuelta no interactiva mediante Fiat-Shamir, lo cual es un objeto distinto de un circuito SNARK que prueba afirmaciones sobre una firma convencional como ECDSA. Un participante observa que en el contexto EUDI, “ZKP” suele usarse coloquialmente para referirse a lo primero. La estandarización de BBS+ se persigue a través del IETF, tomando como base el trabajo de Tessaro-Zhu.
La taxonomía no es la parte interesante. Las consecuencias de implementación sí lo son. BBS+ exige que el emisor firme credenciales en formato BBS+, lo que significa que cada ministerio, registro y emisor acreditado de toda la unión adopta nueva criptografía antes de que un solo ciudadano obtenga una presentación unlinkable. Un enfoque SNARK deja que los emisores sigan firmando con los algoritmos que ya tienen y traslada todo el trabajo a la billetera, con costos de generación de pruebas órdenes de magnitud más altos.
Después está el hardware. El ARF ata la integración de ZKP al dispositivo y aplicación criptográfica segura de la billetera, el WSCD y el WSCA. Si la clave de la credencial debe permanecer dentro de un elemento seguro certificado, la prueba se ejecuta dentro de ese elemento o se divide de forma que el elemento realice una operación pequeña mientras el host maneja el resto. Los elementos seguros certificados no ejecutan probadores SNARK. Pueden ejecutar una respuesta tipo Schnorr. El régimen de certificación, en otras palabras, ejerce presión hacia BBS+ independientemente de cualquier argumento de privacidad, lo que significa que la propiedad de unlinkability que terminen teniendo los ciudadanos europeos podría estar determinada por lo que cabe en una tarjeta inteligente y no por lo que el grupo de trabajo concluyó sobre el riesgo de vigilancia.
El hilo también dedica tiempo a establecer que las pruebas de conocimiento cero tienen un error de soundness insignificante pero no nulo, del orden de 2^-100. Eso es una convención criptográfica estándar y no una debilidad específica de EUDI. Que haya sido necesario establecerlo en un hilo de un grupo de trabajo es una lectura razonable de dónde estaba el proceso a principios de 2025 respecto de una fecha de entrega en 2026. No encontramos evidencia en el material consultado de una decisión final en un sentido u otro, y sería un error tratar la elección de esquema como resuelta.
Radio de impacto, no probabilidad

La comparación útil no es cuál sistema es más difícil de romper. Es qué pasa después de una brecha: cuántas credenciales quedan afectadas, si alguien lo nota, y quién tiene autoridad para arreglarlo.
| World ID | zkPassport | EUDI Wallet | |
|---|---|---|---|
| Ancla | Hardware Orb más unicidad del iris | Chip ICAO 9303 firmado por una autoridad nacional | Emisión de credencial estatal en una billetera certificada |
| La falsificación requiere | Comprometer el hardware del Orb o vencer la deduplicación AMPC | Un conjunto de datos de chip firmado, más vencer el chequeo facial | Compromiso del emisor o extracción de la clave de credencial |
| Correlación por parte del emisor | Depende del umbral de colusión de nodos OPRF, no revelado | Posible por defecto, evitada solo en el modo opcional con sal | Depende de una elección de esquema sin resolver |
| El compromiso se particiona por | Unidad Orb individual, bajo un solo operador | País emisor | Estado miembro, pero la adopción es obligatoria |
| Quién puede remediar | Tools for Humanity, unilateralmente | El estado emisor, en su propio cronograma | El estado emisor |
| Visibilidad de la falla | Detectable si se conservan registros de atestación | Detectable cuando aparecen documentos falsificados | La correlación es silenciosa |
Al leer la fila de particionamiento aparece una diferencia real. Un compromiso de zkPassport queda naturalmente acotado por la autoridad emisora. Si la infraestructura de firma de documentos de un país se filtra, todas las credenciales de ese país quedan bajo sospecha y los verificadores pueden aplicar una lista negra por emisor mientras el resto del mundo sigue funcionando. Ningún evento único invalida el ancla globalmente, porque el ancla nunca fue global. El costo de esa resiliencia es que el protocolo no tiene ninguna autoridad de remediación. Espera a que un estado rote sus claves.
El particionamiento de World es más fino en un sentido y más grueso en otro. Un Orb comprometido afecta a la cohorte que enroló, que está acotada y, en principio, es abordable: invalidar las verificaciones de ese dispositivo y volver a escanear a esos usuarios. Un solo operador controla todo el pipeline y puede actuar sin esperar a nadie. La falla más gruesa es una brecha en la propia función de unicidad, es decir, una técnica que produce dos registros aceptados a partir de una sola persona. Ahí la revocación no ayuda, porque no hay un dispositivo malo que revocar, y el operador estaría remediando la propiedad que justifica la existencia de todo el sistema.
El modelo EUDI se degrada de la manera menos elegante, por una razón que no tiene nada que ver con la fortaleza criptográfica. Su modo de falla dominante no es la falsificación sino la correlación, y la correlación no deja rastro. Un usuario cuyas presentaciones están siendo vinculadas por el emisor observa exactamente lo mismo que observaría un usuario con unlinkability perfecta. No hay anomalía que detectar, ni documento falsificado que aparezca, ni remediación que exigir, y como la provisión de la billetera es obligatoria y no electiva, no hay salida competitiva. El sistema con la recuperabilidad más fuerte, porque el estado siempre puede reemitir, tiene la menor capacidad de revelar su propia falla.
La cobertura juega en sentido contrario y debería moderar cualquier conclusión. El modelo de documento solo sirve a personas que poseen documentos de identidad electrónicos modernos, y el requisito de atestación de dispositivo lo acota más todavía. La verificación por Orb alcanza poblaciones que ningún esquema basado en pasaporte puede alcanzar, lo cual es parte de por qué los 18 millones reportados abarcan 160 países. La degradación elegante es una propiedad de un ancla a la que alguien realmente puede llegar.
Dónde se gasta la garantía

Cualquiera sea el ancla que use un sistema, la garantía se consume en el momento en que un humano delega en agentes, y ahí es donde las fuentes se vuelven más escasas. World posiciona a World ID junto con AgentKit como el mecanismo que vincula un agente a un humano verificado. Nada en el material que recuperamos describe cómo se construye ese vínculo, si se aplica un tope de agentes por humano, o cómo se mantiene la responsabilidad por agente individual. El vacío importa porque el espacio de diseño solo contiene rincones malos y un camino angosto entre ellos.
Si el agente presenta el mismo nullifier atado al scope que su principal, entonces un servicio ve una identidad por humano por scope. La unicidad se transfiere perfectamente y la operación multiagente muere, porque el servicio no puede distinguir dos agentes del mismo principal ni limitarles la tasa de forma independiente.
Si en cambio el agente presenta un valor fresco y unlinkable que solo atestigua que algún humano verificado lo respalda, los agentes se vuelven ilimitados. La prueba de personhood se ha convertido en una prueba de que existe al menos un humano en algún punto río arriba, lo cual no es una afirmación escasa. Toda propiedad que estableció el Orb o el chip del pasaporte se gasta en la primera delegación.
El camino intermedio es una derivación con tope: el nullifier del agente es una función del secreto de identidad del humano, el scope del servicio y un índice, con el circuito probando que el índice está por debajo de cierto límite sin revelarlo. Eso requiere detección de duplicados con estado a través de la tupla humano-scope-índice, que es exactamente el tipo de reconocimiento oblivious que una red OPRF podría proveer. Es un diseño coherente. No tenemos evidencia de que sea el implementado.
Dos tensiones más sobreviven incluso al diseño con tope. Primero, la unicidad solo se convierte en una defensa utilizable si los verificadores denominan sus límites en humanos y no en agentes, y para aplicar un presupuesto por humano a través de varios agentes, un verificador debe poder agrupar esos agentes por principal dentro de su propio scope. Eso es una reducción deliberada de unlinkability, adoptada como el precio de la responsabilidad, y debería ser una decisión explícita del protocolo y no una emergente.
Segundo, la revocación choca directamente con los nullifiers de un solo uso. Bloquear a un agente que se comporta mal requiere un identificador estable para bloquear, y un valor fresco en cada presentación no ofrece ninguno. O la autoridad de revocación reside dentro de la capa de reconocimiento, lo cual concentra poder en la red OPRF, o los verificadores mantienen su propio estado linkable por scope, lo cual erosiona la privacidad que los valores frescos se introdujeron a proteger. La mejora en unlinkability y el requisito de responsabilidad tiran de la misma soga.
Qué resolvería estas preguntas
Las divulgaciones específicas que cambiarían el análisis son acotadas e identificables. Para World: el umbral de nodos honestos y la membresía de la red OPRF de TACEO, una auditoría independiente de la deduplicación AMPC y la derivación del nullifier en lugar de una entrada de blog corporativo, y una declaración sobre qué pasa con el reconocimiento y la recuperación si TACEO discontinúa el servicio. El SDK de código abierto es una mejora real en la superficie auditable y no toca ninguno de estos tres puntos.
Para zkPassport: si el identificador vOPRF con sal es el predeterminado en las integraciones de producción o una opción que la mayoría de los despliegues omite, y si el protocolo exige liveness del chip o deja toda la resistencia a la suplantación en manos de un chequeo facial condicionado a la atestación de Google y Apple. La adquisición por parte de Aztec, si la información reportada es correcta, concentra el stack de pruebas, el SRS y la aplicación bajo un mismo techo, lo cual importa por lo que implica para la auditabilidad de circuitos por parte de terceros que no trabajan para Aztec.
Para la UE: si el grupo de trabajo del ARF resolvió la cuestión de BBS+ después de febrero de 2025, y si fue así, si la resolución se derivó de un análisis de unlinkability o de lo que puede ejecutar un dispositivo criptográfico seguro certificado. Lo segundo significaría que los estados miembros entregaron una propiedad de privacidad elegida por una restricción de hardware, a cientos de millones de personas, bajo un plazo legal.
La razón por la que vale la pena seguir estos tres conjuntos de preguntas juntos es que los rieles de pago para agentes no van a esperar a ninguna de ellas. La infraestructura de liquidación se está construyendo ahora mismo sobre credenciales de personhood cuyos modos de falla están documentados principalmente por los proveedores que las construyeron, y la primera prueba seria no va a ser una ruptura criptográfica. Va a ser un verificador descubriendo que su límite de tasa por humano fue, todo este tiempo, un límite de tasa por agente.
Referencias
Read next다음으로 읽기次に読む继续阅读Leer a continuación

Based Sequencing and Preconfirmations After Base
Base's June 2026 halts reopened the single-sequencer debate. How based sequencing and slashable preconfirmations work, and what they cost.

How Tokens Launch Now: Echo, Legion, MetaDAO
A -54% average launch year discredited the points meta. Exchange-owned rails and futarchy launchpads change who gets allocated, not float and FDV.

[BTCFi 8] Clementine: BitVM in Production
Citrea's 2026 mainnet launched the first BitVM2 bridge. What the 1-of-N assumption requires, and where the model breaks under stress.
Follow the next market structure breakdown 다음 시장 구조 분석 받기 次の市場構造分析をフォロー 关注下一篇市场结构分析 Sigue el próximo análisis de estructura de mercado
New Steadyrain research is published several times a week across DeFi risk, BTCFi, stablecoins, and RWA. Steadyrain은 DeFi 리스크, BTCFi, 스테이블코인, RWA 분석을 매주 여러 차례 발행합니다. SteadyrainはDeFiリスク、BTCFi、ステーブルコイン、RWAの分析を毎週公開しています。 Steadyrain 每周发布 DeFi 风险、BTCFi、稳定币和 RWA 研究。 Steadyrain publica análisis sobre riesgo DeFi, BTCFi, stablecoins y RWA varias veces por semana.