Introducing Hinkal

Hinkal
4 min readJan 17, 2023

--

What is Hinkal Protocol?

Welcome to our anonymous, well-secured world

In the modern world, more and more people are creating digital wallets, making transactions, and entering the crypto world, while most of them do not even have an idea of how big and immeasurable it is, while they are taking their first steps.

Everything on the blockchain is public, which brings an issue: confidential information cannot be handled by the blockchain. Anyone who knows that you own a particular address can quickly view your payments, trace the source of your funds, calculate your holdings, and analyze your on-chain activity. Scammers are everywhere and that’s a point.

Source: Federal Trade Commission

Hinkal Protocol applies zkSNARKs to enable the privacy of transactions. Furthermore, it brings safety to the users by requiring decentralized KYC — minimizing risks of being banned/sanctioned by government entities without revealing anyone’s personal information.

Important: Only the proof that the user passed KYC is stored on-chain (as a non-transferrable access token). The user’s PII is encrypted and stored in the KYC provider’s server for regulatory safety. KYC provider has no access to the user’s wallet address and Hinkal Protocol does not have access to the user’s PII.

How does Hinkal Protocol work?

Hinkal Protocol accepts ETH/ERC-20 tokens as deposits, which can be later privately transferred, swapped/staked, or withdrawn with no reference to the original address. Each user holds a shielded address where tokens are stored after depositing. Hinkal Protocol uses zkSNARK (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) to send private transactions. A user can generate a zkSNARK of the transaction without revealing key transaction parameters such as the origin/destination addresses or the amount of the transaction.

When a user decides to deposit funds in Hinkal Protocol

they are re-directed to the KYC aggregator aiPrise. aiPrise gives an identifier to the wallet and sends a request to the KYC provider (IDology, Veriff, ShuftiPro). The KYC provider collects PII, verifies the user, and issues proof that the user has passed KYC. After aiPrise sends the verification result to Hinkal Protocol, it is recorded as a non-transferrable access token in a smart contract (in case of successfully passing KYC). Only after obtaining an access token, the user can deposit funds.

Every time a user performs a transaction using Hinkal Protocol, the browser wallet computes a Zero Knowledge Proof (ZKP) and creates (or nullifies) a commitment. A commitment is a cryptographic primitive that allows a user to commit to a chosen value while keeping it hidden to others, with the ability to reveal the committed value later. Commitments are created and spent after deposits, transfers, and swaps. A Nullifier is the result of a combination of a commitment and the nullifier key. Once the nullifier is broadcasted on-chain, the commitment is considered spent. Commitments are stored in a Merkle Tree structure. The root of this Merkle Tree **is stored on-chain.

Hinkal Swaps are allowing users to swap ERC-20 tokens privately.

To achieve privacy, Hinkal uses relayers and Uniswap API. When a user wants to swap assets, he generates zk-proof that he is eligible to swap a given amount of the first asset in return for the incoming amount of the second asset.

Withdrawal of funds from the smart contract can be made in two different ways:

  1. To withdraw on their own, meaning that the connected withdrawing address has to pay a gas fee.
  2. Withdrawing using a Relayer. Suppose a wallet address is newly created and does not possess the required amount of funds to cover a gas fee associated with a withdrawal transaction. As in the first option, the user has to provide the recipient address, but no prior Ether balance is needed in that address, since the Relayer is incurring an associated gas fee. For the withdrawal service, the Relayer takes a fixed fee (0.3%) from the withdrawal amount.

About Hinkal Protocol:

Hinkal is a Private DeFi hub that enables low-cost, private trading and yield farming on your favorite dApps. Hinkal also offers an easy-to-integrate privacy SDK. The project was incubated at Stanford and Binance MVB accelerators.

Website | Twitter | Telegram | LinkedIn | Discord

--

--

Hinkal

Private transactions on your favorite dApps. Live on Eth, BNB, Polygon, Arbitrum, Avalanche and Optimism. DApps: Uniswap, Odos, 1inch, Curve, Convex, Beefy