8000 GitHub - anoma/kassandra-service: The service that runs the Kassandra protocol. This protocol implements fuzzy message detection for the Namada MASP utilizing trusted execution environments
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

The service that runs the Kassandra protocol. This protocol implements fuzzy message detection for the Namada MASP utilizing trusted execution environments

License

Notifications You must be signed in to change notification settings

anoma/kassandra-service

Repository files navigation

Kassandra Service

This project provides both and client and server binaries for a service that allows users to delegate the work of determining which MASP txs are relevant to them to a untrusted third party. The server makes use of so-called Fuzzy Message Detection as well as the potential to use secure enclaves to add extra security for users.

Background

User's MASP transactions are stored as encrypted notes on the Namada blockchain. The knowledge of which of these notes belong to which user is considered private data. For users to determine which notes belong to them, the naive approach is to download all encrypted notes and then see which of these they can decrypt with their secret keys.

This solution does not scale well and requires both large amounts of network bandwidth and compute time. This is not ideal for many users, especially those wishing to view their balances on constrained devices. The goal of fuzzy message detection (henceforth, FMD) is to restrict the number of MASP txs users need to download and trial-decrypt.

The reason FMD is called "fuzzy" is because it should detect all transactions relevant to a user in addition to a number of false positives according to a configurable rate. These false-positives act as "cover traffic" for the user's transactions. FMD is designed so that it can be performed by untrusted third parties on behalf of users.

Components

This repo contains both server and client code. The server is further divided into two processes: the host and enclave. The ability to restrict the anonymity set of a user's transactions is considered sensitive, although not security critical. As such, it is possible to entrust the data necessary to perform FMD to a trusted execution environment (henceforth, TEE) via an encrypted channel.

The client supports checking attestations of the TEE running on the server and talking to it securely. However, servers may also choose to not use TEE's and run the FMD logic in a normal process. The generic FMD logic is found in the enclave library crate, while two other crates implement it transparently and on TDX.

About

The service that runs the Kassandra protocol. This protocol implements fuzzy message detection for the Namada MASP utilizing trusted execution environments

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages

0