ZkSNARK implementation

why there is no discussion on implementation of zero knowledge proof schemes in order to make the true objectives ( i.e scalablity and highly secure ) a reality . i have written a descriptive note about this on github issues (https://github.com/libra/libra/issues/128) but with no avail. as being researcher in this field , we need to ensure the complete anonymity on personal data ( like wallet addresses / personal information) which can be used to detect the behaviour . also STARK , AZTEC , Hyrax , Zcash etc protocols are giving good result on the testNet and have removed the issue of high gas costs. i am happy to collaborate on this topic with anyone and will commit to the project in coming weeks. as its super hard algebra and Crypto , i need some guidance in this field.

2 Likes

Hi @LesInformidables,

Thanks for the feedback. You may be delighted to hear that we do in fact have a team of cryptographers who have experience in the field of zero knowledge proofs through prior research endeavors.

At this point in time however, we are exploring more pressing items in cryptography that are required to secure the Libra ecosystem and Calibra.

If you have specific items/use cases you would like to discuss with regards to Libra, please feel free to provide documentation or share your thoughts. We have plenty of people here who could take a look and provide guidance if you were able to articulate the items where you need guidance.

If you would like to learn more about the details of zkSNARKs and the Groth16 zkSNARK construction, I would suggest to study the the bellman crate (https://github[dot]com/zkcrypto/bellman).

If you are looking for the underlying algebraic constructions of pairing operations over pairing-friendly curves constructed via field extensions, I would suggest to study the pairing crate (https://github[dot]com/zkcrypto/pairing).

thanks for your reply and good links . but seeing in the research paper about how you will be maintaining the distributed DB of Txns on merkle tree is not much scalable approach as it . also there is not clear mention about the economics of maintaining the network and incentives and the further possiblity of interoperabiliy with other Functional based blockchain systems like Tezos , ethereum etc. in case you can articulate on that . and sure i will try to make a good EIP style documentation for Libra core improvements . thanks

The items you mentioned are not related to zero knowledge proofs. I work on the research team and therefore, I can only speak to the cryptography and (in some cases) interactions with move. Our storage team has been thoroughly analyzing the impact of our authenticated data structures at heavy load and our economics team has been working tirelessly to analyze the monetary and economic incentives for Libra.

Interoperability with other blockchains like Tezos and Ethereum is fully possible. We provided a set of 4 different hash functions: sha256, keccak256, ripemd160 and sha3_256 for that specific purpose. As long as a blockchain supports one of those three hash functions, you will be able to build interoperable systems that bridge the link between Libra and Insert Blockchain here.

Hope this helps.

Link to the hash module in move

https://github[dot]com/libra/libra/blob/master/language/stdlib/modules/hash.mvir