Blog

Docker smart contracts: from abstract to real-world application

You may have questions after this brief summary, so we will try to cover some of the most obvious ones in advance:

  • How fast is the application compared to centralized systems? The solution is a little slower, due to the need to record data to the blockchain to provide security guarantees. However, in everyday use this speed difference is barely noticeable. Because we show a real-time stream from the camera, the only point at which there is a minor lag is the attendance list. Even in the worst case, it takes 15 seconds to update (assuming we specify a 15-second block time in settings, which is reasonable for a private network).
  • How many people can I add to the system? Is there a performance drop with a large list? You can store as much information as the machine running your node can hold. Comparing images in our application takes O(n) for now, but in the future, we plan to add image similarity metrics to speed up the process. We have tested the current application with up to 100,000 faces and had no issue with performance.
  • What is the quality of recognition? Is this impacted by the use of blockchain? The quality of recognition is not affected by the use of blockchain in any way. According to the documentation for the library we used, “The model has an accuracy of 99.38% on the Labeled Faces in the Wild benchmark”. From an everyday point of view, sometimes the application does not recognize employees, but this is generally for particular reasons (for example, they are wearing sunglasses). In this instance, we store unrecognized images on the blockchain.

So that’s it: a Web3.0 remake of a traditional system, which has greater reliability and security guarantees than its centralized counterpart. As you can imagine, there are many more examples of how to use blockchain to benefit your business applications, so why not try some out?