Greetings everyone! I’m here to share an early update on our journey to building an exciting application that we believe is going to solve an age-old and obvious problem of document signing. Document signing is an integral part of most of the process for individual or organization as long as there is a party and a document. Our solution is very intuitive, but under the hood, we make use of technologies that make it possible to build an interoperable, scalable, and future-proof application. And by the way, we are calling the application “Signchain” 📝
Ah! Now let’s take a step back from the serious talk and let me tell you where it all started why did we even build Signchain?
We have been working on a dispute resolution platform to solve some of the issues in the conventional arbitration procedures. Evidently, we had to deal with large set of legal agreements, documents, and hearing statements. A couple of common requirements for all these documents were maintaining confidentiality and verifiability of document/ user authenticity. There was no readily available tool or platforms that we could easily integrate here. That’s when we started to visualize a platform that could act as a document signing network and could interoperate with other platforms as well irrestpective of what network or server the application is resided in.
The more time we spent on architecting the idea, the more we got convinced that such a platform could serve any organization or individual that needs a stadardized electronic signing and confidential data sharing solution. This is when we agreed on building this on open standards achieving much more interoperability and reach.
Our first proof of concept at ETHOnline
When we wanted to work on our implementation, we came across ETHOnline and we thought what better place to start than a hackathon. There are always perks of building something new in a hackathon. It introduces us to the latest dev tools, protocols, infrastructure, and much more. More importantly, it pushes us to deliver a minimal viable product/ concept in a short period.
We went to our Trello board and started populating all the modules, design, integration tasks after listing out all the features of Signchain that we wanted to build for the 3-week hackathon.
The list of features that we wanted to build was:
- Confidential document sharing with end-to-end encryption.
- Storing signatures proofs for each document
- An incentivization flow for entities such as notaries
- User identity and credential verification with DIDs
We considered this as our early roadmap. We decided on our tools, technologies, created our mockups, architected contracts, and got to work. We ended up selecting a few protocols and technologies.
- Ceramic network and IDX library for managing identities and credentials
- Textile buckets and Filecoin for data storage and archival
And obviously, we deployed our document and signatures verification and notary incentivization logic on Ethereum blockchain.
We had previously worked on IPFS data storage network and we were exploring Ceramic network much before the hackathon, so we were confortable and was a no brainer integration as these were the integral pieces of our project. We were even more thrilled to find out that both Ceramic and Protocol labs were the sponsors of the hackathon as we could also get any sort of support during our implmentation.
What did we accomplish in the hackathon?
During the course of the hackathon we created a basic platform where users could share the document privately with other counterparties that need access and sign the document. Whenever any party signs on the document, the proofs (standard digitally signed data) are recorded. The proofs of the signatures can be verified by anyone on the platform while only certain parties will have access to the document. The identity of all the parties can also be verified as the credentials are maintained using decentralized identity standards.
We achieved document confidentiality with end-to-end encryption with a custom-built flow with PKI and symmetric key standards. We integrated the flow with contracts and decentralized storage (IPFS) with the help of Fleek and Filecoin slate so that any document and proofs can be shared publicly but decrypted only by counterparties in the platform.
By the end of the hackathon we were able to build our MVP and integrate most of the technologies that we had planned. After the submission, we received a great set of comments and feedback. That boosted our confidence in our implementation and a showed a path to take this project to the higher grounds. In addition to this, we won a couple of sponsor prizes from Ceramic and Protocol Labs team. This was definitely a cherry on top and who doesn’t love that :P? You can check our hackathon submission here. And here is the submission video with a quick demo.
What is next for Signchain?
Hackathon implementation was a great start for Signchain, but the real implementation has just begun 🚀 . We feel that the technologies that we are working on such as Textile buckets, threadDb, Filecoin, Ceramic IDX has a greater role to play in the longterm vision of the project and we want to get our integrations right. And we look forward to working closely with all these teams who are building some exciting stuffs for decentralized storage and identity 💪. So, we have listed out all the things that we did right and wrong and rearchitected our solution. We will talk about this in a future blog post. Here is a rough development roadmap that we have planned.
The thing that we are more excited about is integrating Signchain platform to Arbchain (decentralized arbitration platform) and making it interoperability between enterprise and public blockchain network. We believe that there is no boundary when it comes to decentralization as long as we meet all the necessary requirements for our customers.
I hope that you all are excited like we are to see where this project is headed to achieve an open, interoperable yet a secure digital signing platform. We are just getting started and we would love to receive contributions in whatever way possible. You can always contribute to our project at GitHub or reachout to us via Twitter, Discord server or even the old fashioned email. You will soon hear some exciting stuffs from us, until then take care 👋