diff --git a/rendered/zip-0228.html b/rendered/zip-0228.html index c94504188..dfb944166 100644 --- a/rendered/zip-0228.html +++ b/rendered/zip-0228.html @@ -25,7 +25,7 @@
The key word "MUST" in this document is to be interpreted as described in RFC 2119 1.
The term "network upgrade" in this document is to be interpreted as described in ZIP 200 2.
The terms "Orchard" and "Action" in this document are to be interpreted as described in ZIP 224 3.
-The terms "Asset", "Custom Asset" and "Asset Base” in this document are to be interpreted as described in ZIP 227 5.
+The terms "Asset", "Custom Asset" and "Asset Base” in this document are to be interpreted as described in ZIP 227 6.
We define the following additional terms:
This ZIP introduces Asset Swaps for Zcash Shielded Assets (ZSA). It builds on top of ZIP 227 5 and ZIP 226 4. ZSA Swaps simplify the process of trading assets within the Zcash ecosystem, and lower the reliance on centralized exchanges for trading.
+This ZIP introduces Asset Swaps for Zcash Shielded Assets (ZSA). It builds on top of ZIP 227 6 and ZIP 226 4. ZSA Swaps simplify the process of trading assets within the Zcash ecosystem, and lower the reliance on centralized exchanges for trading.
ZIP 227 and ZIP 226 equip Zcash with the ability to issue, transfer, and burn Custom Assets, enabling multi-asset support on the Zcash chain. This support opens the door for applications like asset swaps, which allow users to trade assets on Zcash without using centralized exchanges. Importantly, ZSA Swaps will allow users to keep full custody of their funds while trading their assets. In light of the number of “DeFi/smart contract hacks” and bankrupt exchanges which mismanaged user funds (e.g. FTX), providing users with a secure and privacy-preserving way to trade, while staying in control of their funds, is a tremendous improvement on the status quo in the realm of (privacy preserving) cryptocurrencies. Assets Swaps for ZSA is another milestone that would unleash a myriad of use cases on the Zcash ecosystem.
@@ -54,12 +54,12 @@A key challenge is that Swap Orders that match may contain Actions and Zero Knowledge Proofs generated using different blockchain states and roots of note commitment trees. In the current (NU5) protocol, each transaction contains a set of Actions and Proofs generated using a single anchor/Merkle root, and there is no way to combine independently generated halo2 proofs into a single combined proof.
-To enable combining Actions and Proofs from different blockchain states, the concept of an Action Group is introduced in this ZIP. An Action Group groups together Actions and Proofs generated using a common commitment tree root. Action Groups replace Actions in the Zcash transaction format. This allows for creating a single Zcash transaction from different sets of Actions and Proofs generated using different anchors and blockchain states. This Action Groups-based transaction structure enables a wide range of use-cases to be built on Zcash, such as: P2P ZSA Swaps, Zcash transaction relays or ZSA Swaps via a centralized Matcher - to name a few (More details are under the Matchers heading in the Other Considerations section of this ZIP).
+To enable combining Actions and Proofs from different blockchain states, the concept of an Action Group is introduced in this ZIP. An Action Group groups together Actions and Proofs generated using a common commitment tree root. Action Groups replace Actions in the Zcash transaction format. This allows for creating a single Zcash transaction from different sets of Actions and Proofs generated using different anchors and blockchain states. This Action Groups-based transaction structure enables a wide range of use-cases to be built on Zcash, such as: P2P ZSA Swaps, Zcash transaction relays or ZSA Swaps via a centralized Matcher - to name a few. (More details are under the Matchers heading in the Other Considerations section of this ZIP.)
The protocol is largely the same as that in the Orchard-ZSA Protocol described in ZIP 226 4 and ZIP 227 5. The changes to the protocol are described in this section. The specification of the structure of Swap Orders (that are sent off-chain) is provided in the next section, Specification: Swap Orders.
+The protocol is largely the same as that in the Orchard-ZSA Protocol described in ZIP 226 4 and ZIP 227 6. The changes to the protocol are described in this section. The specification of the structure of Swap Orders (that are sent off-chain) is provided in the next section, Specification: Swap Orders.
The transaction format is modified to group Actions 10 into Action Groups characterized by anchors and flagsOrchard. Specifically, the Orchard-ZSA transaction fields 7 are modified as in the table below: This is the Swap Bundle, and it is pictorially represented in the figure below.
The transaction format is modified to group Actions 12 into Action Groups characterized by anchors and flagsOrchard. Specifically, the Orchard-ZSA transaction fields 9 are modified as in the table below: This is the Swap Bundle, and it is pictorially represented in the figure below.
852 * nActionsOrchard |
vActionsOrchard |
- OrchardZSAAction[nActionsOrchard] |
- A sequence of ZSA Swap Action descriptions in the Action Group. | +OrchardZsaAction[nActionsOrchard] |
+ A sequence of ZSA Swap Action descriptions in the Action Group. The ''OrchardZsaAction'' type is defined in ZIP 230 8. |
1 |
flagsOrchard |
byte |
- As defined in Section 7.1 of the Protocol Specification 12. | +As defined in Section 7.1 of the Protocol Specification 14. | |
32 |
anchorOrchard |
byte[32] |
- As defined in Section 7.1 of the Protocol Specification 12. | +As defined in Section 7.1 of the Protocol Specification 14. | |
varies |
sizeProofsOrchard |
compactSize |
- As defined in Section 7.1 of the Protocol Specification 12. | +As defined in Section 7.1 of the Protocol Specification 14. | |
sizeProofsOrchard |
@@ -185,15 +185,15 @@
|||||
8 |
@@ -389,14 +389,14 @@
and create a note for themself, to receive the desired amount of another Asset
\(\mathsf{A}_2\)
.
-
| 5 | +ZIP 226: Transfer and Burn of Zcash Shielded Assets - Circuit Statement | +
|---|
| 6 | ZIP 227: Issuance of Zcash Shielded Assets |
|---|
| 6 | +7 | ZIP 227: Issuance of Zcash Shielded Assets - Specification: Asset Identifier |
|---|
| 8 | +ZIP 230: Version 6 Transaction Format | +
|---|
| 7 | +9 | ZIP 230: Version 6 Transaction Format - Transaction Format |
|---|
| 8 | +10 | ZIP 244: Transaction Identifier Non-Malleability: T4. orchard_digest |
|---|
| 9 | +11 | Zcash Protocol Specification, Version 2023.4.0. Section 3.2: Notes |
|---|
| 10 | +12 | Zcash Protocol Specification, Version 2023.4.0. Section 3.7: Action Transfers and their Descriptions |
|---|
| 11 | +13 | Zcash Protocol Specification, Version 2023.4.0. Section 4.15: Spend Authorization Signatures (Sapling and Orchard) |
|---|
| 12 | +14 | Zcash Protocol Specification, Version 2023.4.0. Section 7.1: Transaction Encoding and Consensus |
|---|
| 13 | +15 | Central Limit Order Book Definition - Risk.net |
|---|