⬆️ ⬇️

What is Cordentity? [Translation of the article]

Cordentity is a Corda application (CorDapp) that allows Self Sovereign Identity (SSI) to take advantage of other CorDapps. In other words, Cordentity = Corda + Identity.



We are pleased to announce that Cordentity is now an open source Hyperledger Labs project.



We developed Cordentity to bring SSI capabilities to Corda, implemented in Hyperledger Indy. Hyperledger Indy technology is based on two important concepts: DID ( decentralized identifiers ) and ABC (credentials based on attributes or checked assertions ).



In this context, Self Sovereign means that the user owns the credentials presented by the pair: public and private key, as well as Credentials, representing statements (a set of attributes, such as a diploma, passport number, medical book, etc.) digitally signed and signed by trusted / reputable sources (eg, passport office, hospital, university, bank, and so on). All of this is stored directly with the identifiable owner and transferred to other participants only when necessary. Thus, it is possible to combine existing authorities and "trusted sources" (which are represented by publicly known DIDs) with a flexible, scalable and secure way to exchange information.

')

You can use this combination of technologies to solve many tasks related to managing digital identity and validating credentials while maintaining confidentiality. This approach also complies with the requirements of the GDPR and opens up new capabilities for personal data applications (PII) that would be very difficult to implement in other ways.



If you look at the range of tasks that the blockchain-community solves, it turns out that most of it is related to the identification and management of credentials. Of course, at the most basic level, the public / private key combinations used for signing and verifying transactions determine the owner of the digital asset. However, as soon as we try to add additional attributes, such as age, nationality, banking or insurance information, there is a need for a solution that provides better privacy protection and also has scalability. To keep such data in an immutable registry is not the best option.



In other words, in order to make the most of the capabilities of decentralization technology and smart contracts, you should combine the functions of SSI and verifiable claims with distributed registry technology and blockchain-based systems.



You can say:
“Well, it's all great, but what does Corda have to do with it?”

Consider how most blockchain platforms work and what assumptions are made when designing them. Most designers of such platforms take a cue from Bitcoin. Bitcoin is a narrow specialization system that achieves a consistent state (in the form of a Bitcoin or UTXO balance) by sequentially performing all the recorded transactions that were conducted after the primary unit. I am talking about narrow specialization in order to emphasize a key feature of blockchain systems: the result of a decentralized, distributed record in the absence of trust is the accounting of internal assets (for example, bitcoins or ether). Any other entries in the blockchain, for example, hashes, external documents, events, and so on, are simply entries fixed in the history, but not confirmed by any business protocol.



Obviously, for most corporate use cases, a completely different system is required, which, on the one hand, will allow partners to synchronize one-way processes and simplify data exchange without a central trusted intermediary, and on the other, it will be done confidentially and selectively.



It is absolutely clear that a highly specialized system is not suitable, because it is necessary to ensure the ability to easily create arbitrary “business protocols” that can necessarily provide reliable consensus with third-party systems and sources of authoritative data.



Corda is such a technology.



When we began to consider the benefits of the verifiable claims described above, we quickly realized that exchanging statements (signed digital confirmations with a set of attributes) and evidence (impersonal combinations of verified digital confirmations) in order to open a bank account, go to a doctor or for example, renting a car and so on, fits in perfectly with the idea of ​​flows (eng. Flows) in Corda. A stream is a programmatic way of describing a transaction execution protocol between a selected set of participants.



In this paradigm, the statements, proofs and identification of the owner are the inputs to the business process (present them as instruction points or a checklist), which are managed by the Corda distributed smart contract engine. For the formation of transactions Streams collect signatures of the parties and data for verification from related Corda applications (this can be code that implements business logic or other functionality on Corda nodes), including those that interact with external identification infrastructure or verifiable assertions.



For us, such a scheme was obvious, so we created Cordentity to simplify the creation of applications with business protocols that use the powerful combination of Corda and SSI technologies.



The power of partnership and open source



As our partners from R3 said, we are not alone in our direction - other teams are now working on this problem. Nevertheless, we received a huge feedback, including very valuable comments from the technical team of Corda and decided to share our work with the community.



By coincidence, R3 was about to launch its own Market Place and we managed to become a headliner partner at the Marketplace Portal debut. This gave us additional publicity and drew attention to Cordentity, so we decided to go further.



After numerous discussions with the Corda team, we came to the conclusion that it is worth publishing our work in the Hyperledger community (working on several technologies of distributed registries and the blockchain, as well as their basic elements, including Indy).



The Cordentity project was added to the Hyperledger Labs incubator, its source code is available on GitHub, so we are very pleased and hope that the project will develop, including through the blockchain community.



The last event of the Hyperledger Global Forum in Basel showed that there are many projects in the community that are beginning to use the Hyperledger Indy technology to solve food problems, and that the emergence of Cordentity came in very handy. In the end, success is possible only if we, as a community, simplify the creation of systems that solve companies' problems, as well as their implementation. It will be easy to do this if we work together, apply each other’s experience and learn from the best technologies that open up new possibilities.

Source: https://habr.com/ru/post/443314/



All Articles