---
# System prepended metadata

title: District Labs

---

# 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の環境が整うまでの間の現状の折衷案を目的に提供されている
