Inspiration

  • ZK stuff

What it does

  • In the international travel scean, an international traveler would submit and show their passport at the border control at the airport in order for a border protection officer to be able to check their travel history and so on.

    • At this point, the border protection officer would require the international traveler to submit and show their passport. (At this point, If an interanational traveler had stayed in certain countries for a long time beyond the days limit of that these international traveler can stay the country, the border protection officer may refuse that the international traveler enter their country)
    • However, some of information-written in the passport may not be needed for the border protection officer to check the international traveler's travel history and so on.


  • This project ("ZK Travel History Management System") can solve this problem by using combination of the ZK (Zero-Knowledge) circuit and the Smart Contract on Blockchain.

    • 1/ Everytime an international traveler would depart from an airport in abroad, the international traveler would generate a travel history ZK proof, which includes information of a country they stayed and an enter/exit date of the country, via the ZK circuit.
    • 2/ When an international traveler would arrived at an airport in abroad and come to the checkpoint of the border control, the international traveler would submit the travel history ZK proof, which was generated when the step 1/, to the TravelHistoryManager contract (TravelHistoryManager.sol) - instead of submitting their passport to the border protection officer.
    • 3/ The border protection officer can validate whether or not the travel history of the international traveler has no problem without seeing all data from the passport. Also, the international traveler can efficiently be approved without revealing all data by submitting the passport.

How we built it

Tech Stack:

  • ZK circuit: Written in Noir powered by Aztec)
  • Smart Contract: Written in Solidity (Framework: Foundry)
  • Blockchain: Electroneum (Testnet)

Challenges we ran into

Implementing and integrating a ZK circuit in Noir (powered by Aztec) with a smart contract in Solidity.

Accomplishments that we're proud of

  • Successfully implement and integrate a ZK circuit in Noir with a smart contract in Solidity.

What we learned

  • How to implement and integrate a ZK circuit in Noir (powered by Aztec) with a smart contract in Solidity.
  • How to implement a smart contract on Electroneum.

What's next for ZK Travel History Management System (Noir based ZK circuit)

Built With

Share this project:

Updates