Help Ukrainian Ukraine economy and refugees by hiring Ukrainian Software Developers - we donate a lot to charities and volunteer foundations

Ukraine

Enterprise Blockchain for SmartCities

Enterprise Blockchain for SmartCities
Table of Contents

    What is SmartCity?

    At the end of the 21st century, Bob and Lucy live in a city fully controlled by artificial intelligence (AI). They get access to city services based on their digital identities. Most industries are robotized as well as everyday human life. The highest social status is gained by the citizens who research new technologies design or update the existing ones. People with a lower social status serve the needs of robots where they fail to serve themselves. And in the worst case, you need to compete for a job with robots in industries which are fully or partially automated. The original idea behind AI has never been implemented. And moreover - it has been proven that the term “artificial” became obsolete itself.

    Do you think Lucy and Bob look too futuristic? Well, google for some real-life SmartCity use cases. Or watch the Elysium movie to get an idea.

    In short, a SmartCity - is a combination of several technologies that automate many aspects of everyday life and work in a city.

    How is infrastructure controlled?

    software-development-for-smart-cities

    To automate a process in a city, one needs to produce a lot of devices, cars, sensors, analytical and automation tools to integrate them into the city infrastructure. Then the whole private sector of the economy needs integrating into a system which is as unified as possible. And we have not yet mentioned the integration into the country’s economy, government, military, and global institutions. Moreover, we don’t even mention integrating cities into clusters which communicate with each other.

    Once the city processes are automated, we get a huge data volume coming from various devices and tools. And this data needs processing. But we won’t dive deep into the ways how this data can be processed. Instead, we’d like to discuss how this data can be stored for processing.

    We need a database to store the data coming from various parts of a SmartCity. Can we use a usual database for that? Let’s try to use the one, developed by the top database manufacturer and considered to suit enterprise-level needs. No wonder, a common solution won’t work because it is not decentralized enough to store considerable data volume in local shards and does not provide anti-counterfeiting data tools.

    Maybe NoSQL database? Will not work either. By the way, you may have probably noticed that the NoSQL trend hasn’t been growing for several years.

    A SmartCity has specific requirements for a database due to the nature of the phenomenon:

    • Decentralized. Because various SmartCity parts are spread all over the city and cannot rely on a single point of failure while processing data and making decisions. For example, you cannot let the emergency fire sensor wait until a central authority allows starting a water flow to stop the fire.

    • Fault-tolerant. The part of the system should be able to work independently, not relying on other components or relying only on minimum required elements.

    • BigData. This is quite obvious. Just the ability to keep and process the whole bunch of data coming from all the SmartCity parts.

    • Counterfeit protection. What if a citizen takes control over a city sensor and produces a bunch of false data which AI will use to make decisions on how to control some part of the city? Especially if the counterfeit happened before.

    This is probably why a software giant such as IBM works on producing the next generation of databases. Like HyperLedger Fabric. Such databases are neither called “relational”, nor “NoSQL”. They are called  “distributed ledgers”. Also please note, that a distributed ledger does not necessarily require blockchain although most often they have one.

    Blockchain as a SmartCity software design pattern

    blockchain-for-smartcities

    So, we know which databases are good enough for a SmartCity. But what is Blockchain and why do we need one for smart cities?

    Let’s go back to what we consider the history of the earliest Blockchain-related publications:

    “One way to establish the identity of the nodes of the DHT is to use public key cryptography.”

    © (Distributed k-ary System: Algorithms for Distributed Hash Tables. ALI GHODSI).

    DHT is the Distributed Hash Table. Distributed Hash Tables are a bit older than Blockchain but describe the same concept. If we combine distributed hash tables with public key cryptography - we get the modern idea of Blockchain.

    PS: Great thanks to “The General” for insights on this idea above.

    Also, while looking for Satoshi Nakamoto remember to read all the research articles related to distributed hash tables.

    Therefore we got an answer to “What Blockchain is?”. But how is this related to smart cities?

    A distributed ledger (the database for a smart city component) needs a way to constrain data counterfeiting. Data should be stored with a timestamp, cryptographically secure - with no ability to publish false data or modify the existing data with no track of this modification. This is like a relational database integrity constraint (primary or foreign key) but serving to another purpose - to constrain data counterfeiting.

    So, Blockchain is just another kind of a database constraint which prevents counterfeit. And nothing more. Even Blockchain isn’t related to decentralization in any way since decentralization is another data property which can easily exist without Blockchain.

    What’s next?

    • More and more database engines will support Blockchain.

    • More databases will be created to cover SmartCity needs.

    • Finally, Blockchain will stop being a separate hype while becoming just an integrity constraint supported by specialized database engines.

    • And sure thing, someone may just as well come up with another technology for counterfeit prevention which isn’t related to Blockchain in any way.

    Why Zfort Group?

    smartcity-development-team

    • We’ve been successfully doing Blockchain software development for two years now.

    • And now we do SmartCities.

    SmartCities put people first, just as we do at Zfort Group. In the future, cities will be much more than concrete buildings and dusty parks. The Internet of Things is the technology to satisfy the advanced needs of modern citizens, and our expert team is ready to help both private and public companies build awesome products people will truly love.

    Just drop us a line to get the ball rolling!

     
    image description

    Roman Korzh

    VP of Development

    image description

    Anna Slipets

    Business Development Manger

    Let's Talk