project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

ETaxAttestation

Using Ethereum Attestation Service (EAS) attestations to enable natural persons to prove their digital tax information to the federal tax administration as well as disclose information selectively to interested third parties.

ETaxAttestation

Created At

ETHGlobal Istanbul

Project Description

Natural persons in Switzerland can automatically fill their asset related tax information with the federal tax administration by uploading a PDF that follows the e-government standard ech-0196. The documents are produced by financial institutions or third party providers and distributed to the clients. Currently there is no way to verify that a specific document was really generated by a specific producer, that it has not been modified and that it is still valid. In addition, the document contains valuable data that the data owner might want to use (e.g. as proof of assets when applying for a loan).

This project aims to address these issues using the Ethereum Attestation Service. It allows the creators of these statements to generate on-chain attestations, enabling the federal tax authority to:

  • Confirm the document's origin from a financial institution.
  • Prove the document's integrity, ensuring it hasn't been altered.
  • Verify the document's current validity (as there are instances where statements for a specific period may be reissued, invalidating prior versions).

(TBD) It enables the statement owner to:

  • Selectively reveal and authenticate specific details from their statement (such as total assets or ownership of particular assets) to any interested third party, without disclosing the entire document.

How it's Made

The main component of the project is an Azure Functions (Serverless) backend in JS that (at this time) exposes 3 functionalities and publishes the attestations to the chain (currently Sepolia).

  • AttestStatement: Used by the producer of a statement to calculate the statement hash and create the onchain attestation using EAS. The attestation can be received either directly by the tax authority or by the statement owner
    • Input: PDF Document & Attestation Recipient Address
    • Effects: Creates onchain attestations using the EAS SDK
  • VerifyStatement: Used by the tax authority who received the statement to ensure that it has not been modified and i still valid.
    • Input: PDF Document
    • Effect: Queries the chain using GraphQL to check whether a currently valid attestation with the content hash of the PDF document exists
    • Returns: Status of the PDF
  • RevokeAttestation - Used by the producer of the statement in case that the statement becomes invalid due to a re-issuance.
    • Input: PDF Document OR AttestationUID
    • Effect: Revokes attestation validity onchain using the EAS SDK
  • (TBD) AttestStatementDetails: Used by the producer of the statement to create private data attestations for the sensitive details within a tax statement https://docs.attest.sh/docs/tutorials/private-data-attestations which are then handed out to the client.
  • (TBD) VerifyStatementDetails: Used by any third party recipient to verify claims based on the tax statement data provided by the client (data owner)
background image mobile

Join the mailing list

Get the latest news and updates