Trigger Warding Defensive Tooling Smart Contracts

🔓 Trigger Warding


The problem Trigger Ward solves

Programmable, encrypted & triggerable data vault. Upload and encrypt any file anonymously and have a natural language “trigger” initiate when to decrypt and publicly release the data.

Social Examples:

  1. Whistleblower and Journalistic Safeguards: Automatically release decryption keys to unlock encrypted evidence or investigative reports if a whistleblower or journalist is silenced, harmed, or goes missing.
  2. Protest Coordination: Encrypt and schedule the release of protest plans to prevent authorities from preempting demonstrations, ensuring activists can gather and act in safety.
  3. Misconduct Deterrence: Enforce accountability by revealing the identity and actions of individuals if they engage in unethical or harmful behavior, acting as a deterrent against misconduct.

Technical problems Trigger Ward solves:

  1. A crypto economically backed mechanism for verifying long tail data on-chain, using an Optimistic Mechanism. This lets Trigger ward verify natural language statements on-chain.
  2. A data bridge between Ethereum and Nillion to enable programmable execution of arbitrary Nillion code from Ethereum. This is a general purpose warding mechanism that can be re-used in a number of other contexts wherein actors are economically incentivised to behave correctly

Challenges you ran into

  1. Using the Nillion SDK was very janky. It is very raw (only released in the last few months) and connecting to their testnet requires permissioning. We had to hack deep into their implementation to fix a number of bugs to get things working as expected.
  2. Figuring out how to more generally how to expand the usecase of a dataCrypt to be opened by a natural language trigger. Constructing a robust mechanism for this that is economically sound.

Technology used

  1. Contracts: Solidity, Hardhat, foundry
  2. DataCrypts: Nillion Nada contracts, Python
  3. Warden: typescript
  4. Frontend: React, typescript, nextjs, tailwind

**Please see the resources section of our readme for in-depth information on how the protocol works, the economic security, demo videos and detailed contract interaction examples!