-
Notifications
You must be signed in to change notification settings - Fork 373
CIP-0077? | Verified Stake Pool Identity #361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 10 commits
546b7ab
3d18e76
eed306f
d0acdce
1d52bda
d71712d
f049bed
f147c51
3c05934
0aeff3b
e0b63f3
250cf86
50706a1
d04a3b8
ac2f8e4
d8b4604
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,238 @@ | ||
| --- | ||
| CIP: 0071 | ||
| Title: Verified Pool Identity | ||
Maetti79 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Authors: Dennis Mittmann <[email protected]> | ||
| Status: Active | ||
Maetti79 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
| Type: Process | ||
| Created: 2022-10-18 | ||
| License: CC-BY-4.0 | ||
| --- | ||
|
|
||
| ## Abstract | ||
|
|
||
| This CIP defines a standard to verify Staking Pools using Decentralized Identifiers (DID) | ||
|
|
||
| ## Motivation | ||
|
|
||
| The verification process of the authenticity of Staking Pools is currently a centralized effort. | ||
|
||
|
|
||
| ## High-Level Overview | ||
Maetti79 marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||
|
|
||
| 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 | ||
|
|
||
| ### 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 connection to the DID. | | ||
|
|
||
| #### 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 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. | ||
|
|
||
| ``` | ||
| { | ||
| "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. Extended Stake-Pool metadata | ||
|
||
|
|
||
| This token can be linked in extended Stake-Pool metadata JSON | ||
|
|
||
| ``` | ||
| { | ||
| "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" | ||
| }, | ||
| "company": { | ||
| "name": "IAMX AG" | ||
| }, | ||
| "about": { | ||
| "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", | ||
| "files": [ | ||
| { | ||
| "mediaType": "application/ld+json", | ||
| "name": "vPOOL", | ||
| "src": "ipfs://QmVPtEVqDAzhWYVKZPvAtCxHLHRQ11WZK6szSGfQFfrqQa" | ||
| } | ||
| ], | ||
| "type": "Ed25519VerificationKey2020" | ||
| "version" : "1.00", | ||
| }, | ||
| "my-pool-ids": {} | ||
| } | ||
| ``` | ||
|
|
||
| ## 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 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 | ||
|
|
||
| By displaying this solution at the Catalyst Guild Hall, we hope to reach more creators that are willing to integrate this solution. | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The proposal seems to have some degree of overlap with CIP-0006. It'd be good to reach out to the authors for feedback. Also, this is clearly a proposal which will demand adoption amongst stake-pool operators; having it reviewed by a few SPOs is therefore expected. Adoption by a variety of SPO is seemingly a requirement to appear in the 'Path to Active' section.
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As a current SPO I would rather state more generally that this is a "proposal which will appeal to a subset of stake pool operators." |
||
|
|
||
| ## References | ||
|
|
||
| - W3C DID Specification: https://www.w3.org/TR/did-core/#did-syntaxg | ||
| - CIP-0066 NFT-Identity | ||
|
|
||
| ## Copyright | ||
|
|
||
| This CIP is licensed under CC-BY 4.0 | ||
Uh oh!
There was an error while loading. Please reload this page.