Schema Registry: The Heart of An Attestation Ecosystem
In our last blog post, we dived into the concept of a schema and how it functions akin to a blueprint for attestation. We also discussed its importance and intricacies when used in the construction of robust and insightful attestations within an ecosystem driven by these attestations, or an attestation ecosystem.
In this post, we will dive deeper into the heart of this attestation ecosystem by exploring the concept of a schema registry, the core infrastructure that hosts, manages, and even governs a schema. Without much ado, let’s get into it!
Fantastic Schemas and Where To Store, Reference, and Manage Them
A Schema Registry is primarily a central location for storing schemas after they have been crafted. Once stored in a schema registry, a schema can be referenced, validated, and further managed by just about any attester, verifier, or third-party in the attestation ecosystem that the registry functions in. These added set of features are made possible thanks to some of the core functionalities and characteristics built into the design of a schema registry, some of which include:
Referencing: As we just hinted above, in addition to being a central location for storing schemas, a schema registry also serves as a primary point of reference for discovering and verifying schemas, both for attesters issuing their attestations, and for verifiers processing the attestations they receive. This is a core characteristic that fosters uniformity, simplicity, and efficiency in how attestations are created and interacted within an attestation ecosystem. For context, consider how you would simply go to EthSign’s Contract Library for a contract template to use whenever you need to draw up a new legal contract, instead of having to research the intricacies of the law just so you can construct a legal contract for yourself. In the same way that EthSign’s Contract Library provides you with contract templates, the schema registry provides attesters with schemas to use in their attestations
Validation: A schema registry can function as a checkpoint for inspecting and validating the correctness of a newly crafted schema that has been submitted, in accordance with certain standards and guidelines established for an attestation ecosystem. This particular characteristic reinforces the schema-space and provides attesters and verifiers, with the assurance that all attestations issued and verified respectively by them are free of structural errors, thus enhancing their experiences and processes.
These native functionalities and characteristics are vital in ensuring the accessibility, quality, and consistency of all schemas that are crafted and utilized in a given attestation ecosystem. As we explore further in this article, we’ll discover some additional unique features and useful benefits gained from a schema registry.
Dude, Where’s My Schema Registry?
Now that we know what a schema registry is and its importance in an attestation ecosystem, you might be wondering where we can find this registry to submit our newly crafted schemas. Is it located at a town hall, a library, or at the back of a mail truck? Is it publicly accessible, or does one need special permissions and privileges to access it?
Well, in the case of the Sign Protocol, it is designed to recognize and support two types of platforms for hosting a schema registry. Each platform has its own unique offerings and safeguards that influence the features and limitations a schema registry can exhibit. These two platforms are:
- Blockchains: These platforms essentially consist of timestamped blocks of data that are canonically ordered in an append-only fashion. They are endowed with attributes that enhance a schema registry with desirable properties and robust guarantees, such as censorship-resistance, tamper-resistance, data availability, and global consensus. In addition to these attributes, they provide a shared ledger that tracks any and all changes made in the system, thereby acting as a compelling source of truth for a schema registry to rely on.
If a schema registry is designed to be publicly viewable and accessed in a permission-free manner, while also exhibiting the aforementioned desirable properties, then most blockchains in the wild, such as Ethereum, Solana, and Optimism, can serve as ideal platforms to host it. It’s also worth noting that there are blockchains out there that offer alternative properties such as privacy. Some examples include ZCash, Monero, and the Secret Network.
Blockchains have recently gained popularity as the preferred platform for building attestation ecosystems and hosting their respective schema registries. The term “Onchain” or “Onchain Schema Registry” is commonly used to describe schema registries that are hosted on a blockchain and even implemented as blockchain-based scripts, also known as smart contracts. - Data Storage Solutions: These platforms essentially consist of distributed servers that store and manage data, offering scalable and reliable data storage solutions. They are designed with attributes that can enhance a schema registry with desirable properties and rich provisions, such as data redundancy, fault-tolerance, high availability, and high bandwidth. In addition to these attributes, most of these platforms consider access control and data protection paramount in their operations, and have setups that enable compliance with regulations across various jurisdictions.
If a schema registry is designed to be privacy-preserving, have centralized management controls, and be strictly compliant with regulations, especially regarding how schemas are created and accessed, then most cloud services available, such as Amazon Web Services, Google Cloud Platform, and Microsoft Azure, can serve as appealing platforms to host it.
It’s also worth noting that there are other data storage solutions available that offer alternative properties, such as more public and permission-free access. These solutions typically operate in a decentralized fashion with minimal to no requirements or limitations related to regulatory compliance. Arweave is a popular example of such data storage solutions.
The term “Offchain” or “Offchain Schema Registry” is commonly used by the blockchain/cryptocurrency community to describe schema registries that are hosted on non-blockchain solutions, such as the aforementioned Data Storage Solutions. - Information Exchange Solutions: These platforms are systems that facilitate the exchange of data or information among a group of parties on a shared network. They serve various purposes such as communication, collaboration, and distribution. Designed with attributes that support rich content and media, these platforms optimize for data access and transfer via provisions such as high throughput, low latency, and data redundancies. All of these are desirable properties for a schema registry.
These platforms typically serve as infrastructure for consumer apps that cater to a variety of use cases, such as file sharing, instant messaging, information broadcasting, and even microblogging. Some examples of these platforms include Torrents, Git, Farcaster, AT Protocol, among others.
An intriguing characteristic of these platforms is their dedicated design to seamlessly interface with general users, enabling high engagement and maximal use. For a schema registry designed to be versatile, dynamic, and actively engaged, these platforms provide high-level and creative entry points and techniques that allow for unique and user-friendly approaches to submitting, referencing, and even managing schemas.
Although not a common choice of platforms(yet), a schema registry that is deployed or hosted on an Information Exchange Solution is also referred to as an “Offchain” or “Offchain schema registry” by the blockchain/cryptocurrency community.
Ultimately, the implementation and features of a schema registry are significantly influenced by the underlying platform on which it is deployed or hosted.
Perks Of Having A Schema Registry
We’ve mostly discussed the primary purposes of a schema registry and how it serves as a central location for schema creators, attesters, and verifiers to record and reference schemas for use. In addition to these primary purposes, a schema registry can be equipped with secondary functions and benefits that drive the growth, conventions, and evolution of a schema space and an entire attestation ecosystem. Some of these include, but are not limited to:
Governance
A schema registry can act as the focal point for introducing and regulating decision-making policies and processes. This enables parties or stakeholders within a given attestation ecosystem to guide the standards and methods that govern the nature of schemas crafted and submitted to the schema registry.
This allows the schema registry to be adaptable, sustainable, and have a credible path towards decentralization. Through governance, a schema registry can gain expert insights and the necessary improvements needed to cultivate a versatile and robust schema space, and by extension, the attestation ecosystem at large. For instance, a schema creator, attester, verifier, or just about anyone in an attestation ecosystem with a set of needs or new ideas can propose changes to the schema registry for consideration and approval, ideally without needing to be an authority or privileged entity. This is all thanks to governance.
By leveraging governance, a schema registry can establish the appropriate scopes and guidelines necessary to ensure the consistency, correctness, and composability of the schemas it accepts and manages. Alongside this, governance creates a credible path for continuous growth and sustainability of a schema space and the attestation ecosystem at large.
Updateability and Version Control
A good quality of a schema registry is its ability to remain relevant and robust in reinforcing the trust systems we rely on. This is achieved by keeping up with the latest standards and trends in an attestation ecosystem, as well as the world and web around us.
A straightforward method for a schema registry to demonstrate this quality is by permitting updates or modifications to existing schemas. This feature enables schema creators and other contributors in an attestation ecosystem to refine and introduce new styles and structures to their schemas.
These enhancements ensure that attestations remain efficient and current within the trust systems they serve. For example, a schema used for attestations about claims or assertions pertaining to going for a run might have initially focused only on confirming whether the claim was true or false. However, with the ability to update schemas, the registry can accommodate new data points and conventions, such as the duration and distance of a run, or even a brand new bespoke metric. It’s important to note that in practice, this doesn’t necessarily involve mutating an existing schema, but rather prioritizing the latest version of a schema over an earlier or deprecated version.
To mitigate errors and confusion resulting from changes to existing schemas, a schema registry provides an authoritative view of the history of changes and modifications to a schema. In this way, a schema registry effectively provides version control for all managed schemas. For a popular schema used by millions of applications and attesters, this offers a path for them to continue using a particular existing version of a schema they prefer, without having to make any changes in their system or suffer unexpected failures and complications due to changes introduced in a newer version of the schema.
Discoverability
One thing that brings absolute joy to a schema creator, apart from finally issuing their newly created schema to a schema registry, is enabling this new schema to be discovered and utilized by attesters and applications within an attestation ecosystem. Such a feature reassures the schema creator that their work is contributing to the reinforcement of the trust systems of the world and web.
A hallmark of a great attester is their ability to identify and apply the appropriate schema for the specific nature of attestation they are issuing. To consistently select and use the correct schema, one needs a reliable source that offers a diverse and comprehensive catalog of schemas to choose from. This process is similar to how one would use a dictionary to find the right word for a particular sentence or context.
A schema registry can serve as a central resource point for showcasing and discovering any and all schemas that have been recorded to it. This streamlines the work of attesters, verifiers, and other observers in an attestation ecosystem who need the right schema to implement in an attestation or the right structures and standards to follow when they consume (eg. verify) an attestation.
Any attestation ecosystem that utilizes a schema registry to facilitate the discoverability of schemas will accelerate its rate of adoption, reduce the time-to-delivery for attesters, and encourage the continued support of schema creators.
Curation
Imagine walking into a hardware store and being presented with a hundred different brands for every piece of hardware that you’re looking to pick up, whether it’s a screwdriver or a wrench. Such an experience can get quite exhausting very quickly as you have to make a decision and hope that you’re eventually making the right one, i.e., picking up the screwdriver with the better quality. This is essentially what attesters have to deal with whenever they need to find a schema that best suits the attestation they wish to issue, either in a schema registry or in the wild.
A schema registry can function as a tool to identify and promote high-quality schemas based on structure, simplicity, or other desirable criteria. This capacity for curation allows a schema registry meticulously service attesters, guide schema creators, and refine the schema space of attestation ecosystem.
Much like real-world curations such as the Michelin Guide, a schema registry can curate schemas for various scenarios and contexts with precision and expertise. This ensures that new attesters, be they enterprises or general users, can issue their first attestations with confidence, knowing their attestation is of top quality in terms of structure, relevance and insightfulness, among other qualities, thanks to the curated schema they selected.
The issuance of attestations in a given attestation ecosystem becomes a seamless and simplified process when ingredients such as schemas are well-curated for use. This improves the usability and accelerates the integration of such attestation ecosystems into the trust systems of the world and web around us, all facilitated by a schema registry.
In Conclusion…
As an astute reader, by now you’re likely realizing that a schema registry is far more important than just a central location for recording and referencing schemas after they have been crafted.
By analogy, a schema registry can be thought of as a dictionary of schemas for an attestation ecosystem. It underpins the usage and defines the conventions and standards of schemas in such an ecosystem. Attesters access the schema registry to discover which appropriate schemas to implement in their attestations, and verifiers use it to understand how to consume attestations made with schemas that are recorded in the schema registry.
Ultimately, the role of being a central location for storing, managing, and referencing schemas, coupled with the benefits of governance, curation, and more, exemplify a schema registry as the heart of an attestation ecosystem.