There are a few components that make Mirror's publishing tool decentralized:
- Ethereum identity. In order to use Mirror, you will need to connect an Ethereum wallet to the site. You can only publish on Mirror when you’re signed in with your wallet. The wallet is controlled by its private key.
- Signing keys. Mirror generates signing keys for all users to connect their wallet. These signing keys are stored in the browser in a way that makes them inaccessible to Mirror. When publishing an entry, you sign the content with this key pair in the background to authorize that the content came from your account. This decouples the integrity of creating content from economic transactions, creating a smooth UX while ensuring security.
- Content storage on Arweave. The text of your entries is stored on Arweave, a decentralized file storage network. You always have access to your written content and its integrity can be cryptographically verified - even if the Mirror website is unavailable.
- Writing NFTs. All writing on Mirror is collectable by default as Writing NFTs, adding an extra redundancy layer to your content by referencing it in a smart contract. Check out the Creating Writing NFTs section of the knowledge base for more info.
- Other NFTs. Other NFTs created on Mirror exist in creator-owned contracts where the media is stored on IPFS.
The integrity of each entry can be verified in the footer, where you can find a reference to the Arweave transaction with the entry's written content, the author’s Ethereum address, the NFT address, and the content digest.
All content published on Mirror can also be retrieved directly from the blockchain without relying on the mirror.xyz client. Learn more in this guide.
You can also check out this blog post for a more detailed technical deep dive into how Mirror's publishing protocol works.