PikaPay allows companies to optimize their on-chain payroll processes while safeguarding sensitive information. Utilizing attestations, it effectively tracks legitimate funds within a secure mixer pool. This approach facilitates seamless payroll transfers and gives employees the option to verify their funds’ source when regulatory scrutiny arises. When fund provenance is not an issue, PikaPay prioritizes privacy, enabling employees to receive payments without disclosing unnecessary details. This dual functionality positions PikaPay as a robust solution for modern payroll needs on the BTTC chain.
Project Goal :
The goal of PikaPay is to enable companies to securely pay employees on-chain while keeping transaction details private. By using attestations and a mixer pool, legitimate funds can be verified when needed, while maintaining privacy when the source of funds isn’t required. This ensures both transparency and privacy as needed.
Project Value
Integrating PikaPay with blockchain technology offers numerous benefits, including enhanced privacy through zero-knowledge proofs, greater transparency in fund tracking, and compliance with regulatory requirements. This ensures that both employers and employees can transact with confidence, knowing that fund legitimacy can be proven when necessary, all while protecting sensitive information.
Working of PikaPay
The PikaPay contract facilitates batch-based tokenized attestations on BTTC, allowing batch owners (employers) to pay their employees on-chain privately . Here’s how it works:
Batch Creation: An employer deposits tokens to create a batch with an attestation (metadata) describing the source and purpose of the funds. The deposited tokens are represented by a fractionalized token contract.
Ownership Transfer: The contract allows owners to internally transfer beneficial ownership using ZKPs to privately validate the balance and update commitments on-chain, thus ensuring privacy without revealing exact amounts or addresses publicly.
Withdrawals: Beneficiaries can withdraw tokens either with or without attestation. If withdrawn with attestation, the withdrawal event includes metadata. If they want to remain anonymous, they can withdraw the funds without revealing the related attestation
Finalization and Updates: Once all tokens in a specific group or batch are withdrawn, the batch is finalized. Batch owners can also update the attestation details, as long as the batch isn’t finalized.
Additional transfers The beneficiaries who has received the fund can perform as many additional beneficial rights transfers as they want within the mixer pool.
Project Test Instructions:
Prerequisites
Wallet Setup: Ensure you have a wallet that supports BTTC testnet and has some USDT (0x48db5c1155836dE945fB82b6A9CF82D91AC21f16) for testing. Ping me i will send you some USDT for testing
Steps:
1. Deposit Payroll Funds:
Log in to PikaPay on the BTTC testnet.
Fill the required field and then click on the deposit button to deposit your USDT into the mixer pool.
During the deposit process, sign an attestation . (this Include details about the source and purpose of the funds) , approve your tokens and confirm the transaction .
Go the transaction logs and ensure the batchId of the deposit, you will get batchId on alert message.
2. Transfer Beneficial Rights:
Fill the required fields like BatchId , amount and recipient address and click on the transfer button , (this will transfer portions of your beneficial rights both USDT and fractional attestation tokens to the intended recipient)
3. Withdraw Funds:
When ready to withdraw, beneficiaries can choose between:
Attested Withdrawal: Fill the required fields like batchId and amount of funds, to request an attested withdrawal verifying the source of the funds…
Anonymous Withdrawal: You can also withdraw privately without revealing the actual attestation.
Smart Contract links:
Project Milestones:
(Done) Milestone 1: Core Functionality Development (Days 1-5)
Develop smart contracts for payroll transactions.
Integrate the Ethereum Attestation Service and implement the mixer pool.
Deploy smart contracts and functional payroll pool.
(Done) Milestone 2: User Interface and Testing (Days 5-10)
Create a user-friendly frontend .
Connect the frontend to smart contracts and conduct usability testing.
(In Progress) Milestone 3: Implementing Zkp function (Days 10-15)
To implement zero knowledge proof privacy feature that will allow user to transfer the beneficiary right of the funds into mixing pool , also deploy the app on BTTC mainnet.
If I am correct, this is your second project submission in this hackaTron S7 and you are running the two projects in solo?
How will you ensure the smooth running of these projects post hackathon. Or are they going to be dumbed after the hackathon?
Welcome to hackathon S7
Knowing that security and privacy is very important in our activity, what steps have you put in place in ensuring that important information and payment are well secured from hackers.
What measures have you put in place to prevent unauthorized person from gaining access or manipulate the system.
Yep, you got it! Its my second submission for HackaTron S7, and I’m flying solo.
Don’t worry, I won’t let them gather dust! I’ve got big plans post-hackathon. I’m all about user feedback and updates, so these projects are here to stay!
Integrating PikaPay with blockchain technology enhances privacy and transparency in several ways:
Privacy Through Zero-Knowledge Proofs: Employees can receive payments without revealing sensitive information, ensuring their financial details remain confidential.
Transparent Fund Tracking: Blockchain provides a transparent ledger that tracks transactions, allowing both employers and employees to verify fund legitimacy without compromising privacy.
Attestation Mechanism: By using attestations, PikaPay can confirm the source of funds when needed, ensuring compliance without exposing unnecessary details.
Step-by-Step Explanation of pikapay working through example :
1. Employer Sets Up:
Example: The organization, Tron Dao Forum, wants to pay its employees through PikaPay.
Tron Dao Forum logs into PikaPay on the BTTC testnet and ensures it has some USDT for payroll.
2. Depositing Payroll Funds:
Tron Dao Forum fills in details about the funds, like the purpose (employee salaries) and their organization name.
They deposit the USDT into a mixer pool.
During the deposit, they create an attestation (a digital note) that explains the source and purpose of the funds.
3. Minting Fractional Attestation Tokens:
After depositing, a special token called a fractional attestation token is automatically created.
If Tron Dao Forum deposited 1,000 USDT, they receive 1,000 fractional tokens.
4. Transferring Beneficial Rights:
Tron Dao Forum goes to their transaction logs and finds the batch ID for their deposit.
They fill in the necessary fields to transfer portions of their rights to their employees (e.g., Employee A gets rights to 100 USDT and its corresponding fractional tokens).
This transfer keeps details private, thanks to zkp.
Employees like Employee A can also choose to transfer their beneficial rights to other employees if needed within the mixer pool.
5. Withdrawing Funds:
When employees want to take their money out, they have two options (though currently, only one is available):
Attested Withdrawal: They can request to withdraw USDT and receive their fractional tokens, proving the source of the funds.
Anonymous Withdrawal: (Not available right now) They could withdraw their amount privately without revealing the attestation ( This feature is currently under development ) .
Example in Action
Tron Dao Forum deposits 1,000 USDT into PikaPay.
An attestation is created to show the funds are for salaries.
They receive 1,000 fractional tokens for the deposit.
Employee A gets rights to 100 USDT and corresponding tokens.
When ready to withdraw, Employee A can request an attested withdrawal to receive the tokens and prove where the funds came from , or they can choose to withdraw it anonymously.
Key Features
Privacy: Employees can receive payments without revealing sensitive details.
Transparency: The system allows employers to prove fund legitimacy if needed.
Compliance: Helps meet regulatory requirements while keeping transactions confidential.
@ferrari
I have received the USDT, thanks, but I’m encountering an issue when trying to deposit during testing. It appears that the transaction cannot estimate gas properly, which might be due to insufficient error handling in the smart contract. The error message reads: ‘Error depositing funds: Cannot estimate gas; transaction may fail or manual gas limit adjustment may be required.’ The reason provided is ‘execution reverted’. It looks like the smart contract needs improvements in handling errors for this scenario.