From 6cbcaa80a7c0fc20523f85e98a157bcd75c6caf9 Mon Sep 17 00:00:00 2001 From: kenny Date: Tue, 8 Oct 2024 15:41:24 -0600 Subject: [PATCH] Update language to remove versions and bootstrap signers --- concepts/sbtc/README.md | 14 +++++++------- concepts/sbtc/auxiliary-features/README.md | 3 +-- .../sbtc/auxiliary-features/fee-sponsorship.md | 9 +-------- .../{sbtc-bootstrap-signers.md => sbtc-signers.md} | 4 ++-- concepts/sbtc/operations/deposit.md | 6 +----- concepts/sbtc/operations/withdrawal.md | 6 +++--- 6 files changed, 15 insertions(+), 27 deletions(-) rename concepts/sbtc/clarity-contracts/{sbtc-bootstrap-signers.md => sbtc-signers.md} (93%) diff --git a/concepts/sbtc/README.md b/concepts/sbtc/README.md index 7a23dbc668..89f5aa1f0b 100644 --- a/concepts/sbtc/README.md +++ b/concepts/sbtc/README.md @@ -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. @@ -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 @@ -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 @@ -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. diff --git a/concepts/sbtc/auxiliary-features/README.md b/concepts/sbtc/auxiliary-features/README.md index 91478824f4..d5adb59151 100644 --- a/concepts/sbtc/auxiliary-features/README.md +++ b/concepts/sbtc/auxiliary-features/README.md @@ -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. diff --git a/concepts/sbtc/auxiliary-features/fee-sponsorship.md b/concepts/sbtc/auxiliary-features/fee-sponsorship.md index 43207e98cb..406134c3ff 100644 --- a/concepts/sbtc/auxiliary-features/fee-sponsorship.md +++ b/concepts/sbtc/auxiliary-features/fee-sponsorship.md @@ -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 @@ -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. diff --git a/concepts/sbtc/clarity-contracts/sbtc-bootstrap-signers.md b/concepts/sbtc/clarity-contracts/sbtc-signers.md similarity index 93% rename from concepts/sbtc/clarity-contracts/sbtc-bootstrap-signers.md rename to concepts/sbtc/clarity-contracts/sbtc-signers.md index 98e9f1cd80..0bd4cb9a1c 100644 --- a/concepts/sbtc/clarity-contracts/sbtc-bootstrap-signers.md +++ b/concepts/sbtc/clarity-contracts/sbtc-signers.md @@ -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 diff --git a/concepts/sbtc/operations/deposit.md b/concepts/sbtc/operations/deposit.md index 908d4145ab..78af506e84 100644 --- a/concepts/sbtc/operations/deposit.md +++ b/concepts/sbtc/operations/deposit.md @@ -4,7 +4,7 @@ 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. @@ -12,10 +12,6 @@ The Deposit API serves multiple purposes beyond relaying information. It reduces 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. diff --git a/concepts/sbtc/operations/withdrawal.md b/concepts/sbtc/operations/withdrawal.md index cf231c3038..4a865e9534 100644 --- a/concepts/sbtc/operations/withdrawal.md +++ b/concepts/sbtc/operations/withdrawal.md @@ -4,11 +4,11 @@ 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 @@ -16,7 +16,7 @@ While some withdrawal failures can be identified and resolved before the six con ## 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