Skip to content

Commit

Permalink
Update language to remove versions and bootstrap signers
Browse files Browse the repository at this point in the history
  • Loading branch information
kenrogers committed Oct 8, 2024
1 parent 492d219 commit 6cbcaa8
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 27 deletions.
14 changes: 7 additions & 7 deletions concepts/sbtc/README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
## Introduction to sBTC

sBTC is a SIP-10 token on the Stacks blockchain that represents Bitcoin (BTC) in a 1:1 ratio. It enables Bitcoin holders to utilize their BTC within the Stacks ecosystem, allowing participation in DeFi applications and other smart contract functionalities while maintaining a peg to the underlying Bitcoin.
sBTC is a SIP-010 token on the Stacks blockchain that represents Bitcoin (BTC) in a 1:1 ratio. It enables Bitcoin holders to participate in DeFi applications and other smart contract functionalities while maintaining a peg to the underlying Bitcoin.

### Purpose

The primary purpose of sBTC is to bridge the Bitcoin and Stacks ecosystems, providing Bitcoin holders with access to the rich functionality of smart contracts on the Stacks blockchain without sacrificing the security and value of their BTC holdings.
The primary purpose of sBTC is to bridge Bitcoin to DeFi via the Stacks blockchain, providing Bitcoin holders with access to the rich functionality of smart contracts without sacrificing the security and value of their BTC holdings.

### Key Benefits

1. **Bitcoin Compatibility**: Allows Bitcoin holders to participate in the Stacks ecosystem without selling their BTC.
2. **DeFi Access**: Enables BTC holders to engage with decentralized finance applications on Stacks.
2. **DeFi Access**: Enables BTC holders to participate in DeFi.
3. **Quick Conversions**: Facilitates rapid movement between BTC and sBTC.
4. **Decentralized Management**: Utilizes a set of signers for maintaining the peg wallet.
5. **Community Governance**: Involves the community in key decisions, such as selecting the initial signing set.
Expand All @@ -20,7 +20,7 @@ Understanding sBTC requires familiarity with several key concepts.

### sBTC

sBTC is a SIP-10 token on the Stacks Blockchain that can be converted back to BTC on the Bitcoin Blockchain. The key property of sBTC is its 1:1 peg to Bitcoin, meaning 1 sBTC is always equivalent to 1 BTC.
sBTC is a SIP-010 token on the Stacks Blockchain that can be converted back to BTC on the Bitcoin Blockchain. The key property of sBTC is its 1:1 peg to Bitcoin, meaning 1 sBTC is always equivalent to 1 BTC.

### sBTC UTXO

Expand All @@ -32,7 +32,7 @@ In sBTC, the sBTC Signer is a signer entity separate from the Stacks Nakamoto si

- Signing sBTC operations
- Communicating with contracts on the Stacks chain
- Managing the sBTC UTxO
- Managing the sBTC UTXO

### sBTC Signer Set

Expand All @@ -46,8 +46,8 @@ The sBTC Signer Set is the group of all sBTC signers. This set has full democrat

Emily is an API that helps facilitate and supervise the sBTC Bridge in addition to serving as a programmatic liaison between sBTC users and signers.

### SIP-10 Token
### SIP-010 Token

sBTC adheres to the SIP-10 (Stacks Improvement Proposal 10) standard for fungible tokens on the Stacks blockchain. This ensures compatibility with wallets and applications that support the SIP-10 standard.
sBTC adheres to the SIP-010 standard for fungible tokens on the Stacks blockchain. This ensures compatibility with wallets and applications that support the SIP-010 standard.

Understanding these concepts is crucial for grasping the overall architecture and functionality of sBTC. In the following sections, we'll explore how these concepts come together to create sBTC.
3 changes: 1 addition & 2 deletions concepts/sbtc/auxiliary-features/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
This section covers additional features that enhance the functionality and security of the sBTC system:

1. [Transaction Fee Sponsorship](fee-sponsorship.md): Allowing sBTC transactions to be sponsored
2. [Dynamic Blocklist](dynamic-blocklist.md): Enhancing security through a flexible blocklist system
3. [Signer Wallet Rotation](signer-wallet-rotation.md): Enabling secure key rotation for sBTC Bootstrap Signers
2. [Signer Wallet Rotation](signer-wallet-rotation.md): Enabling secure key rotation for sBTC Signers

These auxiliary features contribute to the overall robustness and user-friendliness of the sBTC ecosystem.
9 changes: 1 addition & 8 deletions concepts/sbtc/auxiliary-features/fee-sponsorship.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Transaction Fee Sponsorship

Transaction Fee Sponsorship is a feature in sBTC-v1 that allows users to pay for Stacks transaction fees using sBTC instead of STX.
Transaction Fee Sponsorship is a feature in sBTC that allows users to pay for Stacks transaction fees using sBTC instead of STX.

## Overview

Expand Down Expand Up @@ -29,10 +29,3 @@ From a user's perspective:
1. **Improved UX**: Users don't need to hold STX to use sBTC.
2. **Lower Barrier to Entry**: New users can start using sBTC without first acquiring STX.
3. **Flexibility**: Provides an additional option for handling transaction fees.

## Future Development

While sBTC-v1 includes a basic sponsorship system, future versions may implement more advanced features:

- **Dynamic Transaction Fee Market**: Allow sBTC users to choose the transaction sponsor who requires the least sBTC in return.
- **Automated Sponsorship**: Integrate sponsorship directly into wallets and dApps for a seamless experience.
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# sBTC Bootstrap Signers Contract Documentation
# sBTC Signers Contract Documentation

## Overview

The sBTC Bootstrap Signers contract (`sbtc-bootstrap-signers.clar`) manages the signer set for the sBTC system. It handles the rotation of signer keys and provides utilities for generating multisig addresses.
The sBTC Signers contract (`sbtc-bootstrap-signers.clar`) manages the signer set for the sBTC system. It handles the rotation of signer keys and provides utilities for generating multisig addresses.

## Constants

Expand Down
6 changes: 1 addition & 5 deletions concepts/sbtc/operations/deposit.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,14 @@ The deposit operation enables users to mint sBTC, anchored to the BTC they have

## Process Overview

The deposit process begins when a user initiates an API call referencing a Bitcoin transaction. This call triggers the Deposit API, which plays a crucial role by relaying deposit information to the sBTC Bootstrap Signers. These signers are responsible for verifying and processing the deposit. Once verified, an equivalent amount of sBTC is minted on the Stacks blockchain.
The deposit process begins when a user initiates an API call referencing a Bitcoin transaction. This call triggers the Deposit API, which plays a crucial role by relaying deposit information to the sBTC Signers. These signers are responsible for verifying and processing the deposit. Once verified, an equivalent amount of sBTC is minted on the Stacks blockchain.

The Deposit API serves multiple purposes beyond relaying information. It reduces costs associated with deposit rejections and simplifies the overall sBTC system, making it easier to service and maintain.

## Bitcoin Deposit Requirements

For a deposit to be considered valid, it must adhere to specific requirements. The deposit must be made to a taproot address and be spendable by a consensus threshold of signers. Additionally, the deposit must follow a specific format that prevents short-term clawbacks, ensuring the security and integrity of the system.

## Security Measures

To maintain the security of the sBTC system, the sBTC Bootstrap Signers employ a dynamic blocklist to screen deposits and prevent malicious activities. Depending on the circumstances, multiple confirmations may be required before a deposit is considered final, adding an extra layer of security to the process.

## User Experience

From a user's perspective, the deposit process is straightforward. Users initiate a BTC transaction to a specified address and then wait for the transaction to be confirmed on the Bitcoin blockchain. Once confirmed, they receive the equivalent amount of sBTC in their Stacks wallet.
Expand Down
6 changes: 3 additions & 3 deletions concepts/sbtc/operations/withdrawal.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,19 @@ The sBTC withdrawal operation enables users to convert their sBTC back to BTC. T

## Process Overview

The withdrawal process begins when a user initiates a Clarity contract call. This call triggers a series of events that culminate in the user receiving BTC in their specified Bitcoin address. The process requires six Bitcoin block confirmations to complete. After these confirmations, sBTC Bootstrap Signers create the withdrawal transaction on the Bitcoin network.
The withdrawal process begins when a user initiates a Clarity contract call. This call triggers a series of events that culminate in the user receiving BTC in their specified Bitcoin address. The process requires six Bitcoin block confirmations to complete. After these confirmations, sBTC Signers create the withdrawal transaction on the Bitcoin network.

## Withdrawal Confirmation

The requirement for six block confirmations serves multiple important purposes. First, it ensures the finality of the Stacks transaction, preventing any potential reversals or conflicts. Second, it mitigates issues that could arise from potential Bitcoin forks by allowing sufficient time for network stability. Lastly, it provides sBTC Bootstrap Signers with ample time to verify and process the withdrawal request accurately.
The requirement for six block confirmations serves multiple important purposes. First, it ensures the finality of the Stacks transaction, preventing any potential reversals or conflicts. Second, it mitigates issues that could arise from potential Bitcoin forks by allowing sufficient time for network stability. Lastly, it provides sBTC Signers with ample time to verify and process the withdrawal request accurately.

## Failure Cases

While some withdrawal failures can be identified and resolved before the six confirmations are complete, others may only become apparent after the sBTC Bootstrap Signer attempts to create the withdrawal transaction on the Bitcoin network. This delay in failure detection is due to the complex nature of cross-chain operations and the need for thorough verification at each step.

## Security Considerations

The multi-block confirmation process is a crucial security measure that helps prevent double-spending attempts. By requiring multiple block confirmations, the system ensures that the withdrawal request is valid and final before processing it on the Bitcoin network. Additionally, sBTC Bootstrap Signers meticulously verify each withdrawal request before processing it, adding an extra layer of security. The system also consults a dynamic blocklist to prevent withdrawals to known malicious addresses, further enhancing the overall security of the withdrawal process.
The multi-block confirmation process is a crucial security measure that helps prevent double-spending attempts. By requiring multiple block confirmations, the system ensures that the withdrawal request is valid and final before processing it on the Bitcoin network. Additionally, sBTC Signers verify each withdrawal request before processing it, adding an extra layer of security.

## User Experience

Expand Down

0 comments on commit 6cbcaa8

Please sign in to comment.