From 546b7abf91695a91be59d58a917e79bd1e4951ee Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Tue, 18 Oct 2022 23:02:19 +0200 Subject: [PATCH 01/15] Create README.MD --- CIP-0071/README.MD | 104 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 CIP-0071/README.MD diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD new file mode 100644 index 0000000000..3b68484fb2 --- /dev/null +++ b/CIP-0071/README.MD @@ -0,0 +1,104 @@ +--- +CIP: 066 +Title: Pool Identity +Authors: Dennis Mittmann +Status: Active +Type: Process +Created: 2022-10-18 +License: CC-BY-4.0 +--- + +## Abstract + +This CIP defines a standard to verify Staking Pools using Decentralized Identifiers. + +## Motivation + +The verification process of the authenticity of Staking Pools is currently a centralized effort. + +## High Level Overview + +## Practical Example + +## Specification + +### Structure + +#### 1. DID + +This is an example DID taken from the official [W3C specification](https://www.w3.org/TR/did-core/#did-syntaxg). +To keep the scope reasonable, this CIP will not explain the DID specification deeper. Please refer to the W3C specifation as linked above. +The only important thing to note is that inside the DID document the payload will contain the different social accounts that were linked to the DID document. + +``` +{ + "@context": [ + "https://www.w3.org/ns/did/v1", + "https://w3id.org/security/suites/ed25519-2020/v1" + ], + "payload": { + ... + }, + "id": "did:example:123456789abcdefghi", + "authentication": [{ + + "id": "did:example:123456789abcdefghi#keys-1", + "type": "Ed25519VerificationKey2020", + "controller": "did:example:123456789abcdefghi", + "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV" + }] +} +``` +#### 3. Extendet Pool Metadata + +This token can be created under a seperate policy ID, so that it can be used for multiple collections at once. +The policy can also be left unlocked in case the identity information requires changes at some later date. + +``` +{ + "725": { + "": { + "": { + "@context": , + "type": , + "files": [{ + "name": , + "mediaType": , + "src": , + + }], + + } + }, + "version": + } +} +``` + +## Cross-Chain Compatibility + +To make this standard cross-chain compatible it is possible to set the value of the src parameter under files to a unique identifier on another blockchain, where the DID might be located. + +## Backwards Compatibility + +To keep NFT metadata compatible with changes coming up in the future, we use the **`version`** property. + +## Rationale +The focus of this standard is on ease-of-use & flexibility. Using this standard it is possible to reference DIDs not only on Cardano but at any arbitrary location, even cross-chain. It is also relatively simple to understand and implement because it borrows heavily from pre-existing metadata standards. + +## Path to Active + +[IAMX](https://iamx.id/) and [NMKR](https://www.nmkr.io/) have created a reference implementation of the standard that can be viewed [here](https://cardanoscan.io/transaction/608dd4fba7df5c523a1dfdca8d48fd1d69e7e1995a342ceb01c8355c62a0845b?tab=metadata). + +[IAMX](https://iamx.id/) will be creating a tool to create the DIDs that will be integrated natively into [NMKR](https://www.nmkr.io/) studio. + +By displaying this solution at the Catalyst Guild Hall we hope to reach more creators that are willing to integrate this solution. + +## References + +- W3C DID Specification: https://www.w3.org/TR/did-core/#did-syntaxg +- CIP-0066 + +## Copyright + +This CIP is licensed under CC-BY 4.0 From 3d18e7688d059aba5aef06d02784e586049ae117 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Tue, 18 Oct 2022 23:03:47 +0200 Subject: [PATCH 02/15] Update README.MD --- CIP-0071/README.MD | 45 ++++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 3b68484fb2..98ea2c0450 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -51,27 +51,38 @@ The only important thing to note is that inside the DID document the payload wil ``` #### 3. Extendet Pool Metadata -This token can be created under a seperate policy ID, so that it can be used for multiple collections at once. -The policy can also be left unlocked in case the identity information requires changes at some later date. +This token can be linked in Extendet Pool metadata JSON ``` { - "725": { - "": { - "": { - "@context": , - "type": , - "files": [{ - "name": , - "mediaType": , - "src": , - - }], - - } + "extended": "https://iamx.id/iamx_extended.json", + "info": { + "url_png_icon_64x64": "https://iamx.id/logoSmall_64x64.png", + "url_png_logo": "https://iamx.id/logoBig.png", + "location": "Zug,Swiss", + "social": { + "twitter_handle": "@iam_x_identity", + "instagramm_handle": "@iam_x", + "github_handle": "IAMXID" }, - "version": - } + "company": { + "name": "IAMX AG" + }, + "about": { + "me": "IAMX AG was founded by three friends from Germany who shares ideas for making the world a little bit better: Jochen, Tim & Tim.", + "server": "Dedicated Servers hosted in a professional Swiss server center." + }, + "@context": "https://github.com/IAMXID/did-method-iamx", + "files": [ + { + "mediaType": "application/ld+json", + "name": "vPOOL", + "src": "ipfs://QmVPtEVqDAzhWYVKZPvAtCxHLHRQ11WZK6szSGfQFfrqQa" + } + ], + "type": "Ed25519VerificationKey2020" + }, + "my-pool-ids": {} } ``` From eed306fbd4e26b62b40339c67d4a4e3747d38579 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Tue, 18 Oct 2022 23:07:53 +0200 Subject: [PATCH 03/15] Update README.MD --- CIP-0071/README.MD | 118 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 103 insertions(+), 15 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 98ea2c0450..6be71dced6 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -32,21 +32,109 @@ The only important thing to note is that inside the DID document the payload wil ``` { - "@context": [ - "https://www.w3.org/ns/did/v1", - "https://w3id.org/security/suites/ed25519-2020/v1" - ], - "payload": { - ... - }, - "id": "did:example:123456789abcdefghi", - "authentication": [{ - - "id": "did:example:123456789abcdefghi#keys-1", - "type": "Ed25519VerificationKey2020", - "controller": "did:example:123456789abcdefghi", - "publicKeyMultibase": "zH3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV" - }] + "payload":{ + "timestamp":"2022.10.13", + "company":"IAMX AG", + "jurisdiction":"Switzerland", + "company_type_national":"Aktiengesellschaft", + "company_type_international":"public company limited by shares", + "street":"Dammstr.", + "street_number":"16", + "zip":"6300", + "city":"Zug", + "country":"Switzerland", + "VAT_identification_number":"CHE-270.340.034", + "commercial_register":"CH-170.3.046.506-9", + "date_of_incorporation":"2021.11.22", + "pool_ticker":"IAMX" + }, + "@context":"https://github.com/IAMXID/did-method-iamx", + "signatures":[ + { + "signature":"fnAp1inBgV7g5yZx86HaUaw43RZ8qgrjtriLcZ8RbcQhnUNrgLMKA6qxZz3CNGwsqzF3qtcWrKzaFijzgfNtEi98tQBhXHtLcW5dW5ysaPYcbRZAUPMfUVGxeQWMcB7h15mCQaqxYcnqPkpZwDiw3tk971wv3jim5SHtePGC2tpEbV71XF6QuNHFXbLfs82YxxUruEPLPQZi7RW59SUCVmpTdJPwUJbwL7TQdJkGcKJTNtuebowBzuZyPJEDCJQxR3MfyYvxo2mo9HYkvbFbwx5uLhkPQUhmwck6UdbbXhtaAJdZ4nW9EaBgJA2QyNRLAnQSBBRGwG8RApadGVX1hxiqxnc3sFazdcSkh6xVw4Y1aaTwdARZqAnae3mtHMJLDHQLtfhQxoYFpbzuugsdfBP4FtBV6LiCesT5xPCHNT1v71a6GQyEXUQeviwAnCzjvmKF1McvhAVEfdmgdFbpPK1Y9fW7p3Y9ZWudCHCmnQYZjGQsK9cz4uq636APLDfzpdnXHP72J73qUo8XqWvZoig9egmSHgTWKBo9WdvaBUsKBWb7ZpSyYj4wb9iz6xCa6DwgdAmAcWAfC87WomDSXo12t4kkyUS5ixYQRXgCLH11U4eQ9zLcwF9Zq46T4bmNDpFcsujBvg4SFC1JBYeV5f5FLU3NttR1jTdzjYzqWNoVeAQHZXykM6iZ8vqSNnD1BVDgRUZENmGNa1KhMxLriaBTYMmGfRfQydcYj3aNwU6p9JRhYupVPkueXGd1uMarBkj7UsQVsAH5zQybdaHNnagiihn1i9PxV1UrwLEhnTBPYTvvPorELEnFLdCNMtrxEvniK6uNcbubXRvoftoSYMmncDnrKaJu4RPuDAKpvwu8sjM3SfT4ws9cJqu1Zu15U3611K5BDPRFyWuK4pREgMKarKfPxLnWDqLm4g", + "DID":[ + [ + "did:iamx:cardanozggW2SuC7Phxth3SAjhtz7YuNfrcDhoRTz5WrSZ2xh38BTwf", + "Xpi6R1vn5PzPFkBb7S9XdNVSV6NGtXpYqF4kVGgytNcsxUvcztzn18V6LzibMzCc", + "aEyb1RP3nfyNLQ6aZ4MKEKDCeWKReCGpQ7bvGoRZX12kUGqBbTpkskou81ZXpAMv", + "UKe11tQY3GwK1or73VKhbdBjLxZf98z8hvYBopkwgqoSB9CL2rLSdBvuGc261irj", + "RdagpY1ViRWqZbfwNHNharsnayv4NdRNfVnJXqUqu1ysfJNaLxaZosTnWMe8HPfs", + "AbLanSRRWFeaET5xdaak8GP7ekKG961E2kfD6MfSthSS2n72DzqyHfssABhfzKBW", + "weHDF76BuhyWi6XX8BGFBhk5nLeMFiiU3MKjfC4sqNNQ62iVcayqwLxECroFTHjw", + "EDYdp61s7HVq43q7uYfJ8jqTts6mZXkZK2VWmbCmVDKYZMzDzqqFgQN6mznAj6Ei", + "tcDSm2nCoSYSRErms3AKXtxS6NR36135kpxh3LhAEYNiBvjNhW6JVkBh37cFFPDu", + "c2dSJvQYfhSzAHpHZK4pfHNe5bMiU8jxJC7WUAz8Gj9FAwQrXRJxS9qHD4G5CDfz", + "WNUxU7ZJy1QmhWDb7Gb2ycMtRDF3dhgcGpYRKewbX4dgkSy8yarGwNindGJVhMTk", + "t2Nmw2RayVHAiYvm4Y1LjZrVEXtx1oREbxKu885CRtgb1xegCYoy478Yz3bHfegE", + "jsn52VvDab7NdWvYudkUgGxYG7ACoHfwdNpLY32fEULL9FCAowSTAsrkKLWa94M7", + "tsh16Q3TSySGFFp48YjDnGsmh1jUAgzYU27Yt1LSedvzcAtjvPLsydXCEgz4LFnZ", + "WAYYpKbQC8LRELM7HpX2fe4RLD1apPdVCwJkDqkDwD6a7TdVW3FvjpGGwC9puNwh", + "vomgbeYuBJNz7AsfokCk7Vx5Q3YC4adidwg39X4Auapd3UuQ58BdTJVnZEavopdS" + ] + ], + "description":"Issuer", + "storageLocation":{ + "uri":"ipfs://QmYtZkfa6Qvjt3mhKJX1on9VGa1YYP9tFfALowcz2tHSeZ", + "type":"ipfs" + } + }, + { + "signature":"hZSpGWzRAcHfDu9mNdLJ9bWSsbCATE6FnJgG7RDRQFLRHnXZ9Cy2ULeJLnjgUW3N25eBiAmjUCSWqDpme3DWZRPJFbRuwhT5EfXYunC6p1Xi4L3Yw63uqKME5nkHLkQzLD6hVPuqyyZ74EWhh7v74BuouTa1ZytaWxoMRyEij7DXFnFbMCJkNczvxpXnCTMa79xT3YKUHE378ExuxyhvcHDKpCmAHLUzNcU8XwgDVzSkK2HDmxVtPXDpsRu5zJu9aUqC2hCerYroRCwsxT8NP32Nmq1qXhcmxSYFHYQoXU95AhwbMMo4kx9RQniZDhaRAfpQEYmXa6LmdrBAfuKmgvP57EKG4frSatpnPcz8t49PgVgZomWzgNS3sZjuu4PAqE5c9tDuZD8S62VqwHtbfbvwvE4sU3mvDYLiVH8rucMHax224v9ChViE8fMnzbMPpUkvo1aF2S8D12TCm773TU2CywoN3WLmYsJKwF95xCnH6ky49WUtxEy7sX3Ak4KG1kpY9ku4dg1MDfAw7QEkeHj3F4jmxnZREZaKBmxPUyvSW2qm1FSNursCkm4aVjT2e1HkmxS3GADVD2uqGMvQXU8Rk8bpftbD1zQ37XxC8WNgAox1b8SQzsdwCWzTJEtc36hBjN4uPzMLLZoaicbuLCJnk3KaNuxGp91JzzSmdDf8nYhGwktK5JiDCCxZ9EdopwDCMb88ozYjaqU8FTkdN2oVpRPYrPi6BCuZTL4Pd5YbkJTxv7DKdrJkt2gkdsiirMHfjmWhDrbhSQ67KxRyUfSUjyDE9REWBppbJcsNUX96TRkvVMNtb4SKiLYKdYnDrwkQzNjukBMYRUnG8ZjHZ1rSA6fnUys4kEsv9ws9FjZLaiJKgTfA7C9iXNeQcEpW3EFDh4E6TsCp3nkpVCG4MXhZRut6AavSmKNc3v", + "DID":[ + [ + "did:iamx:cardanozggW2SuC7Phxth3SAjhtz7YuNfrcDhoRTz5WrSZ2xh38BTwf", + "Xpi6R1vn5PzPFkBb7nNv7WBouf4cxMbeCqMxM6D3EeE16YbtUvGhDj9B3SFbRhoj", + "nJmmq4qThvWtxcS6jvXVJg8unEQMHfrAyjh4rMm4GYgD21ud3nSGS242brxtN3Za", + "MbaAJ9AJH52quhb6mjnhJRqzFF7qr6x92PfYpavjo6s2pq5oNMtbpky5yWwDVdj3", + "x5s26WXXf4nN5kcPhyS8GD2oWfF8DjLzcdgWbwTU3wXiGBUyrXiyqzAmdnA49Ly7", + "Ncsisu8MBtYAF2HioDjCLGidfJfuELuxVtumkyJapRAKEZSX3mJnbthAB6imuGYw", + "rFyTTcjYiNzU3KGgTqMEiqjxvr5gZzaDHw6WLVsNr4S8XJWqGib6wsuxP1VbZpyf", + "f78qBSmXwexBEYmEawVVq54Mp7PxkZre2Q69AAKVS3qFzZ7BzFpcqxu7trmvZLLB", + "wWfTwYHJfGqJ6meShUVi69jDeV3XucDwipBWoDxTmpp9zY3eXG62Xu5MbHYdwQHG", + "Eum8ArCbN71oKJWyAc149JoamrGRJTKCd9GwX2wBvWr97VsZCw4B6CXyjSKCHjvZ", + "puePL1juS8b8yuU8rsUHrLhvVkGVPz7Wdj6XjcgFg9oLYwyQZNmBB7gmrVf5GrRY", + "LdLRBcBjyAUcuNiGW9n52mpFSssYBQ79V4yaMbbBbP4JyA1KzXSGsTSNy48N9okb", + "T4Syb3xLJsrMfjdfRzTYFpNSpYMNfgWkvYMHrEPrDBhSFkooo5FssXT8BS9kwnFs", + "6uuwiQrXSwJBmFqVe7CDG6Z3j3bTCMdwumyhMNm5aoUdSMWuAWFz47pAH4aDoPCR", + "5gXiEmqn8ecsxFiZfv4nZKFfjsVHVvxAYuwoJm5DP5W8gDRsG3ucbtGVp9MyuAMC", + "peW3nAYJzjK5bpkcw7oGojAzV7VWAGfBpyTLY4CTC456N4kwbunXaVdfs9ALiGbv" + ] + ], + "description":"Creator", + "storageLocation":{ + "uri":"ipfs://QmRGaEGjyzrk3wNCwaPDydJtCrtJVddoeeAxQUHcizDdYU", + "type":"ipfs" + } + }, + { + "signature":"XwT21YCuCb2XbjgFuPCGuSZaiUEcXsnHYKSkCw8JhpLqyus9RU6Dy2XwjFJeUU6qnwCwnk6nZWKToqg52qNXafxzfSyj6GisrnWMNBMM7E8cVCsU5QX3JCpcadSHVBNws3us4XhtGviry9dE2MxgmaLopnjT4GtiPv5MY32bzEEGPYUgCiYKJzVLFUfeYMVu5e47NE9ZqqD8xdDLPneJnSgWLVGw5aWfhyzk52uUhBMuEe1WaQko876jYn2xmdZWfBEmKA7dHnTQjLjnS48LqzVxPJTg5sf8QRc7i9TiaXN7fkBb7RU9RmQDMjxkxaJGaeBtdhkEXofXVK7ykajvZs6Br8hRXXMBVJZX2kcJdfzwckguiaKGAraCj14b4YyfEtQDiiQjhjJf6JbHEudH1ZqVUG1969Qa4FFQjzJMABJeupo3bJW475FV7UPwjWdFu51j5oXjn19ntUWucGHUs7AurZyXVtooFsdo3YJCzHvTvQ4wh227QnrY6AAHZxNFt8UHXuLoG4XNtBNe5dRa6YDHS1tsXtcNcQEygtbrfyjhJ5KzEEkQxDdoeZKxqro1aKDpeg3R8h9hXSd9qxCZcK982qk38atNnMbMNYcgEPPXggaJapBLpkxEczBKDSqVpRyg9QmcJP3JJQdq5GEmJoZpuzfBpB29GELZ1tJYfYTF8FRZPwP8e7se1McTKjdvHi7T2fuYA58L7cpviYihXo2zAALVHAdDmoTPAci7nSLxLwWBT46HqL4jpjEpdPNRtCNsdar8sDDDqHwyKcXSRmmSz9pdw5mcrpChyFYYxSYfmsQocgm16cVbGkCKznpRSy2eLDbratBtPDqKr6eV2gkQdDkDQtRa1gR6512EU1P3isF1fMTzUmerAWbHFe4SwBMZdQYM2rQnJFJmctLBA9ZdEi5wWmZr5Q3M56", + "DID":[ + [ + "did:iamx:cardanozggW2SuC7Phxth3SAjhtz7YuNfrcDhoRTz5WrSZ2xh38BTwf", + "Xpi6R1vn5PzPFkBc81jEs2Fb3rjaJfCatjwKbCk4zCnxwtMdsj5BjEb4Vg7erDXw", + "wUfjyrjdAckF13nEyHK4YFSJNYyp4vfxwd7ds9LszjgmtBU6f1yTeNzoAVSRAzQv", + "pCVLPhGvzFFrH5wNfMEvs82KfMtjncgLanuFMH9UjupDJupkPv2eaoV9sFW7ifGP", + "kUoAcKM98q2tmSfygL316Y9fSGcoC8fEjH9GANQ54aaiHrsUu7JszEAgkuq2Zxaz", + "qoGznUo2UkBrij7Xn21D8DfSPSm9TtusBM1UWJWe3eZqZnDBgPKfBNMSLUpUauG6", + "8WHpK1nKHP6kMpPi4WCnprpdpmU9KLzFeVRo8KWkwuQhxu8VDC6FZDRc7eHgVTCL", + "KGfUnMtBqeMQGDB46JSEyGRW9wQsfmb4hsPM8teUk4uBU1UHJXmdKnxT7wYVw6Np", + "1a1zEpyhF2deYX4Ki3ekmqMCPGcQ9FFLYPFDjJjnBgpFWkVe5maQHa8WupEEroMG", + "NFEA6UmQaPypwCqA6aiVRDURWKPHuZFRaHAefmkdR2LoJjwmmNPtHr6iaEGN4fvD", + "juYMzv4N2VDkKqm7cY8Y8k43Fx1wMzfQDQr9iq7SvWpB4xPMGFMsi6CDn5EjrQV4", + "PKVLzbUmSkvvXRJ4MVkcD4YM2tDkCiFWQ4MbZcG9JivzeKVsoRKFUjmfkHBHMYe1", + "iMede6UrLsg72mQezdgxZN8MtuYSVAhkYqToTABigWcnF8XqxX48mpnpeimzbeTZ", + "5tgeR2o6v7KnRZi7THHs4DJEhrsAJiME2q67nLVz4AXWNomHK4MhGoWJh6kf3hMX", + "shHHFHkduHRq36jy4gm7X5NEmuj1EzXqmqjwSNhosmWGYg2FmSbY413eBFJ7Toin", + "UQD3wArwtMJBrzbTkQA6aGmrQRbvjfQNBvS1JMNEgKbN13FMqB9FQXr5N2fynRXA" + ] + ], + "description":"IAMX", + "storageLocation":{ + "uri":"ipfs://QmaCnFpHZqC6vUfVobUscCxRFn1snb3XH7K8W3ZEAkooeo", + "type":"ipfs" + } + } + ] } ``` #### 3. Extendet Pool Metadata From d0acdce182f9954e20dbc8de810f97e77d5147d7 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Tue, 18 Oct 2022 23:10:16 +0200 Subject: [PATCH 04/15] Update README.MD --- CIP-0071/README.MD | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 6be71dced6..d5bb810370 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -180,17 +180,13 @@ To make this standard cross-chain compatible it is possible to set the value of ## Backwards Compatibility -To keep NFT metadata compatible with changes coming up in the future, we use the **`version`** property. +To keep metadata compatible with changes coming up in the future, we use the **`version`** property. ## Rationale The focus of this standard is on ease-of-use & flexibility. Using this standard it is possible to reference DIDs not only on Cardano but at any arbitrary location, even cross-chain. It is also relatively simple to understand and implement because it borrows heavily from pre-existing metadata standards. ## Path to Active -[IAMX](https://iamx.id/) and [NMKR](https://www.nmkr.io/) have created a reference implementation of the standard that can be viewed [here](https://cardanoscan.io/transaction/608dd4fba7df5c523a1dfdca8d48fd1d69e7e1995a342ceb01c8355c62a0845b?tab=metadata). - -[IAMX](https://iamx.id/) will be creating a tool to create the DIDs that will be integrated natively into [NMKR](https://www.nmkr.io/) studio. - By displaying this solution at the Catalyst Guild Hall we hope to reach more creators that are willing to integrate this solution. ## References From 1d52bda030f28dfb5b7a6ac3d098d1ea0f472754 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 20 Oct 2022 11:48:13 +0200 Subject: [PATCH 05/15] Update README.MD --- CIP-0071/README.MD | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index d5bb810370..172c3710f2 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -18,17 +18,30 @@ The verification process of the authenticity of Staking Pools is currently a cen ## High Level Overview -## Practical Example +By connecting a Stake-Pool metadata to one or multiple Digital Identifiers, the pool operator has the option to attach verification data points to the pool. + +Each of these data points stores information about a direct connection between the Stake-Pool operator and some sort of identity medium. This identity medium could be a social account, a KYC process, a phone number or anything else where an identity is directly linked to an account or something similar. + +The data points connected to the Stake-Pool are publicly visible and can be audited by anyone. Either manually or programmatically. + +The creator can choose which identity data points he wants to connect to the collection, and the auditor can then choose if he trusts these data points enough to interact with the collection or not. ## Specification ### Structure +There are three different key components to this structure. + +| Component | description | +| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| DID | The actual Decentralized Identity Document where the information about the connected identity data points is stored. | +| Extended Stake-Pool Metadata | This metadata segment is placed in the Extended Stake-Pool Metadata and defines the connecton to the DID or the Identity Token. | + #### 1. DID This is an example DID taken from the official [W3C specification](https://www.w3.org/TR/did-core/#did-syntaxg). -To keep the scope reasonable, this CIP will not explain the DID specification deeper. Please refer to the W3C specifation as linked above. -The only important thing to note is that inside the DID document the payload will contain the different social accounts that were linked to the DID document. +To keep the scope reasonable, this CIP will not explain the DID specification deeper. Please refer to the W3C speciation as linked above. +The only important thing to note is that inside the DID document, the payload will contain KYC/KYB imprint Data that were linked to the DID document. ``` { @@ -137,9 +150,10 @@ The only important thing to note is that inside the DID document the payload wil ] } ``` -#### 3. Extendet Pool Metadata -This token can be linked in Extendet Pool metadata JSON +#### 3. Extended Stake-Pool metadata + +This token can be linked in extended Stake-Pool metadata JSON ``` { @@ -169,6 +183,7 @@ This token can be linked in Extendet Pool metadata JSON } ], "type": "Ed25519VerificationKey2020" + "version" : "1.00", }, "my-pool-ids": {} } @@ -176,23 +191,23 @@ This token can be linked in Extendet Pool metadata JSON ## Cross-Chain Compatibility -To make this standard cross-chain compatible it is possible to set the value of the src parameter under files to a unique identifier on another blockchain, where the DID might be located. +To make this standard cross-chain compatible, it is possible to set the value of the src parameter under files to a unique identifier on another blockchain, where the DID might be located. ## Backwards Compatibility To keep metadata compatible with changes coming up in the future, we use the **`version`** property. ## Rationale -The focus of this standard is on ease-of-use & flexibility. Using this standard it is possible to reference DIDs not only on Cardano but at any arbitrary location, even cross-chain. It is also relatively simple to understand and implement because it borrows heavily from pre-existing metadata standards. +The focus of this standard is on ease-of-use & flexibility. Using this standard, it is possible to reference DIDs not only on Cardano but at any arbitrary location, even cross-chain. It is also relatively simple to understand and implement because it borrows heavily from pre-existing metadata standards. ## Path to Active -By displaying this solution at the Catalyst Guild Hall we hope to reach more creators that are willing to integrate this solution. +By displaying this solution at the Catalyst Guild Hall, we hope to reach more creators that are willing to integrate this solution. ## References - W3C DID Specification: https://www.w3.org/TR/did-core/#did-syntaxg -- CIP-0066 +- CIP-0066 NFT-Identity ## Copyright From d71712d77ec0650ccb9c0198b206fc0fb40d0d63 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 20 Oct 2022 11:52:20 +0200 Subject: [PATCH 06/15] Update README.MD --- CIP-0071/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 172c3710f2..facdb61a3b 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -1,5 +1,5 @@ --- -CIP: 066 +CIP: 0071 Title: Pool Identity Authors: Dennis Mittmann Status: Active From f049bedf621f51d3d5429553c23250c81082e086 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 20 Oct 2022 11:54:37 +0200 Subject: [PATCH 07/15] Update README.MD --- CIP-0071/README.MD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index facdb61a3b..1ff4b9c734 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -16,7 +16,7 @@ This CIP defines a standard to verify Staking Pools using Decentralized Identifi The verification process of the authenticity of Staking Pools is currently a centralized effort. -## High Level Overview +## High-Level Overview By connecting a Stake-Pool metadata to one or multiple Digital Identifiers, the pool operator has the option to attach verification data points to the pool. @@ -32,10 +32,10 @@ The creator can choose which identity data points he wants to connect to the col There are three different key components to this structure. -| Component | description | -| ---------------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| DID | The actual Decentralized Identity Document where the information about the connected identity data points is stored. | -| Extended Stake-Pool Metadata | This metadata segment is placed in the Extended Stake-Pool Metadata and defines the connecton to the DID or the Identity Token. | +| Component | Description | +| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | +| DID | The actual Decentralized Identity Document, where the information about the connected identity data points is stored. | +| Extended Stake-Pool Metadata | This metadata segment is placed in the Extended Stake-Pool Metadata and defines the connection to the DID or the Identity Token. | #### 1. DID From f147c51f99341784c71a47d98bbcbddc9e37aabc Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 20 Oct 2022 12:07:50 +0200 Subject: [PATCH 08/15] Update README.MD --- CIP-0071/README.MD | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 1ff4b9c734..dbb27c1ca0 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -1,6 +1,6 @@ --- CIP: 0071 -Title: Pool Identity +Title: Verified Pool Identity Authors: Dennis Mittmann Status: Active Type: Process @@ -10,7 +10,7 @@ License: CC-BY-4.0 ## Abstract -This CIP defines a standard to verify Staking Pools using Decentralized Identifiers. +This CIP defines a standard to verify Staking Pools using Decentralized Identifiers (DID) ## Motivation @@ -18,13 +18,13 @@ The verification process of the authenticity of Staking Pools is currently a cen ## High-Level Overview -By connecting a Stake-Pool metadata to one or multiple Digital Identifiers, the pool operator has the option to attach verification data points to the pool. +By connecting Stake-Pool metadata to one or multiple Digital Identifiers, the pool operator has the option to attach verification data points to the pool. -Each of these data points stores information about a direct connection between the Stake-Pool operator and some sort of identity medium. This identity medium could be a social account, a KYC process, a phone number or anything else where an identity is directly linked to an account or something similar. +Each of these data points stores information about a direct connection between the Stake-Pool operator and some sort of identity medium. This identity medium could be a social account, a Know-Your-Customer (KYC), Know-Your-Business (KYB) or anything else where an identity is directly linked to an account or something similar. The data points connected to the Stake-Pool are publicly visible and can be audited by anyone. Either manually or programmatically. -The creator can choose which identity data points he wants to connect to the collection, and the auditor can then choose if he trusts these data points enough to interact with the collection or not. +The operator (holder) can choose which identity data points he wants to connect to the pool, and the delegator (verifier) can then choose if he trusts those data points (verifiable credentials) to stake with the pool or not. ## Specification @@ -171,7 +171,7 @@ This token can be linked in extended Stake-Pool metadata JSON "name": "IAMX AG" }, "about": { - "me": "IAMX AG was founded by three friends from Germany who shares ideas for making the world a little bit better: Jochen, Tim & Tim.", + "me": "The era of your identity serving as the product, controlled and capitalized by corporates is coming to an end.", "server": "Dedicated Servers hosted in a professional Swiss server center." }, "@context": "https://github.com/IAMXID/did-method-iamx", From 3c05934f750135f207fe28f42ebe377a40a53f32 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 20 Oct 2022 12:10:47 +0200 Subject: [PATCH 09/15] Update README.MD --- CIP-0071/README.MD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index dbb27c1ca0..561b72cb5d 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -32,10 +32,10 @@ The operator (holder) can choose which identity data points he wants to connect There are three different key components to this structure. -| Component | Description | -| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| DID | The actual Decentralized Identity Document, where the information about the connected identity data points is stored. | -| Extended Stake-Pool Metadata | This metadata segment is placed in the Extended Stake-Pool Metadata and defines the connection to the DID or the Identity Token. | +| Component | Description | +| ---------------------------- | --------------------------------------------------------------------------------------------------------------------- | +| DID | The actual Decentralized Identity Document, where the information about the connected identity data points is stored. | +| Extended Stake-Pool Metadata | This metadata segment is placed in the Extended Stake-Pool Metadata and defines the connection to the DID. | #### 1. DID From 0aeff3b719ff21096e7bae15cee02589ec7eae9f Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Mon, 24 Oct 2022 23:50:24 +0200 Subject: [PATCH 10/15] Update README.MD --- CIP-0071/README.MD | 38 +++++++++++++++++++++++++++++++------- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 561b72cb5d..3d424f6be5 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -18,13 +18,37 @@ The verification process of the authenticity of Staking Pools is currently a cen ## High-Level Overview -By connecting Stake-Pool metadata to one or multiple Digital Identifiers, the pool operator has the option to attach verification data points to the pool. - -Each of these data points stores information about a direct connection between the Stake-Pool operator and some sort of identity medium. This identity medium could be a social account, a Know-Your-Customer (KYC), Know-Your-Business (KYB) or anything else where an identity is directly linked to an account or something similar. - -The data points connected to the Stake-Pool are publicly visible and can be audited by anyone. Either manually or programmatically. - -The operator (holder) can choose which identity data points he wants to connect to the pool, and the delegator (verifier) can then choose if he trusts those data points (verifiable credentials) to stake with the pool or not. +1. Topic: Verification Validators Proof-of-Stake + +2. Background: Legal / Compliance + +3. Process Summary Pool Verification per identity source + + - a) Pool Owner / Holder: Option to attach verification data points to the pool + + - b) How: Connect Stake-Pool metadata to one or more Digital Identifiers (DIDs) + + - c) Data Points: Each of these data points stores information about a direct connection between the Stake-Pool operator and some sort of > identity source. + + - d) This > identity source could be a + - d1) social account, examples: Twitter, Facebook, Discord, GitHub, Apple, LinkedIn, Twitch, Google, more; + - d2) Know-Your-Customer (KYC), Know-Your-Business (KYB); Level: identity checks in up to 20 modules per jurisdiction and industry sector incl. financial transactions, + - d3) any other source where an identity is directly linked to an account or something similar + + - e) Visibility and Audit: The data points connected to the Stake-Pool are publicly visible and can be audited by anyone. Either manually or programmatically. + + - f) Operator: The operator (HOLDER) can choose which identity data points he wants to connect to the pool, + + - g) Delegator: The delegator (VERIFIER) can then choose if he trusts those data points (verifiable credentials) to stake with the pool or not. + + - h) Product: The verified POOL owns a verifiable imprint with sources social media, KYC, KYB, other sources of reusable identity verification + + +### Glossary + +Know-Your-Customer (KYC) + +Know-Your-Business (KYB) ## Specification From e0b63f3526180128da6bb134d70ea7b1d6b42e22 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 16 Feb 2023 14:10:12 +0100 Subject: [PATCH 11/15] Update CIP-0071/README.MD Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com> --- CIP-0071/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 3d424f6be5..fd04322817 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -2,7 +2,7 @@ CIP: 0071 Title: Verified Pool Identity Authors: Dennis Mittmann -Status: Active +Status: Proposed Type: Process Created: 2022-10-18 License: CC-BY-4.0 From 250cf8695784e610685f1d7705116a670bcd768d Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 16 Feb 2023 14:10:32 +0100 Subject: [PATCH 12/15] Update CIP-0071/README.MD Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com> --- CIP-0071/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index fd04322817..3e454f751b 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -1,6 +1,6 @@ --- CIP: 0071 -Title: Verified Pool Identity +Title: Verified Stake-Pool Identity Authors: Dennis Mittmann Status: Proposed Type: Process From 50706a130656f0633ad6bae70d3845d31aefae04 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Thu, 16 Feb 2023 14:10:52 +0100 Subject: [PATCH 13/15] Update CIP-0071/README.MD Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com> --- CIP-0071/README.MD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index 3e454f751b..f5e3d979c6 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -1,5 +1,5 @@ --- -CIP: 0071 +CIP: 77 Title: Verified Stake-Pool Identity Authors: Dennis Mittmann Status: Proposed From d04a3b894c8ee2a51dc5032bc9058c9d7bea4190 Mon Sep 17 00:00:00 2001 From: Robert Phair Date: Thu, 16 Feb 2023 18:51:11 +0530 Subject: [PATCH 14/15] no hyphen in "stake pool" and no such thing as "staking pool" --- CIP-0071/README.MD | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index f5e3d979c6..cfe29845ae 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -1,6 +1,6 @@ --- CIP: 77 -Title: Verified Stake-Pool Identity +Title: Verified Stake Pool Identity Authors: Dennis Mittmann Status: Proposed Type: Process @@ -10,11 +10,11 @@ License: CC-BY-4.0 ## Abstract -This CIP defines a standard to verify Staking Pools using Decentralized Identifiers (DID) +This CIP defines a standard to verify Stake Pools using Decentralized Identifiers (DID) ## Motivation -The verification process of the authenticity of Staking Pools is currently a centralized effort. +The verification process of the authenticity of Stake Pools is currently a centralized effort. ## High-Level Overview @@ -26,16 +26,16 @@ The verification process of the authenticity of Staking Pools is currently a cen - a) Pool Owner / Holder: Option to attach verification data points to the pool - - b) How: Connect Stake-Pool metadata to one or more Digital Identifiers (DIDs) + - b) How: Connect Stake Pool metadata to one or more Digital Identifiers (DIDs) - - c) Data Points: Each of these data points stores information about a direct connection between the Stake-Pool operator and some sort of > identity source. + - c) Data Points: Each of these data points stores information about a direct connection between the Stake Pool operator and some sort of > identity source. - d) This > identity source could be a - d1) social account, examples: Twitter, Facebook, Discord, GitHub, Apple, LinkedIn, Twitch, Google, more; - d2) Know-Your-Customer (KYC), Know-Your-Business (KYB); Level: identity checks in up to 20 modules per jurisdiction and industry sector incl. financial transactions, - d3) any other source where an identity is directly linked to an account or something similar - - e) Visibility and Audit: The data points connected to the Stake-Pool are publicly visible and can be audited by anyone. Either manually or programmatically. + - e) Visibility and Audit: The data points connected to the Stake Pool are publicly visible and can be audited by anyone. Either manually or programmatically. - f) Operator: The operator (HOLDER) can choose which identity data points he wants to connect to the pool, @@ -59,7 +59,7 @@ There are three different key components to this structure. | Component | Description | | ---------------------------- | --------------------------------------------------------------------------------------------------------------------- | | DID | The actual Decentralized Identity Document, where the information about the connected identity data points is stored. | -| Extended Stake-Pool Metadata | This metadata segment is placed in the Extended Stake-Pool Metadata and defines the connection to the DID. | +| Extended Stake Pool Metadata | This metadata segment is placed in the Extended Stake Pool Metadata and defines the connection to the DID. | #### 1. DID @@ -175,9 +175,9 @@ The only important thing to note is that inside the DID document, the payload wi } ``` -#### 3. Extended Stake-Pool metadata +#### 3. Extended Stake Pool metadata -This token can be linked in extended Stake-Pool metadata JSON +This token can be linked in extended Stake Pool metadata JSON ``` { From d8b460439f447d4316b489640a0960c83038d750 Mon Sep 17 00:00:00 2001 From: Dennis Mittmann Date: Tue, 14 Mar 2023 10:54:42 +0100 Subject: [PATCH 15/15] Update CIP-0071/README.MD Co-authored-by: Matthias Benkort <5680256+KtorZ@users.noreply.github.com> --- CIP-0071/README.MD | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CIP-0071/README.MD b/CIP-0071/README.MD index cfe29845ae..5a4b4f508d 100644 --- a/CIP-0071/README.MD +++ b/CIP-0071/README.MD @@ -16,7 +16,9 @@ This CIP defines a standard to verify Stake Pools using Decentralized Identifier The verification process of the authenticity of Stake Pools is currently a centralized effort. -## High-Level Overview +## Specification + +### High-Level Overview 1. Topic: Verification Validators Proof-of-Stake