How to democratize e-signature using blockchain technology

Digital signature — centralized vs. decentralized

  1. Such a service requires presenting public data and storing it on a centralized server. I won’t list private data leaks through various public services, of which there are more and more every year, but it could potentially be a problem
  2. If Alice or Bob regularly sign various documents with different people, they usually have to register with several services (and identify themselves with their private data everywhere) and pay each service. The problem is also that more often than not I have a mandatory payment for which I have to pay monthly or annually. I.e. if I have to sign two documents a year with a half-yearly interval, I actually have to pay for the whole year.
  1. To get a web electronic signature, just like in any similar centralized service. The only difference is that the private key is stored only with the user. Even if something happens to the infrastructure — no one will know the private key and private data of the user.
  2. Identify yourself publicly. And here is the main difference — the user does not save his personal data publicly in clear or even encrypted form. He saves a hash of this data. Thus, the only way to know what kind of data is stored publicly is if I know what kind of data it is.

Why side-chain is needed for this infrastructure

  • We decided not to use any of the public blockchain platforms in order not to be able to make the most convenient and specialized data storage structure. On the other hand, to ensure that this blockchain does not contain other “garbage” data.
  • Delegated Proof-of-Stake — three problems are solved by this type of consensus at once: energy efficiency, speed of validation of new blocks, ability to implement changes in the product network
  • A protocol that has been working for more than a year
  • Modules — It’s very cool that when developing a blockchain application, all functionality can be broken down into different modules. This is convenient both in terms of implementing functionality and providing access to data. In fact — each module has access only to a certain section and can’t affect others if the module doesn’t provide that functionality. This approach makes it possible both to safely manage the data model, and to introduce new functionality in new modules.
  • Blockchain application modules and transactions code can be written in JS or TS — this is important from the point of view that any developer can actually check the logic of the whole application and make sure the whole infrastructure works. No need to hire additional highly specialized specialists to make sure the logic works exactly as stated, which is very important in public decentralized solutions.
  • Excellent documentation and SDK, which not only allows using the basic principles of blockchain, but provides a set of additional libraries — from cryptography to a out-of-the-box client for building a front end.
  • Possibility to implement your own off-chain logic with plugins — for example we needed to implement our own storage for transactions (out of the box you can’t find all transactions, which were made by one account) — implementation of such module took us only one week. And at the same time, for those network members who don’t want to give such an API — such a plugin is not necessary.
  • On-chain logic in the form of transactions — this is the main thing in our opinion (that’s why we choose Lisk SDK). In case we change smart contract logic (without changing data structure) — it’s enough to implement new logic at transaction level and it will immediately apply to the whole side-chain. If we did the same thing on Ethereum, for example, we would have to implement the logic of those smart contracts for each account and control versioning and integrity.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store