🥃Tonic (토닉)
Drink a Shot of Privacy with Tonic.
Last updated
Drink a Shot of Privacy with Tonic.
Last updated
Privacy Transactions for Everyone, Powered by zk-SNARK Technology.
Tonic is a decentralized privacy protocol that enhances the privacy of token transfers on an EVM-based blockchain, making it harder to track them. Currently, it supports Klaytn and WEMIX as the first-ever crypto mixer protocol.
🥃 You can interact with our contracts here: https://tonic.cash
ZK-SNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) is a cryptographic proof system that allows one party to prove to another party that they know a certain piece of information without actually revealing that information. In simpler terms, it allows someone to prove that they have knowledge of something, without actually revealing what that knowledge is. This is done by generating a proof that the statement is true, without revealing any details about the statement itself.
By utilizing ZK-SNARK technology, Tonic provides users with a safe and confidential approach to transfer their funds. With the help of our user-friendly frontend, you can effortlessly accomplish three simple steps and achieve the desired level of privacy:
🛫 Deposit: To deposit tokens, users submit a hash of a randomly generated key (known as a note) to the Tonic smart contract. This note represents the value of the tokens being deposited, and is used to verify the transaction. The tokens are then locked into our smart contracts, ensuring that they cannot be spent or transferred until they are withdrawn. Of course, the frontend will take care of the hash submission - you just have to sign!
🕰️ Wait: In order to enhance their privacy, users should wait a certain amount of time before withdrawing the tokens. This waiting period allows users to ensure that their transactions cannot be traced or linked to other transactions on the blockchain.
🛬 Withdraw: When users are ready to withdraw their tokens, they provide proof of the original key that was initially submitted (the note). Once the proof is verified, the tokens are sent to the intended recipient, ensuring that the transaction is both secure and private.
If you are curious about the exact process at the smart contract level, you can refer to the Protocol Flow chart page
When a user initiates a withdrawal transaction on Tonic, they must pay the gas fee using the network's native token. If the user's account balance is insufficient to cover the gas fee, Tonic automatically fallbacks to using a team-managed relayer to pay the fee on their behalf. This way, users can delegate the responsibility of paying the transaction fees to a third party while maintaining control over their accounts and transactions.
One of the main reasons for using relayers for fee delegation is to prevent doxxing. When a new wallet is used for a transfer of funds on Tonic, the wallet needs to acquire the network's native token to cover the transaction fee. However, this process can potentially reveal the flow of funds and compromise the user's privacy. Therefore, users can delegate the responsibility of paying transaction fees to a third-party relayer and avoid this risk.
Currently, all relayer wallets offered by Tonic are managed by the team. Therefore, there is no additional relayer fee being charged.
모두를 위한 zk-SNARK 기반의 프라이빗 트랜잭션 프로토콜
토닉(Tonic) 또는 토닉 캐시 는 EVM 기반 블록체인 위에서, 토큰의 이동(transfer) 을 추적하기 어렵게 만들어 주는 탈중앙화된 프라이버시 프로토콜입니다. 현재 클레이튼(Klaytn) 과 위믹스(WEMIX) 를 지원합니다.
ZK-SNARK(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) 는 가장 보편적인 영지식 기술 중 하나로, 어떤 정보를 실제로 공개하지 않고 한 당사자가 다른 당사자에게 그 정보를 알고 있다는 것을 증명할 수 있는 암호학적 증명 시스템입니다. 간단히 말해, 여러분은 어떤 사실을 알고 있다는 것을 증명할 수 있지만 그 지식이 무엇인지는 실제로 공개하지 않을 수 있습니다. 이는 명제가 참임을 증명하는 증명서를 생성하여 명세 자체에 대한 세부 정보를 공개하지 않고 진행됩니다.
ZK-SNARK 기술을 활용하여 Tonic은 사용자에게 안전한 자금 이체 방법을 제공합니다. UX 친화적인 프론트엔드의 도움으로, 세 가지 간단한 단계를 용이하게 수행하여 원하는 수준의 개인 정보 보호를 달성할 수 있습니다:
🛫 입금: 토큰을 입금하려면 사용자는 토닉 스마트 계약에 임의로 생성된 키(노트라고도 함)의 해시를 제출합니다. 이 노트는 입금한 토큰의 가치를 나타내며, 거래를 확인하는 데 사용됩니다. 그런 다음 토큰은 스마트 계약에 잠금 처리되어 인출할 때까지 사용되지 않고 전송되지 않도록 보장됩니다. 물론 프론트엔드에서 키를 생성하고 해싱하는 것을 직접 처리해드리므로 사용자는 그저 트랜잭션을 확인하고 서명하기만 하면 됩니다!
🕰️ 대기: 사용자는 토큰을 인출하기 전에 일정 기간을 대기함으로써 안전성을 높일 수 있습니다. 이 대기 기간은 사용자가 블록체인에서 다른 거래와 연결되거나 추적되지 않도록 보장하기 위해서 필요합니다. 토큰이 충분히 섞일 시간이 필요하기 때문이죠.
🛬 인출: 사용자가 토큰을 인출할 준비가 되면, 초기 제출한 원래 키(노트)를 제공합니다. 이것을 증명이라고 합니다. 컨트랙트에 의해 증명이 검증되면, 토큰은 트랜잭션에서 지정된 수취인(_recipient
)에게 보내집니다.
스마트 컨트랙트 레벨에서 정확히 어떤 과정을 거치는지 궁금하다면, Protocol Flow (플로우 차트) 페이지를 참고하실 수 있습니다.
사용자가 Tonic에서 인출 트랜잭션을 시작할 때, 네트워크의 네이티브 토큰을 사용하여 수수료를 지불해야 합니다. 그러나 사용자의 네이티브 토큰 잔액이 수수료를 지불하기에 충분하지 않은 경우, Tonic은 자동으로 팀이 관리하는 릴레이어를 사용하여 수수료를 대신 지불합니다. 이렇게 하면 사용자는 계정과 거래를 제어하면서 트랜잭션 수수료를 제3자에게 위임할 수 있습니다.
수수료 대납을 위해 릴레이어를 사용하는 주요 이유 중 하나는 독싱(doxing)을 방지하기 위함입니다. 토닉을 사용해서 자금이 옮겨지는 새로운 지갑이 해당 수수료로 사용될 네이티브 토큰을 수급하는 과정에서, 자금의 흐름이 다시 추적될 수 있기 때 따라서 사용자는 거래 수수료 지불 책임을 제3자 릴레이어에게 위임함으로써 이러한 위험을 피할 수 있습니다.
현재 토닉이 제공하는 모든 릴레이어 지갑은 팀이 관리하고 있습니다. 그렇기 때문에, 별도의 릴레이어 수수료는 부과되지 않고 있습니다.