The world's first Cryptographic Random AI Verification Network for trustless verification of any on-chain and off-chain messages.

DeepSafe Community
Joined August 2022
DeepSafe is excited to announce our $3m Seed Round with @AntalphaGlobal @ViabtcCapital @capital_spark @CogitentV @ShardingCapital @Mason_eagle @Gate @SatoshiLab_HK @CKBEcoFund The core decentralized validation technology of DeepSafe has been accepted by the top international cryptographic academic journal IEEE TIFS, with the document ID being 9903072. Currently, the DeepSafe network has processed nearly 120 million transaction validations, and the number of active accounts on the network exceeds 2.65 million. Time to make a better Trust Layer now.
170
167
33
329
68,203
Running key management inside SGX keeps a device's data confidential and lets it detect tampering. It doesn't tell the device which version of that data is current. A Trail of Bits post on threshold signing in TEEs puts the gap in one line: "Authenticated encryption provides confidentiality and integrity but not freshness." CRVA runs MPC inside SGX, and its docs name a version of this problem for its own devices: the Database Backup Attack. Devices act on chain events and chain state, which they read through a node their owner configures. The docs walk through how an owner with several devices could use that: back up the devices' databases every epoch; wait until identities are revealed after the next handover; and, if those devices turn out to hold enough shares to rebuild a committee's key, "send fake events and fake storage" to the backups so the devices hand their shares to devices the owner created. Device data is encrypted by SGX, and nothing in those steps requires breaking that. As we read it, what the attack replaces is the device's view of which chain state is current. The defense in the docs is a vote. Each epoch, the snapshot of working devices goes to the previous epoch's CourtMembers. With more than half in favour it is confirmed, and its devices become the current CourtMembers; without that, the previous members stay on. The Ring-VRF candidates then go to the current CourtMembers. If the candidates do not get more than half of the current CourtMembers, the candidates are cleared and no key generation or handover runs. To attack this way, the docs say, an attacker would need more than half of that epoch's CourtMembers. An enclave can tell whether its data was altered. For the state that decides who receives key shares, CRVA doesn't leave the question of what is current to any single device. blog.trailofbits.com/2026/09… docs.deepsafe.network/introd… #DeepSafe #CRVA #Web3Security
113
106
2
125
11,649
A verification layer is only as useful as the precision of what it claims to check. For one of its components, DeepSafe spells that out. The SPV service runs blockchain light clients inside SGX and provides transaction verification to the monitor. Its stated purpose, in the docs: "preventing malicious signatures caused by fraudulent information sources." On the Bitcoin side the docs describe the familiar construction: block headers, Merkle proofs, confirming "a transaction's inclusion in a specific block." There is a second question, about the checker rather than the chain: how do you know which program produced the answer? The service registers through remote attestation and its enclave measurement is validated on chain, so that "only programs with the specific, pre-approved code can pass verification." In local mode each monitor is paired with its own SPV, to "ensure decentralization of verification sources." That is a narrow question, answered carefully. What it does not answer is what the transaction means. An inclusion proof establishes that a transaction is included in a particular block. It establishes nothing about which account an application should credit, or what an instruction attached to it authorizes. Those follow from the application's own rules, and the rules differ from one bridge to the next. The two are not the same kind of question. Whether a transaction is included in a given block is a question about the chain, and it is worth solving once, at the layer. What that transaction means is a question about one system's rules, and the answer has to come from those rules. A check is more useful when you can say where it stops. Sources: docs.deepsafe.network/introd… #DeepSafe #CRVA #Web3Security
113
100
2
122
12,789
Weekend puzzle. A key is split into 5 shares. Any 3 of them can sign. One share leaks in January. Another in June. A third in November. Someone ends up holding all three. In November, can they sign? A. No. The leaks were months apart. B. Yes, unless the shares were refreshed in between. C. No. Each leak was patched when it was found.
134
107
2
140
11,520
Answer: B. A threshold counts shares that can be combined, not when they were taken. If the same shares stay valid all year, leaks add up: three leaks spread from January to November work as well as three at once. Refreshing the shares means issuing new ones for the same key and retiring the old, so a January share no longer combines with a November one. Patching the machine that leaked doesn't change what was already taken.
323
On 5 October, the Ethereum Foundation's Trillion Dollar Security initiative published a post on native transaction assertions, with EIP-7906 as one possible design. For the Hegotá upgrade, EIP-7906 has advanced to "Considered for Inclusion" but is not yet confirmed. The idea: a transaction carries a rule about its own outcome, signed along with its actions. After the actions run, read-only code compares starting and final values against that rule: a minimum amount received, no new approvals, an account's control logic left unchanged. If the rule fails, the actions revert. That puts the check after the actions have run, where the full set of net state changes can be inspected. The post is direct about two conditions it still depends on. The first is where the rule comes from. "A compromised frontend can write an assertion that permits the attack." A useful rule, in the post's words, "must come from independently approved user intent, a standing account policy or protocol logic that the compromised component cannot change." The second is whether the rule is there at all. "EIP-7906 does not require transactions to include an assertion, so whoever builds the transaction can leave it out." A wallet has to include it in every frame transaction it builds (the transaction type EIP-7906 builds on, defined in EIP-8141); a protected function has to reject ordinary transactions and frame transactions that arrive without the exact assertion it expects. What the check protects depends on two things outside the check itself: who wrote the rule, and whether anyone can leave it out. The same two questions apply to any verification layer, including ours: whose rules it checks against, and whether it can be left out. blog.ethereum.org/en/2026/10… #DeepSafe #Web3Security
121
94
4
119
12,268
How can AI agents trade and execute safely in financial markets? Our CEO Raul Heraud explored this question with fellow panelists at @wallet’s Beyond X in Singapore. Proud to support an evening bringing this conversation to the stage.
418
225
191
285
15,645
Ring-VRF is the method CRVA uses to select different batches of committee members. The documentation is specific about what its proof reveals and what it does not, and the distinction is worth reading closely. Ring-VRF separates the identification of a specific signer from the proof that the signer is eligible. A member proves their public key belongs to a published set without revealing which one. The docs name this directly — "Anonymous Key Ownership Proof: Allows a member to prove their public key belongs to a specified set without revealing which one." The mechanism is a one-out-of-many protocol, whose stated job is to prove that some pkₗ is in {pk₀,...,pkₙ₋₁} without revealing ℓ. Membership by itself would not be enough. The same step also produces a verifiable random value derived from the member's private key and a random seed. So the proof carries two claims at once: my key is in this set, and this random output came from that key. What holds those two together is a separate piece. A consistency sub-proof links the Pedersen commitment and the PRF output to the same private key. The documentation is plain about what it is there to stop: "Forgeries using mismatched keys." Without that link, both halves could hold on their own without establishing that they came from the same key — membership shown with one key, randomness produced from another. That is the part worth taking from the design. The anonymity is not bought by asking for less. The verifier still checks membership, still checks that the random value derives from the seed, and still checks that both trace back to one private key. What it never learns is which member. Docs: docs.deepsafe.network/introd… #DeepSafe #CRVA #Web3Security
261
165
136
259
15,468
Weekend puzzle. A contract runs a lottery. To pick the winner, it uses the hash of a block produced after ticket sales close. Who can influence the result? A. Nobody. It's a hash. B. Whoever produces that block. C. Only the contract's deployer.
344
192
161
300
12,058
On 1 October, the Ethereum Foundation blog introduced zkAPI, built by the Open Anonymity Project with the EF: a way to pay for a metered API, AI inference first, without the payment being tied to who you are. You deposit credits into a vault contract on Ethereum once. After that, your device produces a zero-knowledge proof that says, in effect, "a funded note covers this spend and nobody has spent it before." The server checks it, issues a short-lived API key capped in dollars, and never learns which deposit paid. The design choice worth noticing is where those proofs get checked. Day to day, spending goes through the server, which verifies spend proofs off-chain. Getting money out is handled differently: "The vault contract verifies the same kind of proof at deposit, close, and escape, so your exit never depends on the server's honesty." A balance can be closed and withdrawn on-chain "even if every zkAPI server disappears." So the operator is relied on for one thing and not the other. Everyday spending runs through the server. The step that returns your funds is checked by the contract itself. Not every check in a system has to run on-chain. In this design, the one that guards the exit does. blog.ethereum.org/en/2026/10… #DeepSafe #Web3Security
385
185
129
215
15,595
Trail of Bits published notes on 18 September on reviewing the Miden zkVM. The part worth reading is what happened before the review started. Security firms — the same firm included — have published a number of posts describing how they pointed an agent harness at a codebase. This post is about a stage earlier than that: "before code review even starts, agents now allow us to build custom tooling and formal models that improve the quality and depth of our reviews." Miden has its own assembly language, MASM, and very little tooling around it. The firm had six months of lead time, because the implementation was not yet feature complete. It spent them having its agents build an LSP server, a decompiler, a static analysis engine, and a Lean model of the VM executor. None of that was the review. Applied during the review that followed, those tools produced concrete results. The static analysis identified over 400 unique locations where type validation could be improved, all of them reachable from the library's public API, as well as one high-severity finding: a remainder supplied by the prover was never validated before being passed to a 32-bit subtraction — "a malicious prover could exploit this to forge Falcon signatures and drain any Miden account controlled by a Falcon key pair." The Lean modeling effort produced 95 machine-checked correctness proofs covering all the binary arithmetic in the core library, and surfaced two more bugs the existing unit tests had not caught. The detail worth sitting with is smaller than any of those. The decompiler was the single largest piece of the work, over 100 agent-generated commits across months. The firm's own account of where the benefit landed: "The main benefit of this work turned out to be the decompiler's internal analysis frameworks and intermediate representation, which we could reuse for static analysis, rather than the full decompilation pipeline." The post is direct about why work like this did not happen before. It is "highly exploratory in nature, and the end results and potential payoff may be difficult to predict," which makes it "hard to sell clients on them in advance." What has changed, on the post's own account, is the cost of a miss: "Today, a failed side project only costs tokens." The payoff is no easier to predict than it was. What a wrong guess costs is smaller. One thing about this particular case is worth noting on its own. The main benefit ended up somewhere the single largest piece of the work had not been aimed at. That is a payoff shape easier to recognize once the work is finished than to argue for before it starts. blog.trailofbits.com/2026/09… #DeepSafe #Web3Security
391
214
150
269
15,462
🤝 DeepSafe × @DeAgentAI DeepSafe is partnering with DeAgentAI. DeepSafe is a verification layer for AI and Web3 — using Ring-VRF, MPC, and TEE to validate AI Agent inputs and outputs, independent of the parties being verified. DeAgentAI’s AI Token Smart Router is the model gateway. Verification and model access now sit next to each other. #DeepSafe #DeAgentAI #AIA #VerifiableAI
356
177
104
216
10,917
Weekend puzzle. A node operator publishes its source code. The code has been audited, and the audit report is public too. Does any of that tell you which build is actually running on the node? A. Yes. The code is public. B. Yes. The code is audited. C. No—not on its own.
377
187
113
212
15,768
On 24 August, a proposal on Neutron titled "TestProp: Preparation for AIATO: AI Agent Takeover" asked governance to make one address the admin of ten contracts, among them six Astroport pools and two Drop contracts. When voting closed on 31 August, it was rejected. Roughly 10.4 million NTRN voted no; about 0.32 million voted yes. On 19 September, proposal 9, "AIATO: AI Agent Takeover. Phase 1: Agent Admin Registration", asked for the same ten admin changes to the same address, plus an eleventh. It was filed as an expedited proposal and passed when voting closed on 22 September at 02:24 UTC, with about 37.3 million NTRN voting yes. Cosmos Hub validators halted the Hub to limit losses of ATOM moved there from Neutron, and say the funds secured at restart are held in a community validator multisig. None of this was hidden. From 24 August, the title, the ten contracts and the address that would become admin were public on-chain. From 31 August, so was the rejection. The August vote said no to that proposal. It did not stop the same request from being filed again nineteen days later and passing. It ended a vote. It did not end the attempt. Proposal 5: mintscan.io/neutron/proposal… Proposal 9: mintscan.io/neutron/proposal… Cosmos Hub halt: xitter.cf/cosmoshub/status/21023… Cosmos Hub restart: xitter.cf/cosmoshub/status/21028… #DeepSafe #Web3Security
The Cosmos Hub is stable and running normally. The funds secured during the restart came from the Neutron governance attack and were bridged to the Hub; there was no vulnerability on the Hub itself. They are now held in a community validator multisig. Hub validators, the Neutron ecosystem, and affected protocols are coordinating on recovery. Neutron will share a post-mortem, and a Hub forum update will follow in the coming days. Thank you to all validators and community members for the swift, coordinated response in support of another network.
366
226
142
256
16,609
A draft posted to bitcoin-dev this month reworks one small piece of taproot backup. It sits in an individual fork, hasn't been assigned a BIP number, and is still in its earliest form. The draft addresses backup for unspendable internal keys. One existing approach it cites as motivation is to choose a random r and retain it, so the internal key can be recomputed later. The draft's mechanism derives a chain code from a tagged hash of a normalized wallet policy. That chain code, the fixed NUMS point H, and a selected derivation path together determine the internal key — in a step the draft describes as being done "without additional secret material." Its Security considerations section states two things: "The policy and selected derivation are enough to reproduce the internal key," and, in the same section, "Seed backups alone do not reconstruct the policy." Read narrowly, what the draft changes is which inputs are needed to reconstruct that internal key. Draft: github.com/bitryonix/bips/bl…
382
258
133
283
16,010
GM. Two words that get used as if they were one, and shouldn't be. Ours: encrypted and private. Encrypting something keeps its contents from being read by anyone without the key. Whether anyone can see that it happened at all is a separate question — and "private" gets used for both. What's your pair?
308
213
122
253
19,222
Weekend puzzle. A contract checks a condition, then acts on it. Both in the same transaction, atomically. How old can the thing it checked be? A. Zero. It's atomic. B. One block at most. C. Depends on where the fact came from.
280
175
60
199
15,010
EIP-8365 was added to the Ethereum EIPs repository on 17 September, with status Draft. It proposes retiring 0x00, the original genesis-era withdrawal credential type: exit every active validator that still carries one, and stop processing deposits that would create more. The proposal reports that the population has fallen from roughly 600,000 to 9,290 since Capella opened one-way conversion, but that the decline has stalled. Of the 9,119 still active, it counts 374 that have not attested for over six months and 253 that have never attested in a 14-month observation window. Its own reading: "These are, with high likelihood, validators whose keys are lost." High likelihood is as far as it gets, and the proposal has to reason from attestation history precisely because the fact it needs is not in the state. The chain records that a validator is not producing attestations. Whether anyone is still able to act for it is not something the chain records. What the proposal does supply is a measurement of what that missing fact costs. 4.45% of active 0x00 validators have been offline for 30 days or more, against 0.10% for 0x01 and 0.05% for 0x02. The same observable state, with two different meanings: "Being offline is a transient state for execution-credentialed validators, whose owners can always exit and recover funds, but a terminal state for 0x00 validators with lost keys." Terminal, when the signing key is the thing that is gone. Voluntary exit needs that key; the execution-layer triggerable exit needs an execution address, which 0x00 credentials do not have. For that subset — and only that subset — both paths are closed, and at the penalty rates cited natural ejection takes roughly 28 years. Other 0x00 holders still have the ordinary exit available; the proposal writes a rule that does not depend on knowing which is which. No balance is moved by this stage. The unchanged rotation path stays open, and any 0x00 holder who still controls their withdrawal key can use it to recover in full. The lost-key subset — by definition — cannot. The part worth reading twice is what the proposal declines to do. Rescue proposals for this population have been rejected before on credible-neutrality grounds, because a rescue "adjudicates off-chain ownership claims and selects beneficiaries." So this one does not ask who owns anything. It writes "a uniform rule over a class defined by an objective on-chain property," announced ahead of activation, with the conversion path open to every member throughout. That is the trade. A protocol that cannot verify a claim can still act on it — by never making the claim the thing it acts on. eips.ethereum.org/EIPS/eip-8… #DeepSafe #Web3Security
126
100
1
124
12,623
On 16 September, Lombard deprecated native minting and redemption of LBTC and BTC.b on five chains — TAC, Sonic, Katana, Berachain and Starknet. Holders on the first four are required to bridge balances to Ethereum by December 10. Starknet keeps its bridge, and its balances have no deadline. Underneath that sits a second change, and it is the more interesting one. Bridging moves to a hub and spoke model. From the docs: "every supported chain has a bridge lane to and from Ethereum, and a transfer between two other chains routes through Ethereum rather than directly." Minting from native BTC is unaffected. What changed is how already-minted assets move between chains. The reason is stated plainly: "Fewer bridge contracts and message paths mean a smaller surface to secure and monitor, and security budget and engineering resources concentrate on the lanes that carry the most value." Worth being precise about what actually shrank. Not the number of chains — every other chain continues, and you can still mint from native BTC on any of them. What shrank is the number of routes between them. Those are different quantities. In a mesh, routes exist between pairs, so each chain added arrives with a new lane for every chain already there. In a hub and spoke, a chain arrives with one. The count that goes in the announcement is chains supported. The count that has to be secured and monitored is lanes. A topology decides which of the two grows faster, and that is the decision this update actually makes. docs.lombard.finance/use/cha… #DeepSafe #Web3Security
461
273
147
289
19,576
To strengthen Sybil resistance and verify genuine active users, DeepSafe is opening a seven-day node verification window. 📅 Verification period: September 17 – 23 🤖 Official Telegram bot: @Deepsafe_official_bot To activate your eligibility, restake your test tokens to a node you are already staked with. If the transaction returns an error, your current node is no longer active. Unstake from it, then select a new active node and restake your full available balance in a single transaction. Please note: Each node supports up to 4,000 voting participants. Full nodes cannot accept additional votes. Unstaking requires a one-day on-chain cooldown. If you need to switch nodes, start early and do not wait until the verification window is about to close. Complete verification before the deadline to remain eligible for this round.
153
109
2
141
13,306
Symbiosis has published its post-mortem on the Bitcoin Bridge incident of 11 September. The deposit that set the whole thing off was a real Bitcoin payment worth about 25 cents. The bridge reads deposit instructions from data attached to Bitcoin transactions, and its decoder "identified the sender using the wrong part of that data: a part the spender controls." That was enough to have the attacker treated as an approved depositor and as the bridge administrator at the same time. With that, they put the minimum fee below zero, and a second bug subtracted the negative fee — which added to the deposit instead of reducing it. Twelve deposits went through across BNB Chain, Ethereum and Rootstock in roughly four minutes. That first payment did not have to be forged. It was real and it was confirmed on Bitcoin. A check asking whether the deposit had happened would have answered yes, and it would have been right. The bridge was asking a second question at the same time: who sent it. For that, it read a field — one the sender controlled. Establishing a sender by signature and establishing one by reading the transaction data end in the same place: a name the system is about to act on. They differ in where the name comes from. A signature asks for something nobody can produce without the key the system already ties to that depositor. Reading it out of the deposit data makes the answer depend on which part gets read, and on that part being beyond the sender's reach. Symbiosis puts preliminary losses to liquidity providers and affected users at 9.97 BTC. The bridge is offline, and it has commissioned independent audits. Sources: coindesk.com/tech/2026/09/15… #DeepSafe #Web3Security #CrossChain
273
192
83
208
13,981