-
Notifications
You must be signed in to change notification settings - Fork 334
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
CIP-0077? | Verified Stake Pool Identity #361
Closed
Closed
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
546b7ab
Create README.MD
Maetti79 3d18e76
Update README.MD
Maetti79 eed306f
Update README.MD
Maetti79 d0acdce
Update README.MD
Maetti79 1d52bda
Update README.MD
Maetti79 d71712d
Update README.MD
Maetti79 f049bed
Update README.MD
Maetti79 f147c51
Update README.MD
Maetti79 3c05934
Update README.MD
Maetti79 0aeff3b
Update README.MD
Maetti79 e0b63f3
Update CIP-0071/README.MD
Maetti79 250cf86
Update CIP-0071/README.MD
Maetti79 50706a1
Update CIP-0071/README.MD
Maetti79 d04a3b8
no hyphen in "stake pool" and no such thing as "staking pool"
rphair ac2f8e4
Merge pull request #1 from rphair/patch-1
Maetti79 d8b4604
Update CIP-0071/README.MD
Maetti79 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,240 @@ | ||
--- | ||
CIP: 77 | ||
Title: Verified Stake Pool Identity | ||
Authors: Dennis Mittmann <[email protected]> | ||
Status: Proposed | ||
Type: Process | ||
Created: 2022-10-18 | ||
License: CC-BY-4.0 | ||
--- | ||
|
||
## Abstract | ||
|
||
This CIP defines a standard to verify Stake Pools using Decentralized Identifiers (DID) | ||
|
||
## Motivation | ||
|
||
The verification process of the authenticity of Stake Pools is currently a centralized effort. | ||
|
||
## Specification | ||
|
||
### High-Level Overview | ||
|
||
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. | ||
|
||
## 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 |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The 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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The 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."