TalaoDAO / AltMe

Talao / Altme wallet : Open source Self Sovereign Identity wallet. Multi ecosystem support : EBSI conformant. ARF EUDI wallet implementation, DIIP and more.
https://talao.io
Apache License 2.0
48 stars 14 forks source link

Tezos DID-Method #2564

Open jdsika opened 7 months ago

jdsika commented 7 months ago

The Tezos-DID Method document is not maintained anymore see here.

! There is a call for maintainers !

It came up because I was updating the Chain Agnostic improvement proposals mentioned in #2523 for CAIP-2/10/122 and I realized that the Tezos DID URN was not correctly used in the credentials mentioned here.

After stating this in my issue I did also encounter the following w3c did-pkh-method-draft which correctly gives the examples like e.g.: did:pkh:tezos:NetXdQprcVkpaWU:tz1TzrmTBSuiVHV2VfMnGRMYvTEPCP42oSM8

instead of currently incorrectly: did:pkh:tz:tz1TzrmTBSuiVHV2VfMnGRMYvTEPCP42oSM8

The difference is that we should use the CAIP-10 compliant account-id correctly including the chain id

I think the correct way of the urn should be supported as well in Altme.

Best regards Carlo

ThierryThevenet commented 7 months ago

Hello In practice I think we dont have hands on that as we use the Flutter Dart lib provided by Spruce for did:pkh in ldp_vc format. The only place where we manage that is in the use of did:pkh with the vc_sd_jwt format

jdsika commented 7 months ago

To clarify: It is actually two different topics

1) Replace with CAIP-10 compliant URN: Old: did:pkh:tz:tz1TzrmTBSuiVHV2VfMnGRMYvTEPCP42oSM8 New: did:pkh:tezos:NetXdQprcVkpaWU:tz1TzrmTBSuiVHV2VfMnGRMYvTEPCP42oSM8

2) Do we even need a "did:tezos-Method" if there is a "did:pkh:tezos-method" ?

ThierryThevenet commented 7 months ago

I think the did:tezos method is dead, nobody uses did:tezos in practice. did:pkh is much more used We can use did:pkh:tezos:NetXdQprcVkpaWU:tz1xxxxx for VC in jwt format (jwt_vc_json, jwt_vc_json-ld) but i think didkit does not support the new syntax so we cannot sign VC in json-ld format with linked data proof.

jdsika commented 7 months ago

That would be worth a try:

We can use did:pkh:tezos:NetXdQprcVkpaWU:tz1xxxxx for VC in jwt format (jwt_vc_json, jwt_vc_json-ld) but i think didkit does not support the new syntax so we cannot sign VC in json-ld format with linked data proof.

ThierryThevenet commented 7 months ago

we already have it in jwt_vc_json format , we can change te credntialSubject.id and fix the "sub" which is incorrect in that one...

but it will require you to change the protocol to use OIDC4VP as this model is not supported by the previous protocol

that is what we have today eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImRpZDpwa2g6dHo6dHoxaW5ReG9TcVJZVmFRN1lOdWlIZ1U1ZDZTa0p2a0JRS2tkI2Jsb2NrY2hhaW5BY2NvdW50SWQifQ.eyJpYXQiOjE3MTM1MjY2MTYsImV4cCI6MTcxMzUyNzYxNiwiaXNzIjoiZGlkOnBraDp0ejp0ejFpblF4b1NxUllWYVE3WU51aUhnVTVkNlNrSnZrQlFLa2QiLCJqdGkiOiJ1cm46dXVpZDpiZmUxMjMyOS05YjUwLTQxOWItYmM1OS0zYmM3YjNlMzlhODIiLCJzdWIiOiJkaWQ6cGtoOnR6OnR6MWluUXhvU3FSWVZhUTdZTnVpSGdVNWQ2U2tKdmtCUUtrZCIsInZjIjp7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIix7IlRlem9zQXNzb2NpYXRlZEFkZHJlc3MiOnsiQGNvbnRleHQiOnsiQHByb3RlY3RlZCI6dHJ1ZSwiQHZlcnNpb24iOjEuMSwiYWNjb3VudE5hbWUiOiJzY2hlbWE6aWRlbnRpZmllciIsImFzc29jaWF0ZWRBZGRyZXNzIjoic2NoZW1hOmFjY291bnQiLCJjcnlwdG9XYWxsZXRQYXlsb2FkIjoic2NoZW1hOmlkZW50aWZpZXIiLCJjcnlwdG9XYWxsZXRTaWduYXR1cmUiOiJzY2hlbWE6aWRlbnRpZmllciIsImlkIjoiQGlkIiwiaXNzdWVkQnkiOnsiQGNvbnRleHQiOnsiQHByb3RlY3RlZCI6dHJ1ZSwiQHZlcnNpb24iOjEuMSwibmFtZSI6InNjaGVtYTpsZWdhbE5hbWUiLCJzY2hlbWEiOiJodHRwczovL3NjaGVtYS5vcmcvIn0sIkBpZCI6InNjaGVtYTppc3N1ZWRCeSJ9LCJzY2hlbWEiOiJodHRwczovL3NjaGVtYS5vcmcvIiwidHlwZSI6IkB0eXBlIn0sIkBpZCI6Imh0dHBzOi8vZ2l0aHViLmNvbS9UYWxhb0RBTy9jb250ZXh0I3Rlem9zYXNzb2NpYXRlZGFkZHJlc3MifX1dLCJpZCI6InVybjp1dWlkOmJmZTEyMzI5LTliNTAtNDE5Yi1iYzU5LTNiYzdiM2UzOWE4MiIsInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJUZXpvc0Fzc29jaWF0ZWRBZGRyZXNzIl0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7ImlkIjoiZGlkOmp3azpleUpqY25ZaU9pSlFMVEkxTmlJc0ltdDBlU0k2SWtWRElpd2llQ0k2SWpGa1dFTkVZMEl5WlUxZlYzSTVUMHhEVWt4UlVVeGFhemc0TlZWcVlrc3RkRUptYlVScVYzcFljamdpTENKNUlqb2lWVU55UlhVNE1URkNVVXR0VldWV01tMVNSamRTTlRaa00xOW5OakJ3VWxCM1RXVm1TakJyVUdoM1JTSjkiLCJpc3N1ZWRCeSI6eyJuYW1lIjoiTXkgd2FsbGV0In0sImFzc29jaWF0ZWRBZGRyZXNzIjoidHoxaW5ReG9TcVJZVmFRN1lOdWlIZ1U1ZDZTa0p2a0JRS2tkIiwiYWNjb3VudE5hbWUiOiJNeSBBY2NvdW50IDMiLCJ0eXBlIjoiVGV6b3NBc3NvY2lhdGVkQWRkcmVzcyJ9LCJpc3N1ZXIiOiJkaWQ6cGtoOnR6OnR6MWluUXhvU3FSWVZhUTdZTnVpSGdVNWQ2U2tKdmtCUUtrZCIsImlzc3VhbmNlRGF0ZSI6IjIwMjQtMDQtMTlUMTE6MzY6NTZaIiwicHJvb2YiOnsiQGNvbnRleHQiOnsiRWQyNTUxOUJMQUtFMkJEaWdlc3RTaXplMjBCYXNlNThDaGVja0VuY29kZWRTaWduYXR1cmUyMDIxIjp7IkBjb250ZXh0Ijp7IkBwcm90ZWN0ZWQiOnRydWUsIkB2ZXJzaW9uIjoxLjEsImNoYWxsZW5nZSI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjY2hhbGxlbmdlIiwiY3JlYXRlZCI6eyJAaWQiOiJodHRwOi8vcHVybC5vcmcvZGMvdGVybXMvY3JlYXRlZCIsIkB0eXBlIjoiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUifSwiZG9tYWluIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSNkb21haW4iLCJleHBpcmVzIjp7IkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjZXhwaXJhdGlvbiIsIkB0eXBlIjoiaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEjZGF0ZVRpbWUifSwiaWQiOiJAaWQiLCJqd3MiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I2p3cyIsIm5vbmNlIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSNub25jZSIsInByb29mUHVycG9zZSI6eyJAY29udGV4dCI6eyJAcHJvdGVjdGVkIjp0cnVlLCJAdmVyc2lvbiI6MS4xLCJhc3NlcnRpb25NZXRob2QiOnsiQGNvbnRhaW5lciI6IkBzZXQiLCJAaWQiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I2Fzc2VydGlvbk1ldGhvZCIsIkB0eXBlIjoiQGlkIn0sImF1dGhlbnRpY2F0aW9uIjp7IkBjb250YWluZXIiOiJAc2V0IiwiQGlkIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSNhdXRoZW50aWNhdGlvbk1ldGhvZCIsIkB0eXBlIjoiQGlkIn0sImlkIjoiQGlkIiwidHlwZSI6IkB0eXBlIn0sIkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjcHJvb2ZQdXJwb3NlIiwiQHR5cGUiOiJAdm9jYWIifSwicHVibGljS2V5SndrIjp7IkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjcHVibGljS2V5SndrIiwiQHR5cGUiOiJAanNvbiJ9LCJ0eXBlIjoiQHR5cGUiLCJ2ZXJpZmljYXRpb25NZXRob2QiOnsiQGlkIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSN2ZXJpZmljYXRpb25NZXRob2QiLCJAdHlwZSI6IkBpZCJ9fSwiQGlkIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSNFZDI1NTE5QkxBS0UyQkRpZ2VzdFNpemUyMEJhc2U1OENoZWNrRW5jb2RlZFNpZ25hdHVyZTIwMjEifSwiRWQyNTUxOVB1YmxpY0tleUJMQUtFMkJEaWdlc3RTaXplMjBCYXNlNThDaGVja0VuY29kZWQyMDIxIjp7IkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjRWQyNTUxOVB1YmxpY0tleUJMQUtFMkJEaWdlc3RTaXplMjBCYXNlNThDaGVja0VuY29kZWQyMDIxIn0sIlAyNTZCTEFLRTJCRGlnZXN0U2l6ZTIwQmFzZTU4Q2hlY2tFbmNvZGVkU2lnbmF0dXJlMjAyMSI6eyJAY29udGV4dCI6eyJAcHJvdGVjdGVkIjp0cnVlLCJAdmVyc2lvbiI6MS4xLCJjaGFsbGVuZ2UiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I2NoYWxsZW5nZSIsImNyZWF0ZWQiOnsiQGlkIjoiaHR0cDovL3B1cmwub3JnL2RjL3Rlcm1zL2NyZWF0ZWQiLCJAdHlwZSI6Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2RhdGVUaW1lIn0sImRvbWFpbiI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjZG9tYWluIiwiZXhwaXJlcyI6eyJAaWQiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I2V4cGlyYXRpb24iLCJAdHlwZSI6Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hI2RhdGVUaW1lIn0sImlkIjoiQGlkIiwiandzIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSNqd3MiLCJub25jZSI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjbm9uY2UiLCJwcm9vZlB1cnBvc2UiOnsiQGNvbnRleHQiOnsiQHByb3RlY3RlZCI6dHJ1ZSwiQHZlcnNpb24iOjEuMSwiYXNzZXJ0aW9uTWV0aG9kIjp7IkBjb250YWluZXIiOiJAc2V0IiwiQGlkIjoiaHR0cHM6Ly93M2lkLm9yZy9zZWN1cml0eSNhc3NlcnRpb25NZXRob2QiLCJAdHlwZSI6IkBpZCJ9LCJhdXRoZW50aWNhdGlvbiI6eyJAY29udGFpbmVyIjoiQHNldCIsIkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjYXV0aGVudGljYXRpb25NZXRob2QiLCJAdHlwZSI6IkBpZCJ9LCJpZCI6IkBpZCIsInR5cGUiOiJAdHlwZSJ9LCJAaWQiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I3Byb29mUHVycG9zZSIsIkB0eXBlIjoiQHZvY2FiIn0sInB1YmxpY0tleUp3ayI6eyJAaWQiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I3B1YmxpY0tleUp3ayIsIkB0eXBlIjoiQGpzb24ifSwidHlwZSI6IkB0eXBlIiwidmVyaWZpY2F0aW9uTWV0aG9kIjp7IkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjdmVyaWZpY2F0aW9uTWV0aG9kIiwiQHR5cGUiOiJAaWQifX0sIkBpZCI6Imh0dHBzOi8vdzNpZC5vcmcvc2VjdXJpdHkjUDI1NkJMQUtFMkJEaWdlc3RTaXplMjBCYXNlNThDaGVja0VuY29kZWRTaWduYXR1cmUyMDIxIn0sIlAyNTZQdWJsaWNLZXlCTEFLRTJCRGlnZXN0U2l6ZTIwQmFzZTU4Q2hlY2tFbmNvZGVkMjAyMSI6eyJAaWQiOiJodHRwczovL3czaWQub3JnL3NlY3VyaXR5I1AyNTZQdWJsaWNLZXlCTEFLRTJCRGlnZXN0U2l6ZTIwQmFzZTU4Q2hlY2tFbmNvZGVkMjAyMSJ9fSwidHlwZSI6IkVkMjU1MTlCTEFLRTJCRGlnZXN0U2l6ZTIwQmFzZTU4Q2hlY2tFbmNvZGVkU2lnbmF0dXJlMjAyMSIsInByb29mUHVycG9zZSI6ImFzc2VydGlvbk1ldGhvZCIsInZlcmlmaWNhdGlvbk1ldGhvZCI6ImRpZDpwa2g6dHo6dHoxaW5ReG9TcVJZVmFRN1lOdWlIZ1U1ZDZTa0p2a0JRS2tkI2Jsb2NrY2hhaW5BY2NvdW50SWQiLCJjcmVhdGVkIjoiMjAyNC0wNC0xOVQwOTozNjo1Ni4zMTNaIiwiandzIjoiZXlKaGJHY2lPaUpGWkVKc1lXdGxNbUlpTENKamNtbDBJanBiSW1JMk5DSmRMQ0ppTmpRaU9tWmhiSE5sZlEuLkstSmZTbEFGTnZuVmlnRTBzbGdUZU1qMjRqMXZNSmh5SFY1UzVkSDQ4OXl5QkpCSU1RR00xUUtnS3RMNXRwQlZJVFpGc0RhMDJtaG8xYXFiTzk5UUJnIiwicHVibGljS2V5SndrIjp7ImNydiI6IkVkMjU1MTkiLCJrdHkiOiJPS1AiLCJ4IjoiZFM2blVFblVTWVZFNnRuV1pmM2VDVl9RaE96NFNRM2ZJd2dfTVJ1OExxNCJ9fX19.dOX-hsgKkRp2pXbjkuZHZJyl0jm_-5_362yaYQz8y-alZSJC2_g3SHiRbEhFWHk4fJkuqUhGTUoDQIzkDZettQ

jdsika commented 4 months ago

I think I have to discuss this with @jfelixh

Are you sure it cannot be used with json-ld - did you test it?

ThierryThevenet commented 4 months ago

The only lib we have to sign with did:pkh and jdon ld on flutter is the one provided by Spruce and it looks like they do not maintain it anymore. So the did:pkh is still the previous version with did:pkh:tz1 and no chain id