v0.1.0-alpha.4
Pre-releaseHighlights
This release contains new features, performance optimizations, bugfixes and, of course, breaking changes!
Interactive Verifier
This release introduces support for directly proving the server identity to the MPC-TLS verifier and selective disclosure of the transcript. This configuration is important as it is the "trustless" variant of the protocol which does not rely on a third-party attestation (from a Notary).
Examples and additional documentation are coming soon™
Deferred Decryption
The new deferred decryption feature is one to take a look at. It is an optimization which can be activated when server response data can be decrypted after the TLS connection is closed. For example, you can activate it before sending a final HTTP request to the server, and it will defer decryption of the response.
The benefit of doing this is two-fold:
- It significantly reduces upload bandwidth utilization from the Prover to the Verifier
- It reduces CPU utilization for both parties.
Both of which can lead to large reductions in the total runtime of the protocol, particularly for a Prover with an asymmetric internet connection to the Verifier.
An example of how to use this feature is demonstrated in the twitter example.
This feature paves the way for massive performance increases in the future when we integrate VOLE-based interactive ZK proofs. Unlocking the ability to prove data on the order of megabytes.
Selective Disclosure API
This release provides a simplified API for selective disclosure of HTTP and JSON data. The previous release provided a rather clunky builder style API for generating commitments and proofs for both formats. The new commitment API is closer to a "visitor" style, and provides reasonable defaults that should cover most use-cases so you don't need to implement it yourself (unless you want to). For selective disclosure you get to work with the format types directly.
Check out the twitter example to see it in action.
What's Changed
Features
- Interactive verifier (#379) (#401)
- Tls-client backend buffer (#414)
- Deferred decryption (#416)
- Network simulation benches (#417)
- Default commit to entire http request/response (#433)
Performance
- Adjust mux config (#418)
Bug Fixes
Documentation
- Updated examples based on the Progcrypto workshop (#399)
- Add style guide (#411)
- Update Direction docs (#427)
- Remove dead argument docs (#429)
Refactor
- Use tls prf from tls-core in rc backend (#413)
- Add AEAD prove/verify + tag methods (#415)
- Tlsn-common mux module (#420)
- Selective disclosure api (#380)
- Update hyper and use http prover (#434)
Miscellaneous Tasks
- Clippy fix (#400)
New Contributors
- @ntampakas made their first contribution in #419
Full Changelog: v0.1.0-alpha.3...v0.1.0-alpha.4