DOCS
how the press actually works. print proofs, verify them, watch them bleed across chains, all live.
01 / The Circuit
Each ZineFHE issue is forged through a PLONK-style ZK circuit. Private inputs are the raw content, the author's signing key, and the entropy used for the commitment. Public inputs are the issue number, author hash, chain of record, and the commitment itself. The circuit asserts that the content hashes to the commitment and that the author's signature is valid.
private: content, author_key, entropy
public: issue_id, author_hash, chain_id, commitment
constraints:
hash(content, entropy) == commitment
verify_sig(author_key, author_hash) == true
outputs:
proof: bytes (~256 B), public_inputs: felt[4]
02 / Light Clients
A ZK light client is a contract on chain B that verifies a ZK proof of chain A's consensus. Instead of trusting a bridge committee, the destination chain runs the verifier function against a proof of the source chain's header. If the math says yes, chain B knows what chain A knows. We operate light clients in every supported direction, so issues printed on any origin chain can bleed to every other chain independently.
Verifier gas is on the order of 230k -- cheap enough to run on every block, expensive enough to frustrate junk. No signer set, no multisig. The security model collapses to "can a ZK proof lie about the source chain's consensus", and the answer is no unless the source chain itself is broken.
03 / Interactive: Print a Proof
Run the press yourself. Fill the content, hit Print. The backend simulator returns a proof bundle identical in shape to what you'd get on mainnet. Then verify it, then watch it propagate.
04 / Subscribe
Connect a wallet to claim your subscriber issue NFT. The issue number is derived from your wallet address through the same circuit. New issues bleed to every chain the subscription has touched.