Threshold Access Control (TACo)
  • Getting Started
    • Introduction to TACo
    • How TACo Works
    • Quickstart (Testnet)
  • For Developers
    • Integrate TACo Into Apps
      • Testnets
      • Mainnet Access
      • Mainnet Deployment
    • Ecosystem Integrations
      • OrbisDB
      • Waku
      • Waku + Codex
      • Irys
      • ComposeDB
      • Turbo
    • API
      • Encryptor Allowlist
      • Encrypt & Decrypt
      • Authentication
        • Condition Context
      • Access Control
        • TimeCondition
        • RpcCondition
        • ContractCondition
          • Use custom contract calls
          • Implement access revocation via smart contract
        • JSON Endpoint Conditions
          • JsonApiCondition
          • JsonRpcCondition
        • JWT Conditions
        • Logical Conditions
          • CompoundCondition
          • IfThenElseCondition
          • SequentialCondition
        • WIP / Feature Requests
          • Any (Major) EVM Chain Condition Support
    • Blueprints & Inspiration
      • Seed phrase recovery & transfer
      • Digital Rights Management for on-chain assets
      • Trustless channels for journalists, archivists & whistleblowers
      • Crowdsourcing real-world data with trustless contribution
  • For Product Leads
    • Value Propositions
    • Capabilities & Extensions
    • Use cases
      • Seed phrase recovery & transfer
      • Digital Rights Management for on-chain assets
      • Trustless channels for journalists, archivists & whistleblowers
      • Crowdsourcing real-world data with trustless contribution
    • Mainnet Fees
    • Trust Assumptions
      • Mainnet Trust Disclosure (Provider Answers)
      • Mainnet Trust Model Foundation
      • Trust levers & parameter packages
  • Reference
    • Contract Addresses
    • Architecture
      • Protocol Architecture
      • Protocol Flow
      • UML Use Case Diagram
      • Porter
    • Github
    • TACo Playground
    • TACo Scan
  • For Node Operators
    • Getting Set Up
      • Minimum System Requirements
      • Run a TACo Node with Docker
    • Operations
      • TACo Node Management
      • TACo Node Recovery
      • Stake Authorization
    • Duties, Compensation & Penalties
    • Run a Porter Instance
Powered by GitBook
On this page
  • Core Actors
  • Adopting Developer (Cohort Authority)
  • Data Producer
  • Data Consumer
  • Node Operator
  • Primary Use Cases
  • Distributed Key Generation
  • Conditional Data Encryption
  • Conditional Data Decryption
  • Cohort Management
  1. Reference
  2. Architecture

UML Use Case Diagram

PreviousProtocol FlowNextPorter

Last updated 6 days ago

The TACo protocol enables secure, conditional access to encrypted data across a decentralized network. This document outlines the primary actors in the TACo ecosystem and their key interactions with the protocol.

Core Actors

The TACo protocol facilitates interactions between four main actors:

Adopting Developer (Cohort Authority)

The adopting developer integrates TACo into their application and becomes the cohortAuthority, responsible for:

  • Initiating and managing the Distributed Key Generation (DKG) process

  • Setting network parameters for their application's cohort

  • Managing cohort composition and rotation policies

  • Transferring cohort authority (optionally) to a multisig or DAO for decentralized governance

Data Producer

Data producers are users or systems that want to share encrypted data with conditional access:

  • Encrypt content using the public key generated by the DKG

  • Specify access conditions that must be met before content can be decrypted

  • Create logical combinations of conditions (AND, OR, NOT) for complex access patterns

  • Distribute the encrypted content via channels outside the TACo protocol

Data Consumer

Data consumers are users or systems that request access to encrypted content:

  • Request decryption services from the TACo network

  • Present authentication and verification materials to prove they meet access conditions

  • Receive decryption fragments from nodes when conditions are met

  • Combine fragments locally to decrypt content

Node Operator

Node operators are entities that run TACo nodes in the network:

  • Participate in DKG rituals to generate and manage key material

  • Verify access conditions when decryption is requested

  • Provide decryption fragments to qualified data consumers

  • Stake tokens to secure network participation

Primary Use Cases

Distributed Key Generation

The DKG process is the foundation of the TACo protocol:

  1. The adopting developer initiates the DKG ritual

  2. A cohort of nodes (30-100) is selected from the network

  3. Nodes collaboratively generate a unified public key and distribute private key fragments

  4. The public key becomes available for data encryption

Conditional Data Encryption

Data producers use TACo to create encrypted content with programmable access control:

  1. The data producer retrieves the public key for their target application

  2. They define access conditions that must be met for decryption

  3. They encrypt their content locally using the public key

  4. The conditions are embedded with the encrypted content

  5. The encrypted package is distributed to potential consumers

Conditional Data Decryption

Data consumers request access to encrypted content:

  1. The consumer requests decryption from the TACo network

  2. They provide authentication and condition-fulfillment proofs

  3. Network nodes independently verify the consumer meets all conditions

  4. Qualifying consumers receive decryption fragments from nodes

  5. Once a threshold of fragments is received, the content can be decrypted locally

Cohort Management

The TACo protocol includes mechanisms for managing node participation:

  1. The cohortAuthority establishes cohort parameters

  2. Node operators stake tokens to participate in the network

  3. The cohortAuthority can define rotation policies for cohort membership

  4. Cohort composition may change over time according to predefined rules

For a detailed explanation of how these use cases are implemented in the protocol's operations, see the document.

Protocol Flow
TACo Protocol's UML Use Case Diagram