Sikoba Research

This is a public archive of some previous work in:

Consensus Protocols
Blockchain / Distributed systems 
Zero-knowledge proofs


By relaxing fault tolerance thresholds, both for the number of crash-prone and Byzantine nodes, and simultaneously waiting for more than the canonical $n - t$ messages from other nodes before proceeding, one-step consensus can be obtained more often under favourable circumstances.

This is an introduction to consensus in asynchronous environments. It provides some historical background, shows how common coins can be implemented using threshold cryptography and introduces basic consensus mechanics. A recent protocol by Tyler Crain is then explained in detail, and it is also shown under which conditions the Adversary would be able to break the protocol. This paper also shows that Crain's protocol can be easily adapted to the weakly Byzantine setting, where only a subset of faulty nodes are Byzantine.

Compiling programs for integration with multiple ZKP systems - G. Drevon - Feb 2020  
Generating a zero-knowledge proof of the execution of a software program is a task that has been solved in theory many years ago, but in practice many hurdles remain to be overcome. In this paper, we explore the results of our work trying to solve this problem in the most generic way, using the isekai verifiable computation framework. In addition to the issues we have faced, we also show some optimizations that we found along the way and demonstrate how we used our project to benchmark several zero-knowledge proofs systems.

Itugen: Transparent and Anonymous voting without Tallying Authorities - G. Drevon, V. Iovino, A. Kampa - Dec 2019 
We propose itugen, a new verifiable e-voting system that enjoys very strong security guarantees. Our scheme strictly divides ballot allocation from voting, and the voting system ensures both privacy and verifiability. Authorities are trusted only to guarantee the validity and independence of the ballots but cannot break the privacy of any individual voter or subvert the result of the election even if they collude.

Benchmarking Zero-Knowledge Proofs with isekai - G. Drevon, A. Kampa - Dec 2019
We present the results of a benchmarking exercise for five ZK proof systems sup-
ported by the isekai verifiable computation framework. Because identical arithmetical
circuits are used, a direct comparison becomes possible. Results are provided for three
types of computations: dynamic memory access, array sorting and sha256 hashing.

Overview of open source libraries for Fully Homomorphic Encryption - O. Amine - Sep 2019
This report focuses on currently available libraries for F/HE. It describes their building blocks, how these blocks contribute to the implementation of the F/HE schemes in question and the external libraries on which they depend."

By spawning multiple Single-Sender consensus processes, and introducing the concept of proof to prevent premature timeout messages from Byzantine nodes, we achieve efficient consensus that is very fast under favourable circumstances.

Constitution of the Fantom Network and Governance of the Fantom Network - A. Kampa, with A. Cronje, M. Kong, Q. Nguyen and G. Samman - Aug 2019
Fantom is designed to be a high-performance public blockchain. The Governance document presents the principles, bodies and rules on which the governance of the Fantom blockchain will be based,  in application of the general aims and principles set out in the Constitution.
This paper introduces Least-Resistance Consensus (LRC), a cardinal voting system which focuses entirely on measuring resistance rather than acceptance.

Zero knowledge for computations with RAM - D. Khovratovich - Jul 2019
This paper provides a complete model for dynamic memory and code access used in TinyRAM.
The model can be viewed as modelling the internal logic of a RISC CPU with extra logic that
verifies the consistency of memory and code retrievals.

Bulletproofs - D. Khovratovich - May 2019
We provide the first succinct and complete description of the Bulletproofs zero-knowledge proof system, as well as instructions how to create such proofs using public libraries.

R1CS (rank-1 constraint systems) define a set of bi-linear equations which serve as constraints suitable for ZK proofs. This paper presents J-R1CS, a simple and lightweight JSON Lines format dedicated to R1CS. It was proposed at the 2nd ZKProof workshop as a community standard (presentation in pdf)

Under some conditions, binary asynchronous Byzantine consensus can be reached in a single communication step. This paper show how these conditions can be relaxed when only a subset of faulty nodes is Byzantine.

Verifiable Databases - D. Khovratovich - Dec 2018
An overview of current approaches for verifiable database interactions. When only queries are involved, the solutions only need to prove authenticity. With updates, computations integrity must be proven.

State of the Art in Verifiable Computation - D. Khovratovich - Dec 2018
This paper presents a detailed overview of current approaches used: Interactive Proofs, Homomorphic public-key cryptosystems, Discrete logarithm problem, MPC derivative and Incrementally Verifiable Computation. The properties of existing implementations are discussed and their performances compared based on available benchmarks.

Exploring Pairing-Based Cryptography - S. Vincent - Dec 2018
One of the key cryptographic primitives behind various constructions, including privacy-preserving authentication, short signature schemes, and zero-knowledge proofs is the bilinear mapping technique that uses pairings over elliptic curves. Initially used in cryptography to break the discrete logarithm problem in a group of points of some elliptic curves, pairings are now considered to be one of the most suitable mathematical tools to design secure and efficient cryptographic protocols. 

Non-interactive zero-knowledge proofs (NIZKPs) are an essential element for providing security, confidentiality and privacy on public smart contract platforms. After introducing the necessary background on circuit representation, a description of a C-to-arithmetic-circuit compiler is provided. Finally, two NIZP systems based on different cryptographic assumptions are presented.


The goal of isekai was to make zero-knowledge proofs accessible to mainstream programmers. An archive is available at


We released isekai 1.0 on 8 November 2019. This article focuses on the current status and supported language features. Read more...


This post discusses potential applications of isekai to various blockchains. Read more...


We have done a benchmark, comparing 5 proof schemes using identical arithmetic circuits. Read more...

ZKLux - Luxembourg Zero Knowledge Days

On 26-27 June 2019 we hosted ZKLux#1, Luxembourg's first conference specifically dedicated to zero knowledge proofs.


"Sikoba Research" is a project of Sikoba Ltd.



Made with ‌

Landing Page Software