Skip to content

Commit

Permalink
Add readme
Browse files Browse the repository at this point in the history
  • Loading branch information
swift1337 committed Nov 21, 2024
1 parent f88aca1 commit 18b7acc
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions zetaclient/tss/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Zetaclient TSS Overview

(Threshold Signature Scheme)

This package wraps the go-tss library, providing a high-level API for signing arbitrary digests using TSS.
The underlying go-tss library relies on tss-lib.

## What is a Digest?

A digest is simply a byte slice (`[]byte`), typically representing a transaction hash or other cryptographic input.
The API allows secure signing of these digests in a distributed manner.

## Architecture Overview

This is the approximate structure of the TSS implementation within Zetaclient:

```text
zetaclientd(
tss.Service(
gotss.Server(libp2p())
)
)
```

## Package Structure

- `setup.go`: Initializes the go-tss TSS server and the **Service** wrapper of this package.
- `keygen.go`: Manages the key generation ceremony, creating keys used by TSS.
- `service.go`: Implements the **Service** struct, offering methods for signing and verifying digests.
- Other Files: Utilities and supporting tools for TSS operations.

## Links

- `go-tss`: https://github.com/zeta-chain/go-tss
- `tss-lib`: https://github.com/zeta-chain/tss-lib

0 comments on commit 18b7acc

Please sign in to comment.