# District Labs ## Delegatable / District Labes / Disco.xyz /... * Delegatable * Solidity のフレームワーク * District Labs * DelegatableやTAGを活用して、VC/DIDベースのアクセスコントロールを提供する * Disco.xyz * 上記を使用しつつ、 * Disco公式のVCを発行するサービス * VC・DIDのAPIゲートウェイを提供 * DiscoxyzAPIなど出す予定 * 現在は Ceramics Network を使っている * TurboETH * DiscoxyzAPI を使ってみたというフロントエンドのexample ## Delegatable * *Counterfactual Delegation* を可能にする Solidity のフレームワーク ### Counterfactual Delegation * ロールの情報をdApp内には持たず、off-chainで処理したり、tx内に制御情報を持たせて処理 * アカウント間で推移的に権限を委譲できる(権限は絞れる) ![](https://i.imgur.com/05R2sDX.jpg) ## District Labs ### Trust Anchor Gateway (TAG) * off-chainでVC/DIDを解釈して、on-chainで解釈可能なアクセス制御(JITAccessControl)を発行する * on-chainの情報(timestamp, token所持など)も制御に組み合わせられる(Caveat Enforcers) * multisigのような運用が検討されている https://mirror.xyz/districtlabs.eth/WKdxT_eZbWqu9EVGWhjYIUoHavIQcJfhLceIUTZwhws https://mirror.xyz/districtlabs.eth/8C2B1iL22aGQ2ihist3x0-nUjqCOUAvLHVNpiBq-NYo ![](https://i.imgur.com/FAswC70.png) --- ![](https://i.imgur.com/0ck4WBT.png) ## Disco.xyz ![](https://i.imgur.com/Y23zzOo.png) ![](https://i.imgur.com/kED6p5N.png) ```jsonld {"id":"did:3:kjzl6cwe1jw145ltolsez9qm7q65uw60n3cx001p7gs1x2q7rcaft9f3eybi48t#eaf7052b-4da3-4a20-accb-370cd3841ef8","type":["VerifiableCredential","MembershipCredential"],"genId":"44745c53-a1d9-4ddc-b191-2b86cfea4948","proof":{"type":"EthereumEip712Signature2021","created":"2022-10-21T19:08:38.053Z","proofValue":"0x4291116c532f56dec309c849351f1ab41685b67064e84a71e54a95b6c10bdb1333659ae48000a0afd75557af9d64bbc0cb4637c686889e840efaf4de2dc88b081b","eip712Domain":{"domain":{"name":"","chainId":1,"version":"1"},"primaryType":"VerifiableCredential","messageSchema":{"Proof":[{"name":"created","type":"string"},{"name":"proofPurpose","type":"string"},{"name":"type","type":"string"},{"name":"verificationMethod","type":"string"}],"Issuer":[{"name":"id","type":"string"}],"EIP712Domain":[{"name":"name","type":"string"},{"name":"version","type":"string"},{"name":"chainId","type":"uint256"}],"CredentialSubject":[{"name":"id","type":"string"},{"name":"organization","type":"string"}],"VerifiableCredential":[{"name":"@context","type":"string[]"},{"name":"credentialSchema","type":"CredentialSchema"},{"name":"credentialSubject","type":"CredentialSubject"},{"name":"id","type":"string"},{"name":"issuanceDate","type":"string"},{"name":"issuer","type":"Issuer"},{"name":"proof","type":"Proof"},{"name":"type","type":"string[]"}],"CredentialSchema":[{"name":"id","type":"string"},{"name":"type","type":"string"}]}},"proofPurpose":"assertionMethod","verificationMethod":"did:3:kjzl6cwe1jw145ltolsez9qm7q65uw60n3cx001p7gs1x2q7rcaft9f3eybi48t#controller"},"issuer":{"id":"did:3:kjzl6cwe1jw145ltolsez9qm7q65uw60n3cx001p7gs1x2q7rcaft9f3eybi48t"},"@context":["https://www.w3.org/2018/credentials/v1"],"isPublic":true,"recipient":"did:3:kjzl6cwe1jw14b7xqq94oiy0lcnndgyt0p3vtlnsscpljosx6gom46qkxcv8sjb","issuanceDate":"2022-10-21T19:08:37.287Z","credentialSchema":{"id":"https://raw.githubusercontent.com/discoxyz/disco-schemas/main/json/MembershipCredential/1-0-0.json","type":"JsonSchemaValidator2018"},"credentialSubject":{"id":"did:3:kjzl6cwe1jw14b7xqq94oiy0lcnndgyt0p3vtlnsscpljosx6gom46qkxcv8sjb","organization":"BoysClub"}} ``` ## 宿題の回答 - アクセス制御が入っているか - JITAccessControl を発行して制御 - 見せたい人のコントロールが可能か? - Disco.xyz --- [全体公開 / 自分のみ の二値しかない](https://docs.disco.xyz/learn/faq#are-my-disco-credentials-private) - Trustpointになっている箇所の整理 - TrustAnchorGateway(TAG) - consorcium 的な multisig などで分散化を予定 - 詳細の設計は固まっていない - このサービスを使う方向感 - VCをoff-chainにする場合は、Verifier側のdAppで使えそう - サービス自体がZKやAAの環境が整うまでの間の現状の折衷案を目的に提供されている