<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>District Labs</title>
        <link>https://paragraph.com/@districtlabs</link>
        <description>A simple workflow for building on decentralized infrastructure.</description>
        <lastBuildDate>Fri, 05 Jun 2026 15:38:48 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <image>
            <title>District Labs</title>
            <url>https://storage.googleapis.com/papyrus_images/7d85cba77ad0b252f4838251ab315f36d39f4820f53f87ee3038b503c1a95800.png</url>
            <link>https://paragraph.com/@districtlabs</link>
        </image>
        <copyright>All rights reserved</copyright>
        <item>
            <title><![CDATA[Web3 of Trust ⎊ Invitation]]></title>
            <link>https://paragraph.com/@districtlabs/web3-of-trust-invitation</link>
            <guid>N6dgo4hCrBwW7pEIbjSG</guid>
            <pubDate>Mon, 13 Mar 2023 13:50:32 GMT</pubDate>
            <description><![CDATA[The Internet is evolving. Complexity is increasing. We are moving towards a more complete future. We need to connect, coordinate and create a map of this new digital frontier. The W3T coalition will be focused on catalyzing a Web3 hyper-growth moment. Creating space for an identity hyperstructure to emerge. Initial Responsibilities:Public Key InfrastructureVerifiable Credential SchemasData Stream StandardsWhyNext generation Internet applications require a new foundation. A robust information ...]]></description>
            <content:encoded><![CDATA[<p>The Internet is evolving. <strong>Complexity is increasing.</strong> We are moving towards a more complete future. We need to connect, coordinate and create a map of this new digital frontier.</p><p>The W3T coalition will be focused on catalyzing a Web3 hyper-growth moment. Creating space for an identity hyperstructure to emerge.</p><p>Initial Responsibilities:</p><ul><li><p>Public Key Infrastructure</p></li><li><p>Verifiable Credential Schemas</p></li><li><p>Data Stream Standards</p></li></ul><h3 id="h-why" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Why</h3><p><strong>Next generation Internet applications require a new foundation.</strong> A robust information taxonomy system. Decentralized and distributed systems demand standards, specifications and interoperability.</p><p>Without a shared substrate to connect our applications we can&apos;t build a better Web3.</p><p><em>Interested in joining the Web3 of Trust?</em></p><p>Apply to join the coalition at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.web3oftrust.app/">web3oftrust.app</a></p><p><strong>Together lets grow a Web3 of Trust</strong> - people, organizations and companies committed to catalyzing an Identity hyper-growth moment.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/795e92cc40f3acddfd959ccc7a658e8ab8251f776290fe2e9b7e9a86783b9267.jpg" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure>]]></content:encoded>
            <author>districtlabs@newsletter.paragraph.com (District Labs)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/3539d15dde3b44f01a0928b5ee97f29c9408d75a3b56e75d229bff40ac591cb4.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Trust Anchor Gateway: The Bridge Between Off-chain Data and On-chain Access Controls]]></title>
            <link>https://paragraph.com/@districtlabs/trust-anchor-gateway-the-bridge-between-off-chain-data-and-on-chain-access-controls</link>
            <guid>k0rYEayngMP7FkloqIdH</guid>
            <pubDate>Fri, 06 Jan 2023 17:44:00 GMT</pubDate>
            <description><![CDATA[In web3, more data == more problems. Why? Because blockchains are terrible for data storage, and thus most dApps forgo utilizing any user data. This leads to a degraded user experience where:Authentication wholly relies on private keys, not people’s identitiesTechnical complexity in connecting multiple services requires users to sign numerous messagesAuthorization is granted based on predefined rules instead of dynamically shared capabilitiesPermissions cannot be applied across multiple execu...]]></description>
            <content:encoded><![CDATA[<p>In web3, more data == more problems.</p><p>Why?</p><p>Because blockchains are terrible for data storage, and thus most dApps forgo utilizing any user data. This leads to a degraded user experience where:</p><ol><li><p>Authentication wholly relies on private keys, not people’s identities</p></li><li><p>Technical complexity in connecting multiple services requires users to sign numerous messages</p></li><li><p>Authorization is granted based on predefined rules instead of dynamically shared capabilities</p></li><li><p>Permissions cannot be applied across multiple execution environments, i.e. Ethereum, Optimism, Polygon, Fuel, Celestia, etc.</p></li><li><p>Dapps cannot recognize a user with multiple wallets</p></li><li><p>Users aren’t notified when important events are emitted</p></li></ol><p>These complications are hard on both users and developers. Users have a hard time understanding what they’re signing and expressing their intentions to an dApp, and developers struggle with the technical complexities of connecting multiple services.</p><p>Decentralized identity and data storage layers have emerged as the leading solution to web3’s data problem, but interoperability between these off-chain resources and on-chain actions remains unsolved. </p><p>We are introducing the Trust Anchor Gateway (TAG) architecture to bridge off-chain data and on-chain access controls, so developers can build seamless user experiences that are private and secure for their users. Designed to be lightweight and flexible, a TAG provides a path forward for using verifiable credentials and other off-chain information to generate just-in-time access controls for smart contracts.</p><p>In this article, we’ll explain:      1. What is a just-in-time (JIT) access control      2. Why use a Trust Anchor Gateway      3. How District builds for access controls at scale</p><h2 id="h-what-is-a-jit-access-control" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What is a JIT Access Control</h2><p>A JITAccessControl is a method of granting real-time granular access to an application or resource to perform a task. Instead of giving always-on access (standing access) to a resource, JITAccessControls allow developers to limit access to a specific time frame, mitigating the risk of privileged account abuse.</p><p>In the web3 context, the JITAccessControl is executed via a signed delegation and invocations using the <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://delegatable.org">Delegatable</a> framework. Delegatable uses a combination of new and existing smart contract patterns (meta-transactions, nonce-queues and caveat enforcers) to establish a smart contract implementation of executable transaction conditionals.</p><p><strong>Executable transaction conditionals</strong> (via caveat enforcers) enable the expression of intentions via rules and conditions for when a transaction can be executed without a prior write to a smart contract’s storage. This is the opposite approach to the one taken by many of today’s smart contract permissions and access control systems like AccessControl.sol in OpenZeppelin, NFT minting whitelists, DAO resources (Moloch, Aragon, etc.) which all require prior interactions with a blockchain before an Account is granted permissions to a resource.</p><p>In other words, without a direct write to the blockchain, JITAccessControls enable TrustAnchorGateways to enforce when a transaction should execute: between timestamp ranges, only if a user has an ENS domain, if a user holds a specific Soulbound item, etc...</p><h2 id="h-why-use-a-trust-anchor-gateway-tag" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why use a Trust Anchor Gateway (TAG)</h2><p>The TAG architecture is designed to be a horizontally scalable solution for generalized permissions systems in a multi-blockchain world. The design builds upon the long-standing concepts behind <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://csrc.nist.gov/glossary/term/trust_anchor">Trust Anchors</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Web_of_trust">Web of Trust</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Public_key_infrastructure">Public Key Infrastructure</a>, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Self-sovereign_identity">Self-sovereign Identity</a>, and the more recently ratified <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://www.w3.org/TR/vc-data-model/">W3C Verifiable Credential</a> specification, and applies them to the web3 context.</p><p>Like Trust Anchors in a Web of Trust, a TAG acts as an arbiter of truth when migrating data between environments (physical and digital) which cannot easily be done using cryptographically verifiable methods. Simply put, the TAG is a <em>trusted</em> intermediary when it’s <strong>impossible</strong> to create a link from <em>statement</em> to <strong>cryptographically verifiable statement</strong>, attesting to the truth <em>(or expressed truth)</em> about a fact of the physical/digital world.</p><p>The structure allows a TAG to provide just-in-time on-chain access controls, bridging the gap between off-chain data and resources, like self-sovereign identity or verifiable credentials, and on-chain smart contract actions like lending in a permissioned pool or minting an NFT. </p><p>Instead of relying on smart contract registries to manage permissions, which are inherently unscalable in a multi-chain and multi-execution environment world, users are given access to smart contracts via <strong>JITAccessControls</strong> which can be codified with <strong>dynamic rules and conditions</strong> at the time of issuance.</p><p>This greatly expands the scope of what’s possible on-chain, including fully permissioned DeFi that marries institutional-grade compliance standards with code-enforced transparency, permissioned liquidity pools that are compliant with KYC/AML standards, and unified user experiences across blockchains and wallets.</p><h3 id="h-dynamic-permissions-and-access-controls" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">Dynamic Permissions &amp; Access Controls</h3><p>What’s most unique about Trust Anchor Gateways is the ability to define dynamic and complex rules for when and how a transaction should be executed.</p><p>Execution rules are encoded inside Delegations (off-chain) and validated at run-time i.e. when the transaction is being executed. The conditional transaction execution rules rely on modular and composable enforcers responsible for “enforcing” a very specific conditional:</p><ul><li><p>Before/After/Between Timestamps</p></li><li><p>Before/After/Between Block Numbers</p></li><li><p>ERC20 Token Spending Allowance</p></li><li><p>Account has ownership of 5 unique NFTs</p></li><li><p>Governance proposal outcomes (Pass/Fail)</p></li><li><p>And much more!</p></li></ul><p>Trust Anchor Gateways have flexibility when it comes to defining conditional transaction execution rules. This is because enforcers can easily be composed together i.e. dynamic access controls without redeploying smart contracts or re-architecting the underlying protocols permissioning system, when it’s time to introduce new execution conditionals.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/8c8d6a1a0c954be23314ec8decf6b0a103e2b62035b859840ef17f64f9d5b2c4.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>The conditional transaction execution pattern unlocks a new product development space for sybil resistant smart contracts. Specifically smart contracts that require just-in-time access controls and fine-tuned permissions systems using dynamic off-chain authentication systems.</p><p>Delegations enable privacy preserving features like using new/unfunded wallets to perform on-chain actions, but have been verified off-chain using decentralized identifiers and verifiable credentials.</p><p>TrustAnchorGateways can also be <strong>privacy preserving by default</strong>. Decoupling a “root” account which has been issued Verifiable Credentials and “leaf” accounts which are given the JITAccessControl to take actions unlocked by the root accounts VCs. </p><p>Instead of a single account (which is simply bad operational security) granted permissions across many different services, and leaving an easily traceable digital footprint, a TrustAnchorGateway is able sign JITAccessControls for “leaf” accounts also owned by the “root” account, but which have no direct correlation on-chain. Allowing a User to access a cryptographically secured resource, without revealing to the world who they are or why they have these permissions/credentials.</p><p>Delegatable’s caveat enforcer pattern will change how we handle everything from DAO resource management to institutions integrating KYC into their decentralized finance flows.</p><p><strong>Modularity and composability are incredibly powerful</strong>. Creating space for experimentation and growth.</p><h3 id="h-trustanchorgateway-networks" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">TrustAnchorGateway Networks.</h3><p>A Trust Anchor Gateway can act alone or it can be part of a network. </p><p><em>Why join a TAG network?</em></p><p><strong>Security.</strong></p><p>If a smart contract relies on a single off-chain TrustAnchorGateway and that TAG is compromised (or starts to act maliciously) the smart contract inheriting it’s security from the gateway is also compromised.</p><p>But, if a smart contract inherits security from a network of TrustAnchorGateways, and the TAGs also operate independently, the ability for a bad actor to compromise the smart contract’s access control system is greatly diminished, because it becomes exponentially more difficult to compromise multiple (<em>professionally operated</em>) TrustAnchorGateways.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/42934205b921186c65104ec3fa1e3eaf067057a716b7cf2ed76b8ed9c291ffcd.png" alt="Disclaimer: The V0 technical specification for a Trust Anchor Gateway network is still being finalized, but a prototype is scheduled to launch in Q1 of 2023." blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">Disclaimer: The V0 technical specification for a Trust Anchor Gateway network is still being finalized, but a prototype is scheduled to launch in Q1 of 2023.</figcaption></figure><h2 id="h-how-district-builds-for-access-controls-at-scale" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">How District Builds for Access Controls at Scale</h2><p>A Trust Anchor Gateway is designed to sit between a Decentralized Identity Gateway, like Disco, and public blockchains execution environments like Ethereum and Optimism.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/c276adfb04f3d25d123bc39227252a45bbd6333bdc5d4e62b8848de28d42c18f.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>With access to a private key (EVM Account) the Trust Anchor Gateway is able to sign valid Ethereum transactions. </p><p>The transactions, using the Delegatable framework, are encoded with <strong>conditional transaction execution rules</strong> using <strong>counterfactual statements</strong>. Or put more simply, the TAG can issue JITAccessControls with bounded rules, like the transaction must be submitted between two timestamps or before/after a specific block number without ever requiring a direct write to smart contract storage before the transaction is submitted.</p><h1 id="h-conclusion" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h1><p>The underlying capabilities (inherited from Delegatable framework) of TrustAnchorGateways emulates properties found in planned Ethereum upgrades like EIP-4337: Account Abstraction.</p><p>When native account abstraction support arrives, the TrustAnchorGateway patterns and networks will be directly applicable and the enforcer pattern underpinning Delegatable will supercharge native Account Abstraction. </p><p>How? </p><p>Individual accounts can instantly gain access to advanced social recovery and dead-man switch infrastructure via established TrustAnchorGateway networks. We see a future world where TrustAnchorGateways help onboard 1,000,000’s of Users into Web3, because we make it easy, safe and scalable for the everyday user to experience the power of decentralized technologies, without sacrificing security and sovereignty.</p><p>Why is this important? </p><p>TrustAnchorGateways are designed to grow in complexity overtime.</p><p><strong>Gall’s Law:</strong> A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://principles-wiki.net/principles:gall_s_law">http://principles-wiki.net/principles:gall_s_law</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/JasonRogues/status/1608532240123760641">https://twitter.com/JasonRogues/status/1608532240123760641</a></p><p>In the future TrustAnchorGateways can include threshold cryptography, multi-party compute, zero-knowledge proofs, plus other combinations of yet to be discovered cryptographic ceremonies for constructing decentralized and distributed access control systems… <strong>once the hard work of finding product market fit is complete.</strong></p><p>Right now Districts Labs is focused on bringing verifiable credentials into blockchain execution environments without sacrificing privacy. Taking into account the constraints/standards we have today, while also preparing to meet the demands of tomorrow. </p><p>District Labs is preparing for this future (millions of Web3 users) by creating the infrastructure, networks and protocols for a safe, secure and scalable User experience in a decentralized world.</p><p>Ready to join us?</p><p>Learn more at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://www.districtlabs.com">www.DistrictLabs.com</a></p><p>Authors,</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/KamesGeraghty">Kames Geraghty</a>, CTO at District Labs</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/0xJBass">Justin Bassey</a>, CEO of District Labs</p>]]></content:encoded>
            <author>districtlabs@newsletter.paragraph.com (District Labs)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/77e31007ef7c54847641d8ffd9598838ea27add54ead714bbcbf4d2159df980b.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Verifiable Credentials as Access Controls for public Blockchains-Is it possible?]]></title>
            <link>https://paragraph.com/@districtlabs/verifiable-credentials-as-access-controls-for-public-blockchains-is-it-possible</link>
            <guid>aT7ODSTO7KGKJFaqlHq0</guid>
            <pubDate>Fri, 06 Jan 2023 17:43:24 GMT</pubDate>
            <description><![CDATA[Pushed forward by companies like Disco and made possible by teams like uPort/3Box (creators of the 3ID specification) Verifiable Credentials (paired with DIDs) provide a new way to imagine digital identity. Verifiable credentials (VCs) are an essential building block to fully realizing web3’s vision. Spearheaded by the teams at uPort, Disco, and others, VCs provide a new way to image digital identity by inverting the trust model of the internet, putting the holder of a credential at the cente...]]></description>
            <content:encoded><![CDATA[<p>Pushed forward by companies like Disco and made possible by teams like uPort/3Box (creators of the 3ID specification) Verifiable Credentials (paired with DIDs) provide a new way to imagine digital identity.</p><p>Verifiable credentials (VCs) are an essential building block to fully realizing web3’s vision. Spearheaded by the teams at uPort, Disco, and others, VCs provide a new way to image digital identity by inverting the trust model of the internet, putting the holder of a credential at the center of trust, as opposed to companies like Facebook and Google.</p><p>As blockchain technology gains popularity, self-sovereign identity will become a fundamental mechanism in governing the exchange of data and monitoring who has access to what resources. However, VCs live off-chain, so <strong><em>how can we use verifiable credentials to provide on-chain access controls across public blockchains?</em></strong></p><h2 id="h-the-underlying-problem" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">The Underlying Problem</h2><p>Generally speaking, verifiable credentials are not a blockchain technology. Blockchains are public ledgers and registering personal identifying and private information on-chain largely defeats the inherit privacy preserving properties of VCs.</p><p>Verifiable Credentials enable the cryptographic verification of data authenticity, without relying on a centralized authority to verify the legitimacy of the supplied attestations/information. In this context, utilizing public blockchains to register decentralized identifiers or act as public key infrastructure is a great use case, but ultimately blockchains should not be considered a piece of the Decentralized Identifier and Verifiable Credential stack.</p><p>Verifiable credentials, by themselves help solve several core problems with today’s Internet:</p><ol><li><p><strong>Data Authenticity</strong> i.e. where did this information come from</p></li><li><p><strong>Credential Verification</strong> i.e. why is information important and to whom</p></li><li><p><strong>Privacy Preserving</strong> i.e can be stored anywhere without losing properties 1 and 2</p></li></ol><p>However,a scalable, secure, and private identity stack is meaningless unless it is able to interoperate with the other systems around us, primarily blockchains like Ethereum. Whether it’s a close-knit DAO operating an on-chain treasury or regulated entities interoperating with decentralized finance hyperstructures, unlocking real-time access controls in smart contracts is essential to the growth and evolution of Web3.</p><p>Large institutions have to consider compliance and regulatory constraints when interacting with DeFi protocols, a significant obstacle to institutional web3 adoption today. Organizations like J.P. Morgan have already begun experimenting with using Verifiable Credentials to unlock access controls in blockchain systems.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/blockworks_/status/1587777026286657539">https://twitter.com/blockworks_/status/1587777026286657539</a></p><p>So, how can we bring together self-sovereign identity and public blockchains like Ethereum?</p><p>District Labs has a few ideas.</p><h2 id="h-web3-of-trust-next-generation-access-controls" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Web3 of Trust - Next Generation Access Controls</h2><p>Verifiable Credentials and Decentralized Identifiers are two closely related W3C (World Wide Web Consortium) specifications. When used together the two specifications can enable what is called a Web of Trust.</p><p>A <strong>Web of Trust</strong> is where <strong>Internet native digital identities</strong> can begin to emerge.</p><p>Instead of relying on centralized authorities to control our digital identities, we can start to form connections and relationships using cryptography: <strong>with or without blockchains.</strong></p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/d07b61e93c8ce6117daaee53d30db1fa180e2a81d1b2c2e79878752b0517a6f1.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>What we really want (and need) is the ability for <strong>trust</strong> to have <strong>transitive</strong> properties. To allow our digital identities to be utilized and contextualized across a range of digital environments, whether that’s in small localized networks (friends/family) or global coordination systems like the Ethereum blockchain.</p><h2 id="h-unlocking-smart-contracts-using-verifiable-credentials" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Unlocking Smart Contracts using Verifiable Credentials</h2><p>The root of our problem starts with the fact that smart contracts on public blockchains have limited <strong>access control capabilities</strong> and are prone to <strong>sybil attacks</strong>. That’s on purpose. Blockchains are designed to be open and accessible for everyone. Because it needs to be. It’s a global coordination system.</p><p>But that does not mean we want every public smart contract method to be accessible by everyone. <em>In fact quite the opposite</em>. We want people and organizations to have real-time access controls for blockchain smart contracts.</p><p>Can we solve these problems inherent to blockchains?</p><p>Yes! And it starts with building a trust network.</p><h1 id="h-trustanchorgateway" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">TrustAnchorGateway</h1><p>The question we really need to ask now is… <em>“Can Verifiable Credentials solve the smart contract access control problem and also help address sybil resistance at scale, without sacrificing the primary benefits of Verifiable Credentials?”</em></p><p>The District Labs TrustAnchorGateway V0 is a proof of concept to help answer that question.</p><p>The TrustAnchorGateway is an off-chain API service designed and developed by District Labs and Disco. The gateway converts verifiable credentials into smart contract access controls using counterfactual delegation via the Delegatable framework.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://delegatable.org">http://delegatable.org</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/delegatable/delegatable-sol">https://github.com/delegatable/delegatable-sol</a></p><p>Providing a pathway from off-chain data to on-chain permissions via a simple and easy-to-understand architecture, while also preserving the privacy of the verifiable credential holder. User’s are given permissions in real-time i.e a <strong>just-in-time access control</strong>.</p><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/342724aca08b22df45f2c35252a4cd1588b96c168485619687e38bc1733cc592.png" alt="" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="hide-figcaption"></figcaption></figure><p>Before we get into the specifics of the implementation let’s first take a step back.</p><p>A traditional <strong>Web of Trust</strong> uses <strong>Trust Anchors</strong> to issue <strong>Verifiable Credentials</strong>.</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Web_of_trust">https://en.wikipedia.org/wiki/Web_of_trust</a></p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://en.wikipedia.org/wiki/Trust_anchor">https://en.wikipedia.org/wiki/Trust_anchor</a></p><p>A <strong>Trust Anchor Gateway</strong> is an extension of the <strong>Trust Anchor</strong> concept applied to Web3.</p><p>Trust Anchors, in a Web of Trust issue Verifiable Credentials.</p><p>Trust Anchor Gateway in a Web3 of Trust issue JITAccessControls from Verifiable Credentials.</p><p>Similar to Trust Anchors in a traditional Web of Trust, the Trust Anchor Gateway in a Web3 of Trust acts as arbiters of “truth” about the world from a non-blockchain perspective. In other words, a TrustAnchorGateway is designed to be an intermediary between off-chain data and on-chain access controls.</p><h2 id="h-why-trustanchorgateways" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Why TrustAnchorGateways?</h2><p><strong>The short answer:</strong> The Verifiable Credential specification was designed to be privacy preserving.</p><p>And as it stands blockchains are less than ideal when it comes to preserving privacy for users. Until we have robust zero-knowledge infrastructure and better Verifiable Credential adoption and usage we need solutions that address today’s problems.</p><p>**We don’t want to compromise on security.**But we also want something that will meet today’s needs.</p><p>The Trust Anchor Gateway is designed to maintain privacy preservation of Verifiable Credentials, while also adding scalable sybil resistance at the smart contract access control level.</p><p>**The long answer: **Zero-knowledge proofs in a public blockchain environment provide a lot of utility.</p><p>One of which is access controls using privacy preserving methods. Identity systems like <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://iden3.io">iden3.io</a> and <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="http://semaphore.appliedzkp.org">semaphore.appliedzkp.org</a> play a big part in scaling of Web3 ecosystems; both at a blockchain protocol layer, and when applied in the right context at the application layer.</p><p>But, they’re also complex and don’t lend themselves to shorter development lifecycles, where flexibility is equally important as functionality.</p><p>Zero-knowledge proofs are intricate, require specialized knowledge to do right, and much of the underlying technology is still very new. If the underlying smart contract containing the zero-knowledge circuits contains a bug the security of the entire system is compromised.</p><h3 id="h-a-strong-focus-on-standards-flexibility-and-simplicity" class="text-2xl font-header !mt-6 !mb-4 first:!mt-0 first:!mb-0">A strong focus on standards, flexibility, and simplicity</h3><p>TrustAnchorGateways take a pragmatic approach to on-chain access controls using off-chain data.</p><ol><li><p>Use existing standards i.e. Verifiable Credentials and Decentralized Identifiers.</p></li><li><p>Easily scalable architecture and customizable off-chain API infrastructure.</p></li><li><p>Signing standard (EIP712) that is both human readable and machine interpretable. Balancing developer experience, security, and functionality.</p></li></ol><h2 id="h-a-trustanchorgateway-live-demonstration" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">A TrustAnchorGateway Live Demonstration</h2><p>Want to see a TrustAnchorGateway in action? Do you have an official Disconaut Credential that is publicly accessible? Visit <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://disco.districtlabs.com">https://disco.districtlabs.com</a> and mint a Disco District NFT today.</p><p>The Disco District NFT is available on the Ethereum and Optimism networks.</p><h1 id="h-conclusion" class="text-4xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Conclusion</h1><p>Verifiable Credentials and Decentralized Identifiers are W3C specifications reshaping the building blocks for modern digital identities. Blockchain technologies (Ethereum, Optimism, Celestia, etc…) are fundamentally changing the way we coordinate at scale.</p><p>Together these two Web3 technologies (self-sovereign identity and blockchains) will change how we think about ourselves and the world around us. A launchpad into a new digital frontier.</p><p>As a previous member of uPort (one of the original teams pushing forward Decentralized Identity in Web3) and early contributor to the 3ID specification (product design and name) I’m excited to see the resurgence of Verifiable Credentials thanks in large part to the Disco team.</p><p>Authors,</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/KamesGeraghty">Kames Geraghty</a>, CTO at District Labs</p><p><a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://twitter.com/0xJBass">Justin Bassey</a>, CEO at District Labs</p>]]></content:encoded>
            <author>districtlabs@newsletter.paragraph.com (District Labs)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/c939e4abf1fda3c95101706b06e8afdb5f7f921bf02dd502c892cceddcc901d4.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[District: Everything Needs Permission]]></title>
            <link>https://paragraph.com/@districtlabs/district-everything-needs-permission</link>
            <guid>b8p6KXKXfJcHUugdM1FQ</guid>
            <pubDate>Mon, 05 Dec 2022 18:55:41 GMT</pubDate>
            <description><![CDATA[Like the Internet, the blockchain was developed to create an anti-fragile system resilient to centralized issuance and control. Take down or corrupt any node in the system, and messages or transactions can still be trusted to execute as intended. The convergence of these technologies has given us web3, where data is stored in the fabric of the internet itself and information is owned and managed by users rather than applications. This paradigm shift creates new challenges for users who are in...]]></description>
            <content:encoded><![CDATA[<p>Like the Internet, the blockchain was developed to create an anti-fragile system resilient to centralized issuance and control. Take down or corrupt any node in the system, and messages or transactions can still be trusted to execute as intended.</p><p>The convergence of these technologies has given us web3, where data is stored in the fabric of the internet itself and information is owned and managed by users rather than applications.</p><p>This paradigm shift creates new challenges for users who are increasingly responsible for managing the flow of information online, but lack the tools to govern how their data is shared. In other words, even though web3 allows people to own their information, it’s hard for them to understand who can see it or if it’s even safe.</p><h2 id="h-web3-identity-and-data-ownership" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Web3 Identity &amp; Data Ownership</h2><p>As web3 scales beyond self-contained ecosystems to interoperate with other chains, data, and resources, identity plays an increasingly important role in ensuring a consistent and secure experience.</p><p>In web2, interoperability was primarily enabled by federated identity, in which information stored across separate identity management systems are linked together. Under this model, authentication, authorization, and personal data are managed centrally by organizations and services rather than the individual to whom it belongs.</p><p>Web3 flips this dynamic in favor of self-sovereign identity (SSI) that gives individuals full ownership and control of their digital identities and how their personal information is shared and used.</p><p>This identity includes on-chain information like what tokens or NFTs you own, as well as off-chain data like verifiable credentials and other private information. Collectively, the data builds a digital identity that can be used to access restricted resources or prove a claim across environments.</p><p>Because users are in full control of how and what data is being shared, SSI creates a decentralized and definitive mechanism for establishing trust between users and applications while preserving individual privacy.</p><p>However, while SSI has the potential to upend the internet’s approach to identity and access management, it also has the potential to make things much more complex for users and developers alike.</p><h2 id="h-everything-needs-permission" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Everything Needs Permission</h2><p>Authorization and permission management is the single most important factor in web3 security that’s rarely talked about. Every contract, dApp, and transaction requires authorization from an account before it can interact with its users’ funds or data store. </p><p>Take Uniswap as an example. Just to provide liquidity, users need to sign two permissions before depositing their tokens into a pool. Worse still, Uniswap and many other dApps request an <em>unlimited</em> allowance from the user such that the smart contract doesn’t need further permissions to perform actions with the user’s tokens. </p><p>This is a conscious tradeoff that developers make, sacrificing security for usability. In doing so, web3 developers expose their users to unnecessary risk. Software is notoriously soft, and there’s no such thing as perfectly written code. Bugs and exploits can happen even in established projects and by requesting unlimited allowances, dApps not only expose deposited balances to theft, but also the tokens held “safely” within users’ wallets.</p><p>At a high level, everything in crypto is about authorization and permission management. Smart contracts and decentralized applications are programs that define arbitrary rules for ownership, transactions, and execution conditions. In many cases these functions are fully permissionless (i.e., anyone is free to interact with the code), but still require authorization to administer their tasks.</p><p>More advanced use cases require fine-grained access controls to function at scale. For example, how might a tokenless DAO conduct governance or provide access to on-chain resources exclusively to its members? How can a lending pool limit access to only KYC’d individuals or institutions? How do fans give creators permission to charge them a monthly subscription on-chain? </p><p>These are complex conditions that require a mix of on and off-chain data to function properly. Moreover, the potential value capture and compliance necessities make these high-stakes commitments that developers and communities can’t afford to get wrong. </p><p>To-date, the only solution for implementing this manner of access controls has been via whitelists. But whitelists lack the dynamism to function at scale. Anyone who’s managed a whitelist before knows that they are a frustratingly analog process that is prone to error. Nevertheless, we see them being used for NFT drops, organization management, and permissioned pools despite their significant drawbacks. </p><p>We’re building District to solve the permissions layer of web3. There doesn’t need to be a tradeoff between functionality, security, and usability. The best security measures allow for seamless protection while enhancing user experience. In creating the next generation identity and access management protocol, we strive to improve web3 security and experiences without compromising on privacy. </p><h2 id="h-welcome-to-district" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">Welcome to District</h2><p>District is the easiest way to improve the security and usability of web3 applications. We are laying the foundation for universal authorization based on user-controlled data and are excited to introduce fine-grained access controls to web3. </p><p>Because web3 inverts the data ownership paradigm of the internet, we had to rethink identity and access management from the ground up. Cryptographic signatures make user authentication trivial, but few mechanisms exist to govern authorization.</p><p>Traditionally, authorization was done using access controls lists (ACLs) in which a list of rules specifying which users or systems are granted access to objects determines authorization. However this model is incompatible with smart contracts as it doesn’t support dynamically changing permissions well and is hard to control programmatically, resulting in both security and scalability issues.</p><p>Instead, District’s access control model is based on object capabilities (ocaps). In the ocaps model, authorization is managed by creating, sharing, signing, and invoking “capabilities” instead of relying on a list of rules. If you have a valid capability, you have the authorization to use it.</p><p>These capabilities can be chained together, allowing for the delegation of authority and “caveats” can be attached to restrict the scope of its use, for example enabling revocation, limiting access to between specified block numbers, or a range of other conditions. </p><p>The structural properties of District’s access control model allow for fine-grained authorizations to be made, while adhering to the principle of least authority. This allows users to grant applications just enough authorization to execute seamlessly, while maintaining a high level of security. </p><p>Going back to our Uniswap example, a user could delegate the Uniswap smart contracts a token allowance of up to 10 ETH per month until blockNumber 24,000,000, enabling Uniswap to maintain the same user experience of the unlimited allowance method, while minimizing the attack surface in the case of an exploit.</p><p>District unlocks these fine-grained authorizations through accessible building blocks that make it simple for developers and their applications to request and manage permissions. With our secure APIs and SDKs, developers can build more secure dApps with better user experiences quickly.</p><h2 id="h-whats-coming-next" class="text-3xl font-header !mt-8 !mb-4 first:!mt-0 first:!mb-0">What’s Coming Next</h2><figure float="none" data-type="figure" class="img-center" style="max-width: null;"><img src="https://storage.googleapis.com/papyrus_images/6641856627d3f01e2c488ce9c28fa2a252b5062e988a005c8a1c44b916014c63.png" alt="District&apos;s Roadmap" blurdataurl="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACwAAAAAAQABAAACAkQBADs=" nextheight="600" nextwidth="800" class="image-node embed"><figcaption HTMLAttributes="[object Object]" class="">District&apos;s Roadmap</figcaption></figure><p>For the past several months, we’ve been working on <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://github.com/delegatable">delegatable</a>, an open source framework pioneered by the team at <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://metamask.io/">Metamask</a>. Delegatable is a set of tools enabling delegation on Ethereum and is designed to address a number of challenges with EVM transactions ahead of native account abstraction support.</p><p>While delegation currently acts as the core of District’s access control model, the framework supports other high order functions like transaction bundling, meta-transactions, and subscriptions that we are bringing to market soon.</p><p>Our team is already working on several exciting partnerships to integrate District, and we can’t wait to show you how we’re helping apps improve their functionality, security, and usability.</p><p>Our mission is to make every transaction safe, secure, and human. If you’re building an application on Ethereum, <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://2jt0b32i29o.typeform.com/to/ExSK0jDs">let’s talk</a>.</p><p>- <a target="_blank" rel="noopener noreferrer nofollow ugc" class="dont-break-out" href="https://districtlabs.com/">DISTRICT TEAM</a></p>]]></content:encoded>
            <author>districtlabs@newsletter.paragraph.com (District Labs)</author>
            <enclosure url="https://storage.googleapis.com/papyrus_images/e9c033b2b1c9603a044884737af9743b6ed15bf35f2e8386de50757990aee71e.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>