Sikoba October 2020 — Update
This month, we have released the Sikoba web interface for public beta testing, made good progress on our blockchain layer and started developing the BekiPay app. We also held a meetup on “Blockchain, zero-knowledge proofs and e-voting.”
Sikoba platform progress report
While no new releases were made this month, development of the Sikoba platform has been progressing nicely. We have added support for private and business accounts, bank account data, and we have also re-worked the internal representation of the currency model. With this, we are able to limit available currencies per various factors, both generic, such as geo-location, or other custom conditions. We are also finishing the implementation of contexts, which will allow the Sikoba platform to support different sub-groups within the system, with slightly different views of the interface for each group.
Sikoba web interface released
We have finally released the Sikoba web interface for public beta testing. The web app is communicating with our beta testing backend so that users can log in and test all available functionality.
Development of BekiPay has begun
We have started development of BekiPay, the co-branded mobile application for the Beki local currency. This app will run on the Sikoba back-end and include some very specific features. For example, De Kär, the operator of the Beki, will be able to individually accept or reject requests for users to use the e-Beki. This is because of regulatory requirements, which limit the use of the Beki in a strictly delimited geographical area.
Achieving Trust and Confidentiality via Anchoring
Trust and transparency is a very important topic in the digital era, and even more for applications dealing with financial data, such as Sikoba. The traditional way to deal with those is to use a regulatory approach, where the processes are audited and validated by trusted and legally liable external parties. However, Bitcoin is a successful example of an alternative way to bring confidence, using collaboration of multiple peers rather than relying on a central authority.
At Sikoba we do believe in such decentralized protocol, aka the blockchain, but because SikobaPay also involves trust between people, the kind of data users generate is highly confidential and we do not want to use a public blockchain for this. The way we architecture our solution is through a consortium blockchain that will be run by trusted nodes coming from Sikoba, renowned institutions and close partners. Some may ask what is the point to use a private blockchain? Well, we do want to benefit from security properties induced by a blockchain. For instance, having several nodes running the protocol makes us crash-fault tolerant, resistant to DDOS attacks and so on. Because we use a BFT (byzantine fault-tolerant) consensus model, a malicious node will not be able to harm the network and in any case user transactions are digitally signed by the user so nobody can tamper data entering the system, in other words, nobody is able to steal money.
These are properties that are very useful for us, but how can we convince our users that they also can trust the system?
Our answer is through anchoring on a public blockchain and to this end, we will soon announce a partnership with a well-known public blockchain. We are going to publish the state of our system in a public immutable ledger, and we will be able to publicly prove, using zero-knowledge proofs, that we are using a blockchain to store user transactions. Furthermore, every user will also be able to get proof that his transactions are properly registered in the Sikoba blockchain.
Progress on the Sikoba blockchain layer
We have built our blockchain layer using the Babble blockchain middleware. Babble provides a powerful consensus inspired by Hashgraph, but with additional features. The collaboration with the Babble team and Martin Arrivets is going great and they recently added a timestamp coming from the consensus for the blocks, following our request. We will start testing our blockchain layer in November.
In order to produce effective proofs of blocks and transactions, we looked at zero-knowledge-friendly alternatives for the hash function to use when constructing the blocks. As a result, we have implemented Poseidon Hash with the help of Markus Schofnegger (from Graz University of Technology), one of the authors of Poseidon. We are very grateful for his support! Next month, we are going to evaluate the performance of our implementation.
“Blockchain, zero-knowledge proofs and e-voting” meetup
On 29th October, we hosted an online meetup about blockchain, zero-knowledge proofs and e-voting. Sikoba’s CTO Guillaume Drevon first provided an introduction to zero-knowledge proofs, then presented the itugen project (http://www.itugen.com) and showed how secure yet transparent e-voting systems can be constructed using modern cryptography, ZKP and blockchain.