-
Notifications
You must be signed in to change notification settings - Fork 284
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #45 from AztecProtocol/jc/aztec3
Jc/aztec3
- Loading branch information
Showing
136 changed files
with
1,299 additions
and
7,499 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
--- | ||
title: Aztec Connect Sunset | ||
--- | ||
|
||
import Image from "@theme/IdealImage"; | ||
|
||
:::danger | ||
|
||
Aztec Connect is no longer being actively developed. | ||
|
||
::: | ||
|
||
The rollup instance operated by Aztec will stop accepting deposits soon. Read the full announcement [here](https://medium.com/aztec-protocol/sunsetting-aztec-connect-a786edce5cae). | ||
|
||
We will continue to process transactions and withdrawals for funds that are already in the rollup. We will stop running the sequencer in March 2024. See the [zk.money](#zkmoney) section below for details on how to withdraw funds. | ||
|
||
## Run your own AC | ||
|
||
All of the infrastructure and associated code required to run and interact with the Aztec Connect rollup is open source, so anyone can publish blocks after we stop, or run their own instance of the rollup software. | ||
|
||
You can find the old documentation site that includes all of the pertinent information on the [`aztec-connect` branch](https://github.com/AztecProtocol/docs/tree/aztec-connect) of the docs repository. | ||
|
||
The code has been open sourced and you can find the relevant repositories linked below. | ||
|
||
### Source Code | ||
|
||
Follow the links for more information about each package. | ||
|
||
- [Running the rollup service](https://github.com/AztecProtocol/aztec-connect/blob/master/yarn-project/README.md) | ||
- [Sequencer](https://github.com/AztecProtocol/aztec-connect/tree/master/yarn-project/falafel) | ||
- [Contracts](https://github.com/AztecProtocol/aztec-connect/tree/master/contracts) | ||
- [SDK](https://github.com/AztecProtocol/aztec-connect/tree/master/yarn-project/sdk) | ||
- [Alpha SDK](https://github.com/AztecProtocol/aztec-connect/tree/master/yarn-project/alpha-sdk) | ||
- [Wallet UI](https://github.com/AztecProtocol/wallet-ui) | ||
|
||
## Zk.money | ||
|
||
### Exiting Defi Positions | ||
|
||
1. Navigate to your zk.money homepage and click “Wallet”. | ||
2. Scroll down to “Tokens” and “Earn Positions”. | ||
3. Click “Earn Positions”. | ||
4. Click “Claim & Exit” on the position you wish to exit. <Image img={require("/img/defiexit1.png")} /> | ||
5. All exit transactions are free in “Batched Mode” proceed to step 6 to get a free transaction. | ||
6. Click “Max” to exit the full amount, and then select a speed for your transaction. <Image img={require("/img/defiexit2.png")} /> | ||
7. Once you have done so, click “Next”. | ||
8. Review the amount you will receive is correct, tick the disclaimer, and click “Confirm Transaction”. <Image img={require("/img/defiexit3.png")} /> | ||
9. After clicking confirm transaction, sign the signature request using your connected wallet (e.g. Metamask in this example). <Image img={require("/img/defiexit4.png")} /> | ||
10. Wait until your transaction is confirmed. <Image img={require("/img/defiexit5.png")} /> | ||
11. Navigate back to your wallet homepage and click “Earn Positions”. | ||
12. The status of your exit will be displayed here, as shown by “Exiting” (1 tick). <Image img={require("/img/defiexit6.png")} /> | ||
13. To the left, click the transaction hash icon to be taken to the block explorer page to see the transaction status. <Image img={require("/img/defiexit7.png")} /> | ||
14. Your funds will appear in your dashboard once the transaction has settled. | ||
|
||
### Exiting LUSD Borrowing | ||
|
||
Your LUSD debt is repaid using a flash loan. Part of your ETH collateral then repays the flash loan, and the remaining ETH is returned to your account. Your total TB-275 tokens represents the entirety of your share of the collateral. Spending all your TB-275 will release your entire share of the collateral (minus the market value of the debt to be repaid). | ||
|
||
Liquity: https://docs.liquity.org/ | ||
|
||
1. Navigate to your zk.money homepage and click “Wallet”. | ||
2. Scroll down to “Tokens” and “Earn Positions”. | ||
3. Click “Earn Positions”. | ||
4. On your Liquity Trove position, click “Repay & Exit”. <Image img={require("/img/lusdexit1.png")} /> | ||
5. Click “Max” to exit the full amount, then select a speed for your transaction. <Image img={require("/img/lusdexit2.png")} /> | ||
6. Once you have done so, click “Next”. | ||
7. Review the amount you will receive is correct, tick the disclaimer, and click “Confirm Transaction”. <Image img={require("/img/lusdexit3.png")} /> | ||
8. After clicking confirm transaction, sign the signature request using your connected wallet (e.g. Metamask). | ||
9. Wait until your transaction is confirmed. | ||
10. Navigate to your zk.money wallet homepage and click “Earn Positions”. | ||
11. The status of your exit will be displayed here, as shown by “Exiting” (1 tick). <Image img={require("/img/lusdexit4.png")} /> | ||
12. Click the transaction hash icon to be taken to the block explorer page to see the transaction status. <Image img={require("/img/lusdexit5.png")} /> | ||
13. Your funds will appear in your dashboard once the transaction has settled. | ||
|
||
### Withdrawing Assets | ||
|
||
How to withdraw ETH, DAI and LUSD. | ||
|
||
1. Navigate to your zk.money homepage and click “Wallet”. | ||
2. Scroll down to “Tokens” and “Earn Positions”. | ||
3. Click “Tokens”. | ||
4. Click “Exit” on the desired token you would like to withdraw. <Image img={require("/img/withdraw1.png")} /> | ||
5. Click “Withdraw to L1”. <Image img={require("/img/withdraw2.png")} /> | ||
6. Enter your recipient address. | ||
7. Click “Max” to withdraw the full amount. | ||
8. Select a speed for your transaction (transactions are free in “Batched Mode”). | ||
9. Click “Next”. | ||
10. Review the amount you are withdrawing is correct, tick the disclaimer, and click “Confirm Transaction”. <Image img={require("/img/withdraw3.png")} /> | ||
11. Sign the signature request using your connected wallet (e.g. Metamask). | ||
12. Wait until your transaction is confirmed. <Image img={require("/img/withdraw4.png")} /> | ||
13. Navigate back to your wallet homepage, under Transaction History. Click the transaction hash to check the status of your transaction on the block explorer. <Image img={require("/img/withdraw5.png")} /> | ||
14. Your funds will appear in your recipient wallet once the transaction has settled. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
--- | ||
title: Aztec 3 | ||
--- | ||
|
||
import ReactPlayer from "react-player/youtube"; | ||
|
||
:::note | ||
|
||
These docs are a work in progress and will be updated as we release software around the new protocol. | ||
|
||
::: | ||
|
||
Aztec 3 is the next and final network on Aztec's journey to building a privacy-preserving, programmable extension to Ethereum. | ||
|
||
Aztec 3 is being built and launched as a credibly neutral, decentralized protocol. The protocol is being developed as open source software and will be run by a community of infrastructure providers and stakeholders. | ||
|
||
Aztec (the company) is doing much of the cryptography and engineering research and coordination to make the protocol possible. We are designing, building and auditing much of the software that others will run to create the Aztec network. | ||
|
||
The Aztec community upholds many of the values of the Ethereum community by also building permissionlessness, decentralization and censorship resistance into the system. | ||
|
||
## Privacy in Aztec 3 | ||
|
||
Aztec 3 has three distinct domains of privacy--user privacy, data privacy and code privacy. | ||
|
||
User privacy refers to the fact that transactions on the Aztec network can be completely confidential. Transactions may not include information about the sender, the recipient, the transaction amount or asset type. This is a significant deviation from most blockchains where all transaction data is transparent. | ||
|
||
Data privacy refers to data stored in program's state. Like other blockchains, programs that run on Aztec 3 are called [smart contracts](./glossary#smart-contract). Smart contracts on Aztec differ from smart contracts in many other programming contexts in that they can optionally have private state as well as private functions. | ||
|
||
Code privacy refers to program logic in smart contracts. Developers can specify `private` functions in their smart contracts that allow users to privately interact with contracts. | ||
|
||
### Private-public Composability | ||
|
||
You can watch Mike, one of our engineering team leads, talk about public-private composablity in Aztec 3 at Devcon here. | ||
|
||
<ReactPlayer | ||
controls | ||
light | ||
width="100%" | ||
url="https://www.youtube.com/watch?v=7Oc0tjdbi70&t=17723s" | ||
/> | ||
|
||
## Cryptography | ||
|
||
Our cryptography team is building [Honk](https://github.com/AztecProtocol/barretenberg/tree/master/cpp/src/barretenberg/honk), a cutting edge proving system that makes Aztec 3 possible, under the Apache 2.0 License. | ||
|
||
## Noir | ||
|
||
Noir is a domain specific programming language for writing zero knowledge circuits and developers will write smart contracts for Aztec 3 using Noir. | ||
|
||
You can find more information and resources for learning about Noir on [this page](./noir). | ||
|
||
## Decentralization | ||
|
||
There are a number of components that we are working on to make the Aztec network robust and decentralized. | ||
|
||
The Aztec network will need a peer-to-peer transaction pool for [sequencers](./glossary#sequencer) to discover transactions. | ||
|
||
The network will need sequencer that works in a decentralized context, that follows a sequencer selection protocol and incentivizes liveness, minimizes redundant work and avoids race conditions. | ||
|
||
There will be a prover network that will generate the required proofs to publish a rollup. Sequencers will rely on the prover network to generate proofs for rollup blocks. The prover network should allow people to create proofs on commodity hardware to avoid centralization of proof construction. | ||
|
||
The sequence and prover networks must avoid "winner take all" and "fastest hardware wins" dynamics and will penalize censorship and missed blocks. | ||
|
||
The network will need to define upgrade mechanics, so it can be updated over time as new technology and designs are developed. | ||
|
||
There will need to be an incentive mechanism baked into the protocol that allows the various required parties to coordinate effectively and reliably. | ||
|
||
## Roadmap | ||
|
||
### Local Developer Testnet | ||
|
||
First on our roadmap is to release a local developer testnet. This network will run on a single development machine and will allow developers to write, test and deploy Aztec 3 smart contracts. | ||
|
||
Developers will be able to: | ||
|
||
- deploy contracts with public and private functions | ||
- deploy contracts with Aztec 3 <--> Ethereum contract calls | ||
- call other Aztec 3 contract private and public functions | ||
- read / write to private state | ||
- read / write to public state | ||
|
||
### Beyond | ||
|
||
In parallel to building the local developer testnet we are working on the networking stack for the network. As mentioned above, this requires several components (including the transaction pool, the sequencer and prover networks and data retrieval). | ||
|
||
After the launch of the local developer testnet we will be testing these networks on the Ethereum public testnets. These docs will be updated as we progress through the development process. | ||
|
||
In the meantime, feel free to engage with us via the **Community** links in the footer. |
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.