I am tasked with creating a private testnet that supports encrypted transactions, using fully homomorphic encryption. I'm trying to modify a validator so that transactions can accept a different format (say, instead of amount: integer, something like amount: string where the string is a ciphertext). Then, the validator would execute an FHE program taking in ciphertext inputs, and outputting new ciphertexts (maybe the new account balances?)

But is this even valid for a sidechain? Is the amount: integer fundamental to ethereum accounts? Would I have to add some new field that's tracked on each account? How do you do this? What resources are out there for modifying the behavior of Ethereum validators and EVM state?

1 Answer 1


Hi Developer advocate from Chainstack here.

I have written a blog about how Ethereum private key works, I hope it can help you with your project: How do Ethereum and Solana generate public and private keys

In short, a validator's main purpose is to verify the authenticity of a transaction, instead of encryption. In fact, tx encryption is never part of a blockchain, all transactions are publicly viewable by anyone.

I think you can spend a little bit more time on end-to-end encryption, that is how to use a receiver account's public key to encrypt a message and decrypt it with the receiver account's private key. I have come across some open-source project which does this, for example. Please use it with care as I have never personally audited the source code.

Hope it helps, happy coding!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.