From 738ffb3ed79adc17e9800e1e20eee75e48408f7a Mon Sep 17 00:00:00 2001 From: Clemens Ley Date: Tue, 11 Jun 2024 16:29:08 -0300 Subject: [PATCH] Docs: clarify that our definition of swaps differs from legal definition --- packages/docs/Examples/swap.md | 10 ++- packages/docs/comparison.md | 102 ++++++++++++++----------------- packages/docs/static/docs.sketch | Bin 30165 -> 30161 bytes 3 files changed, 56 insertions(+), 56 deletions(-) diff --git a/packages/docs/Examples/swap.md b/packages/docs/Examples/swap.md index d800dc4a8..6d0484bed 100644 --- a/packages/docs/Examples/swap.md +++ b/packages/docs/Examples/swap.md @@ -3,7 +3,15 @@ order: -30 icon: arrow-switch --- -# Swaps +# Token Swap + +A token swap is the direct and immediate exchange of ownership of two tokens on the same chain. The swaps described below are atomic in the sense that either both assets change their owner or none of them. This enables trustless exchange, as the situation where the other party does not pay cannot arise. + +A token swap is similar to an atomic swap, the difference being that atomic swaps usually refer to the exchange of cryptocurrency on two different chains, whereas token swaps exchange tokens on the same chain. + +!!! +We note that the definition of a token swap differs wildly from the legal definition of a swap. While a token swap is the immediate exchange of two tokens, a swap in the legal sense involves an option to buy or sell an asset at a later point in time. +!!! ## Swap Using a Static Function diff --git a/packages/docs/comparison.md b/packages/docs/comparison.md index 0bb59a1bf..34d71364e 100644 --- a/packages/docs/comparison.md +++ b/packages/docs/comparison.md @@ -6,85 +6,82 @@ visibility: hidden # Comparison +We give an overview over the existing smart contract systems on Bitcoin. We break down the analysis into Layer 1 and Layer 2 systems. We call a smart contract system Layer 1 if the users communicate only via the Bitcoin blockchain and Layer2 otherwise. + ## Layer 2 -In layer-2 solutions, transactions are performed -out of the blockchain (layer-1) and can ultimately settle -back efficiently to the blockchain. +### State Channels and Networks -### Side Chains -* [Rootstock](https://dev.rootstock.io/) -* [Stacks](https://docs.stacks.co/) -* [Internet Computer](https://internetcomputer.org/docs/current/home) + + +The problem of scaling blockchains is in part caused by the need for all nodes to update if one user broadcasts a transaction. State channels allow two users to exchange transactions off-chain of which only the last one needs to be broadcast. This makes it possible to update a payment an unlimited number of times while only having to pay a fixed number number of transaction fees. In most designs, users need to broadcast one transaction to open a channel and one transaction to close the channel and commit to the last payment. + +To extend this design to an arbitrary number of users, state networks have been designed. Smart contracts called [HTLC]()s can be used to chain state channels, without requiring the intermediate nodes to obtain custody of the payment. This enables efficient hub and spoke architectures where a central hub can forward payments between users. + +#### Security Considerations + +#### Examples +* [Lightning Network](https://lightning.network/) The lightning network extends the hub and spoke model to a decentralized network of payment channels. The key challenge is to solve the routing problem: in order to send a payment between two users a path of channels needs to be determined where each channel has sufficient liquidity to forward the payment. Critics of the lightning network would argue that this problem is similar to the problem that scaling blockchains via payment channels seeks to solve to begin with. -### Payment Channel Networks * [Ark](https://ark-protocol.org/) * [RGB](https://docs.rgb.info/) +### Side Chains + +A sidechain is an independent blockchain that is tied to Bitcoin via a two-way-peg. The consensus of the side chain can differ from the consensus mechanism of Bitcoin, thereby potentially enhancing it's throughput, smart contract capabilities, or privacy. + +To use the side chain a user can send Bitcoin to an address that is controlled by a federation. Once the Bitcoin is confirmed, the user is allowed to create an equivalent amount of tokens on the side chain. These token then can be used to access the enhanced functionality of the side chain. The user can use the peg-out mechanism to convert the coins on the sidechain back to tokens in the main chain. + +#### Security Considerations + +Side chains are less secure than Bitcoin for two reasons. The consensus mechanism of the side chain is typically less secure than the consensus of Bitcoin. This enable attackers to exploit the side chain consensus. On the other hand the + +#### Examples + +* [Liquid](https://docs.liquid.net/docs/technical-overview). + * The federation consists of a fixed group of members that is defined at launch. The identities of its members is not public, however it is stated that they are large exchanges, financial institutions, and Bitcoin-focused companies. + * Developed by Blockstream + * The peg is enforced by means of ordinary multisignature transactions. It does require a consortium to exist, and for participants of the system to trust that at least 2/3 of the federation is acting honestly. + * The federation members also maintain the consensus of the side chain by signing blocks in a round robin fashion. + * The Liquid side chain is based on the Bitcoin code base. However, it's throughput is 10x higher than Bitcoin's throughput as the block time was reduced to 1 minute. + * Liquid allows for users to create and transfer other assets using a feature called Issued Assets. + * One of the main features of Liquid is its default use of Confidential Transactions. Confidential Transactions on Liquid allows any two parties to transact without anyone else being able to view the asset and amount transacted, not even the Liquid Federation members and functionaries. +* [Rootstock](https://rootstock.io/static/a79b27d4889409602174df4710102056/RS-whitepaper.pdf) +* [Stacks](https://docs.stacks.co/) +* [Internet Computer](https://internetcomputer.org/docs/current/home) + ### Rollups -*Rollups* execute batches of transactions outside the main blockchain, -convert them into one single piece of data and submit it to the -main blockchain. [1] +*Rollups* execute batches of transactions outside the main blockchain, convert them into one single piece of data and submit it to the main blockchain. [1] #### Optimistic Rollups -*Optimistic rollups* assume transactions -are valid. For a period of time, each user has the opportunity -to challenge the transaction and, in such a case, must present a -fraud proof. [1] - -Optimistic rollups have two main -entities participating: aggregators and verifiers. Once an -aggregator publishes a transaction, there is a period of -time when each node acting as a verifier can monitor data -published by the aggregator. If the verifier disagrees with -the published data, she can challenge the transaction. To -discourage aggregators and verifiers from acting maliciously, -both the aggregator and verifier need to stake a bond. If the -verifier can provide a fraud proof, the aggregator is fined. -Otherwise, the verifier gets fined. [...] Only one honest verifier is needed to guarantee that the -aggregator did not act maliciously.[1] +*Optimistic rollups* assume transactions are valid. For a period of time, each user has the opportunity to challenge the transaction and, in such a case, must present a fraud proof. [1] + +Optimistic rollups have two main entities participating: aggregators and verifiers. Once an aggregator publishes a transaction, there is a period of time when each node acting as a verifier can monitor data published by the aggregator. If the verifier disagrees with the published data, she can challenge the transaction. To discourage aggregators and verifiers from acting maliciously, both the aggregator and verifier need to stake a bond. If the verifier can provide a fraud proof, the aggregator is fined. Otherwise, the verifier gets fined. [...] Only one honest verifier is needed to guarantee that the aggregator did not act maliciously.[1] #### Zero-knowledge Rollups -*Zero-knowledge rollups* do not assume fair play, and together with transaction -data, the aggregator provides a validity proof. [1] +*Zero-knowledge rollups* do not assume fair play, and together with transaction data, the aggregator provides a validity proof. [1] -While optimistic rollups use fraud proofs -for security, Zero-Knowledge (ZK) rollups use validity -proofs. Instead of allowing the aggregator -to publish a transaction and then question it, in ZK -rollups, the aggregator must prove the post-state root is -the correct result of the batch execution using a validity -proof. +While optimistic rollups use fraud proofs for security, Zero-Knowledge (ZK) rollups use validity proofs. Instead of allowing the aggregator to publish a transaction and then question it, in ZK rollups, the aggregator must prove the post-state root is the correct result of the batch execution using a validity proof. #### Optimistic vs ZK Rollups Building -a validity proof requires heavy computations; hence, ZK -rollups’ offchain fees are higher than optimistic rollups. Additionally, a ZK rollup layer-1 transaction has a much -higher fixed fee since it requires a validity proof verification -hence gas fees are higher. [1] +a validity proof requires heavy computations; hence, ZK rollups’ offchain fees are higher than optimistic rollups. Additionally, a ZK rollup layer-1 transaction has a much higher fixed fee since it requires a validity proof verification hence gas fees are higher. [1] -Though, since optimistic rollups -have a period where verifiers have an opportunity to publish a -fraud proof, the users need to wait (usually a week) until their -deposits can be withdrawn, while in ZK-rollups, deposits can -be withdrawn immediately. [1] +Though, since optimistic rollups have a period where verifiers have an opportunity to publish a fraud proof, the users need to wait (usually a week) until their deposits can be withdrawn, while in ZK-rollups, deposits can be withdrawn immediately. [1] -* [BitVM](https://bitvm.org/) (is this L2?) -* [SatoshiVM](https://docs.satoshivm.io/) * [BOB](https://docs.gobob.xyz/) * [Citrea](https://docs.citrea.xyz/) * [Alpen](https://www.alpenlabs.io/) -* [Merlin](https://docs.merlinchain.io/merlin-docs) -* [Dovi](https://dovil2.com/) ## Layer 1 ### Miner Validated * [Bitcoin Script]() +* [BitVM](https://bitvm.org/) (is this L2?) ### Client Validated * [EPOBC](https://github.com/chromaway/ngcccbase/wiki/EPOBC_simple) @@ -102,10 +99,6 @@ be withdrawn immediately. [1] * https://www.hiro.so/blog/building-on-bitcoin-project-comparison * https://www.hiro.so/ -## Videos - -[BitVM: Smarter Bitcoin Contracts - Robin Linus (zerosync)](https://www.youtube.com/live/VIg7BjX_lJw) - ## Articles [1] [SoK: Applications of Sketches and Rollups in Blockchain Networks](https://drive.google.com/file/d/1dJ2OsAc4QvIWzxR1JFFmMfMVYIrnXOWW/view), Arad Kotzer, Daniel Gandelman and Ori Rottenstreich; Technion, Florida State University * [Blockchain Scaling Using Rollups: A Comprehensive Survey](https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9862815), LOUIS TREMBLAY THIBAULT, TOM SARRY, AND ABDELHAKIM SENHAJI HAFID; Montreal @@ -119,8 +112,7 @@ Roberto Zunino * [SoK: Decentralized Finance (DeFi)](https://dl.acm.org/doi/pdf/10.1145/3558535.3559780) * [SoK: Communication Across Distributed Ledgers](https://eprint.iacr.org/2019/1128.pdf) * [Colored Coins whitepaper](https://www.etoro.com/wp-content/uploads/2022/03/Colored-Coins-white-paper-Digital-Assets.pdf), Yoni Assia, Vitalik Buterin, liorhakiLior, Meni Rosenfeld, Rotem Lev -* [BitSNARK & Grail - Bitcoin Rails for Unlimited Smart Contracts & Scalability](https://assets-global.website-files.com/661e3b1622f7c56970b07a4c/662a7a89ce097389c876db57_BitSNARK__Grail.pdf) -* [BitVMX: A CPU for Universal Computation on Bitcoin](https://bitvmx.org/files/bitvmx-whitepaper.pdf) + diff --git a/packages/docs/static/docs.sketch b/packages/docs/static/docs.sketch index b275ab0b0139e1d21f2d934cb4265e1cffc67126..4de6f7063357686234d12c989247ad5bbebfb5a0 100644 GIT binary patch delta 18389 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 delta 18317 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 MbteXQbN~PV0QtSe&j0`b