Design Your Token Economy in Minutes
Simulate, iterate, and improve your tokenomics.
Space and Tokens was formerly Cenit Finance.
Optimize your design parameters
Quickly adjust and optimize your token utilities and distribution strategies using our intuitive tools. Find the perfect balance for your token's success.
Anticipate meltdowns
Identify and plan for potential market risks to ensure the stability of your token. Our tools help you foresee and mitigate extreme market conditions.
Easily understand and explain your business
Simplify the complexities of your token economy with clear visualizations and reports. Make tokenomics easy to understand for investors and your community.
Tokenomics templates
Explore different tokenomics templates and obtain quantifiable insights. Begin with foundational concepts like staking, burning and buybacks, then tailor them to craft your distinctive economy
Tokenomics Template: Basic Staking
This template recreates a simple token economy where the protocol shares a percentage of their fees with the stakers.
Space and Time added Space and Tokens, formerly Cenit Finance, to the SxT product suite in August 2024. Space and Tokens is a cutting-edge tokenomics platform designed to help protocols optimize their token utilities and distribution strategies. With this integration, protocols can simulate tokenomics, better anticipate token performance and market risks, and build comprehensive analytics and dashboards around their token economy, all powered by SxT's verified onchain data. This content was originally published on the Cenit Finance website.
This template recreates a simple token economy where the protocol shares a percentage of their fees with the Stakers.
- The token utility is only the revenue coming from the fees and the amount of Stakers willing to come to stake will be determined by the APY of their investments.
- Given a certain hypothesis of what the markets considered to be a competitive APY, stakers will join or leave until an equilibrium is reached towards that levelof competitive APY.
- Agents that receive some allocation will be constantly selling a part of their tokens at different speeds.
Structure of the template
In the spreadsheet file, we will find multiple sheets that need to be completed. Every single sheet has their own instructions and guidelines at the top for convenience.
The structure of the excel as follows:
Sheets for User Inputs, in yellow color: These sheets cover design parameters, hypotheses, and the vesting schedule that should be tested in the simulation. The parameters incorporated here are the ones that the end user will be able to change in the dashboard once the simulation is up and running.
Sheets for Internal simulation flows, in orange color: These sheets are the core of the modeling logic of your tokenomics design. Here we will define agents, their behavior, and the token flows between them.
Sheets for reporting, in red: Once the token economy has been defined and modeled, there will be some relevant resulting metrics that should be tracked in the dashboard. These values are not part of the computation of the simulation, but rather output KPIs extracted from the simulation results.
Sheets for dashboard, in blue: These sheets define the disposition of elements in the dashboard. With these sheets, you can define which hypothesis will the end-user of the dashboard be able to test, which graphs and metrics should be displayed, and in which order.
Sheets will contain the customized version of the economy according to your criteria and interest. Additionally, there are some special flows, agents, variables and actions that are common to every token economy and that are always included in every simulation without the need for the spreadsheet user to define them, like the token price, or the circulating supply. These will be explained in detail in each sheet.
Templates in detail
User Inputs templates
Base: This sheet contains some key configuration parameters common to every tokenomics simulation.
Static Parameters: It contains all the numerical input parameters to the simulation. This includes design parameters (e.g. a fee percentage in the protocol) and hypotheses (e.g. the expected average usage per user and month for a service). The table defines a default value for each parameter, but generally the parameter will be available in the dashboard sidebar to be adjusted by the user using sliders or a textbox input (see the “Sidebar Configuration” sheet).
Selector Parameters: It contains input parameters with a set of options for the user to select from. For example, these parameters can be used to select between two different designs for a mechanic in the simulation.
Time dependent parameters: It contains all the inputs to the simulation that constitute a time series (e.g. a monthly projection of the number of users of the protocol).
Vesting: It contains the token allocation and vesting schedule. The configuration defined is the one that the end user will see as default in their simulation. However, they will be able to change parameters values on the final dashboard.
Internal simulation flows templates
Agents
It contains the agents that participate in a simulation. Agents are any element of the token economy capable of obtaining, keeping, or sending tokens. This may include the treasury, token stakeholders, protocol users, etc.
In this sheet we will be able to create actions for the agents such as holding tokens, staking and liquidity providing, which are added as flows into our simulation
- Holding: purchase (or sell) tokens from the market until the value specified is reached• Staking: use a percentage of the tokens to stake.
- Liquidity providing: sends the tokens into the market for liquidity provision, computed in the AMM (check below).
In addition to the agents that might be defined here, there will always be 3 special agents available in the simulation. No user-defined agent should have the same Reference.
- market: represents the dynamics of the market, simulated with an AMM. Based on the liquidity that it has, and the amount of tokens that are being sold/bought, the price of the token will change.
- mint: a source of new tokens to introduce to the economy.
- burn: a sink of tokens to be eliminated from the economy.
Variables
It contains internal variables for computing the dynamics of the simulation. While not strictly necessary, using these intermediate variables will simplify the modeling process.In addition to the variables that might be defined here, there will always be in the simulation: (Token price, circulating supply, total supply, market cap, buy pressure...)
Flows
It contains flows of tokens between agents in the simulation. The flows are through mathematical expressions that can use formulas, variables, parameters, and agent properties, as described in the “Variables” tab. The flows always have an Origin, the agent sending the tokens, and a Destination, the agent receiving it.
Special Flows origins and destinations: It is possible to add the following special agent references in the source or destination fields:
- market: with the market as a source, the counterparty agent is buying tokens on the market. With the market as a destination, the counterparty agent is selling tokens on the market. These actions generate buying and selling pressure, and affect the price of the token depending on market liquidity.
- mint: only available as a source, the amount of tokens in the flow is created and added to the destination agent, increasing the total supply.
- burn: only available as a destination, the amount of tokens in the flow is destroyed and subtracted from to the origin agent, decreasing the total supply.
Reporting templates
Metrics
It contains additional metrics to be reported in the output graphs. A metric is a special type of variable that does not influence the progress of the simulation, but instead depends exclusively on its results. As a result, they can only be used for reporting purposes.
Graphs
Here you should design those graphs that are custom for your project. To build the graphs, you can use formulas, variables, metrics, parameters and agents properties. In addition to the custom charts, the simulation will always provide some default charts that do not need to be defined.
Dashboard templates
Sidebar config contains the definition for the dashboard sidebar, where the user is able to adjust the input parameters of the simulation, including tokenomics design parameters, hypotheses, or the vesting schedule.
Dashboard config contains the definition for the dashboard results panel. Here you should introduce the order at which the result graphs will be plotted in the dashboard.
17 Real-World Use Cases for Blockchain Technology
And how Space and Time is advancing each.
To the average person, “blockchain” is synonymous with “crypto.” The inception of blockchain as we know it is typically credited to an anonymous entity behind the pseudonym Satoshi Nakamoto, who brought blockchain to the world in 2009 as a ledger of Bitcoin transactions. But since its creation, blockchain has evolved from an element of cryptocurrency to a key technology across various industries, including supply chain, social media, healthcare, financial services, energy, media and entertainment, education, government, and data management.
At its core, a blockchain is a decentralized digital ledger that records transactions and data in a transparent and immutable way. Unlike traditional systems, which are controlled by a central authority, each blockchain is managed by a distributed network, which makes it near-impossible for anyone to alter or manipulate the data. Consequently, blockchain acts as an immutable digital ledger that can be used to track and record the movement of assets, such as money or goods, securely and transparently. For industries operating on traditional systems, blockchain technology introduces a trustless solution to improve efficiency, automate business processes, and ensure security.
But a blockchain is essentially just a single-table database—very limited in the amount and type of data it can store. In order to be adopted at mass scale for real-world applications, businesses need to be able to connect the blockchain to scalable off-chain compute without breaking the zero-trust model. A decentralized data warehouse like Space and Time offers exactly that, providing a simple, powerful, and familiar on-ramp for enterprises to adopt blockchain technology. With Space and Time, blockchain has the potential to solve more complex use cases across all major industries.
Supply chain
Businesses can leverage blockchain as a reliable, transparent, and tamperproof way to track the movement of goods through the supply chain. The use of blockchain technology can improve efficiency and visibility throughout the entire supply chain, while also reducing the risk of fraud and counterfeiting. Because the data recorded on the blockchain is secure and unchangeable, it can be used to verify the authenticity of goods and ensure that they have not been tampered with. But supply chain systems often involve multiple stakeholders and data from a variety of sources, and while a blockchain can act as a ledger for some of this data, businesses must leverage an off-chain tool that allows them to incorporate data from multiple sources, analyze it, and return analytic results back to the blockchain ledger.
Imagine that a company is leveraging a blockchain to track the movement of goods from a manufacturer to a retailer. The manufacturer, the logistics provider, and the retailer are all stakeholders in the supply chain, and they each have their own systems for tracking and recording data. By incorporating off-chain analytics, the company can integrate data from each stakeholder's system and create a more comprehensive view of the supply chain, from production to sale. But if these analytics are run in a centralized data warehouse, all the benefits the company receives from their use of blockchain disappear. In order to incorporate analytics into their blockchain-based system, the company must leverage a decentralized data warehouse, like Space and Time. Space and Time connects scalable off-chain analytics to the blockchain to create a more comprehensive view of the supply chain, providing the necessary tools to identify bottlenecks, improve efficiency, and ensure the integrity of the goods while maintaining decentralization and trustlessness.
Social media
Blockchain is already being widely adopted as the technology behind decentralized social media platforms. These platforms offer increased transparency, accountability, and user control compared to their traditional counterparts. Blockchain also empowers users to securely and transparently manage their personal data, which can be especially useful in the context of social media. But user activity on social media generates a large amount of data, which can’t be stored or processed on a blockchain.
A decentralized social media platform collects data on its users' preferences, interests, and activities. In order to leverage this data to improve the user experience—for example, by creating personalized content recommendations—the platform has to run analytics against the data, often in real time. Space and Time offers a solution for this platform to run both real-time transactional queries and scalable analytics against the data it’s storing on the blockchain, as well as the in-app off-chain metadata generated by its users. This allows the platform to generate a more complete view of in-app activity without offloading the management of user data to a centralized entity. Incorporating decentralized off-chain data and analytics can help to improve the scalability, privacy, and performance of social media systems that are built on blockchain technology.
Healthcare
One of the most interesting use cases for blockchain is in healthcare—more specifically the storage and management of electronic medical records (EMRs). Each blockchain is operated by a decentralized network, which means that it is not controlled by any single entity and that no one can alter or delete data stored there. Information stored on the blockchain, such as an EMR, is therefore more likely to be accurate. A blockchain-based system for storing EMRs also makes it easier for different parties to access and share medical information. For example, if a patient sees a specialist, the specialist could easily access the patient's EMR stored on the blockchain, rather than having to request the information from the patient's primary care physician or navigate a non-standardized system. To preserve patient privacy, a blockchain-based system implements access controls through the use of encryption, private key authentication, a smart contract, or a permissioned blockchain.
Connecting decentralized analytics to a blockchain-based healthcare record system ensures the quality, security, transparency, and privacy of patient data. Space and Time could be used to analyze the data and identify and correct errors or inconsistencies before publishing it on-chain. By distributing the analysis of the data across a network of nodes, rather than relying on a centralized platform, Space and Time guarantees stronger protection against data breach. The platform can also track how the data is being accessed and by whom, making it easier to identify any mistakes or issues. Most importantly, by leveraging Space and Time, the system ensures the privacy of patient medical records by encrypting the data and cryptographically guaranteeing the accuracy of it, removing the need to store sensitive, private patient information on a publicly accessible blockchain.
Financial services
Blockchain technology has the potential to revolutionize the financial industry by providing a secure and transparent way to store and transfer data. Blockchain is already being used to improve the efficiency and security of the entire financial ecosystem. It also reduces the need for intermediaries like banks to facilitate transactions, putting more power in the hands of individuals.
Compliance and reporting
One of the key benefits of using blockchain technology for compliance and reporting is that blockchain provides a secure and transparent record of transactions. Organizations are more easily able to comply with regulations, as they can easily access and provide evidence of activities. Additionally, blockchain technology (by way of smart contracts) can be used to automate compliance processes, reducing the need for manual record-keeping and freeing up resources. Finally, smart contracts ensure that compliance obligations built into the contracts are automatically enforced.
Insurance
Insurance is one of the most rudimentary use cases for smart contracts. With smart contracts, insurers can automate the process of claims handling and policy administration, streamlining traditionally manual processes and improving overall efficiency. Blockchain can also improve the accuracy of risk assessment by providing a tamperproof record of an individual’s or organization's claims history to help insurers more accurately price policies and combat fraud. The use of blockchain in the insurance industry helps increase transparency and trust between insurers and policyholders by providing a clear and easily verifiable record of all transactions.
Settlement systems
Blockchain technology can greatly reduce the time and cost of processing settlements by eliminating the need for intermediaries like banks. In fact, smart contracts can automate the settlement process entirely, providing an immutable way to execute agreements and therefore reducing the risk of errors or unfairness. Blockchain technology ensures a tamperproof and immutable record of all transactions, improving the security and efficiency of the overall settlement process.
Cross-border transactions
Blockchain technology eliminates the need for central intermediaries, like banks and governments, to facilitate cross-border transactions, which can greatly reduce the time and cost of processing and receiving payments. Payments can be automated with a smart contract, and the blockchain ledger guarantees the security of the process by providing an unalterable record of each transaction.
Trading and liquidity risk
Blockchain has given rise to decentralized exchanges (DEXs), which allow users to trade cryptocurrency directly with each other and operate without a central authority. Because DEXs operate on a decentralized platform, they provide a more secure and transparent trading environment, as there is no central point of failure that can be exploited by hackers. DEXs also improve liquidity in the cryptocurrency market, as they allow users to trade directly with each other rather than relying on a centralized exchange to match buyers and sellers. Trading on a DEX means less liquidity risk, as there are more potential buyers and sellers available to facilitate trades.
Proof of reserves
In contrast to DEXs, centralized exchanges (CEXs) are operated by a central authority that matches buyers and sellers. But even though the exchange is centralized, blockchain still has utility. Blockchain technology can be used to provide proof of reserves, a mechanism that allows exchanges to demonstrate that they have sufficient assets on hand to cover the trades that they facilitate. Proof of reserves can help centralized exchanges build trust with users by ensuring that the exchange is solvent, which is now more important than ever.
Cryptographically guaranteed decentralized analytics
Much like with the other use cases mentioned, a decentralized analytics platform like Space and Time can expand the utility of blockchain in financial services by providing a means to incorporate off-chain data and analytic insights. Space and Time, however, uniquely guarantees the accuracy and integrity of the data and analytics with a novel cryptographic protocol called Proof of SQLTM. In the financial industry, the security and integrity of data is critical, as the data is often sensitive and valuable. Proof of SQL allows smart contracts to access more complex analytics and large data volumes aggregated off-chain in a verifiably tamperproof way, enabling new financial instruments on-chain.
Energy
A tokenized energy grid is a system in which energy is bought and sold using on-chain tokens, which creates a secure and transparent platform for the exchange of energy. In this model, energy producers can sell excess energy to consumers, who pay for the energy using tokens. These tokens can be traded on a blockchain-based platform, allowing for the efficient and secure exchange of energy between parties.
If a renewable energy company generates electricity using solar panels and wants to sell this electricity to consumers, the company could mint tokens on a blockchain that represent a unit of electricity. The consumers could then use these tokens to pay for the electricity they consume. The blockchain provides a record of all transactions, ensuring that the energy company is paid for the electricity it generates and that the consumers are only charged for the electricity they consume. By connecting a decentralized analytics platform like Space and Time to this system, the company can expand the ways in which they track and price energy usage and production to improve efficiency and sustainability.
Artists and entertainment
The entertainment industry has been forever changed by blockchain technology. Blockchain has enabled the creation of decentralized platforms for content distribution, allowing artists to directly connect with their audience and share their work without the need for intermediaries. Additionally, blockchain has created new models for content monetization, such as tokenization and non-fungible tokens (NFTs), which have opened up new opportunities for artists to monetize their work and for fans to support and invest in their favorite creators. Overall, the adoption of blockchain technology has had a significant impact on the entertainment industry, disrupting traditional business models and creating new opportunities for innovation.
Licensing and distribution
Blockchain technology can be used to securely and transparently track the ownership and licensing of music and other creative works. It can also be used to facilitate the distribution of royalties to artists and creators. For example, artists can distribute their work directly to their audience and set the terms of use by deploying smart contracts, which automate the process of licensing and ensure that the terms of the agreement are enforced. Additionally, blockchain can be used to track the usage and distribution of artistic works, allowing artists to more easily monitor and control how their work is being used.
Ticketing and fan-to-artist payments
A decentralized ticketing platform utilizes smart contracts to securely and transparently manage ticket sales and distribution. Event organizers can easily and securely sell tickets directly to fans, eliminating the need for intermediaries such as ticket brokers. Smart contracts can also facilitate fan-to-artist payments using tokens or other digital assets that represent ownership of an artist's work. These tokens can then be bought, sold, and traded on secondary markets, allowing fans to directly support their favorite artists and potentially earn a return on their investment, which creates a more efficient and fair system for all parties involved.
Generating insights with decentralized analytics
Space and Time can improve these systems by providing greater insight into the generated data. Decentralized analytics help event organizers better understand customer demand for tickets, allowing them to price more efficiently and optimize the distribution of tickets to maximize revenue. In the case of fan-to-artist payments, decentralized analytics can help artists to better understand the sources of their revenue and the demographics of their fan base, allowing them to tailor their marketing and distribution strategies accordingly. Decentralized analytics can also help artists to track the usage and licensing of their works, providing them with a more accurate picture of their revenue streams and helping them to make more informed decisions about how to monetize their content. Space and Time provides a more data-driven approach to blockchain-based ticketing, fan-to-artist payments, and licensing and distribution, leading to improved efficiency and revenue generation.
Education
Blockchain technology can be used to securely store and manage educational records, such as transcripts and degrees. It can also be used to verify the authenticity of online courses and certifications. Educational institutions can store transcripts, certificates, and other records of academic achievement on a decentralized ledger, which can then be accessed and verified by employers and other educational institutions to ensure that credentials are legitimate. Blockchain can also be used to track the progress of students as they complete their degrees, allowing them to easily share their transcripts and other credentials with potential employers or educational institutions.
Connecting a secure decentralized data platform like Space and Time to a blockchain-based crediting system helps protect the privacy of students, as it allows them to share their academic records on a need-to-know basis, rather than providing access to their entire academic history.
Government and public sector
Blockchain can be used to streamline and automate the delivery of government services, such as the issuance of licenses and permits, helping to reduce bureaucracy and improve the efficiency of government operations. By leveraging a permanent and verifiable record of transactions and activities, government agencies increase transparency and accountability in their operations. Blockchain can also be used to securely and efficiently verify the identity of citizens, helping to reduce the risk of identity fraud and improve the security of government systems.
Space and Time could be used to provide greater visibility and insights into the data generated by blockchain-based government systems. Decentralized analytics can help government agencies to track and monitor off-chain data, like the distribution of public resources such as food aid or healthcare, ensuring that these resources are being distributed fairly and efficiently. Decentralized analytics can also be used to monitor the performance of public sector services, providing governments with the data needed to identify areas for improvement and make more informed policy decisions.
Advertising
Web3 advertising networks use blockchain technology to facilitate the buying and selling of advertising space. These networks are designed to provide a more transparent, secure, and efficient alternative to traditional centralized advertising networks. This helps reduce the need for intermediaries, lowers transaction costs, and increases the efficiency of the advertising market.
By analyzing data from Web3 advertising networks in a platform like Space and Time, businesses can gain a better understanding of the effectiveness of their advertising campaigns and the demographics of their target audience, allowing them to optimize their advertising efforts and improve the return on their advertising investments.
Data management
Blockchain technology is ultimately a new paradigm for data management, providing a decentralized, secure, and transparent platform for storing and sharing data.
CRM and ERP
Blockchain technology can be used to enhance customer relationship management (CRM) and enterprise resource planning (ERP) systems by providing a secure, decentralized platform for storing and sharing data related to a company's operations, resources, and customers. This ensures that data is kept private and secure, and that it can only be accessed by authorized parties. Additionally, smart contracts can be used to automate business processes and various aspects of the customer relationship, such as tracking customer interactions or automating the fulfillment of orders. Blockchain can also be used to create a shared, immutable record of data that can be accessed by multiple parties, for situations where there is a need to establish trust between parties who do not have a preexisting relationship, such as when a customer is interacting with a new business for the first time or when a company is collaborating with a new supplier.
Data lineage and replayability
One of the main benefits of a blockchain is that it’s an immutable ledger. Blockchain technology allows for the creation of a shared, immutable record of data, allowing the history of a particular piece of data to be traced back to its original source. It also guarantees that the data cannot be altered or tampered with after it has been recorded on the blockchain.
Space and Time: The first decentralized data warehouse
Traditional data management systems rely on centralized servers and databases, which can be vulnerable to hacking, data breaches, and other security threats. Space and Time offers better security, efficiency, transparency, and scalability to its centralized counterparts.
This article is also available to read on Medium.
Cryptographic Primitives (Mostly Sum-Check)
As a cryptographer, people frequently ask me questions about cryptography. Sometimes, when the questions are really good, they turn into blog posts to share with the rest of the world. Today’s question would be “what is a cryptographic primitive?” but as it turns out, that one is too hard. Instead this post will cover:
- Why is it so hard to define?
- How is such an ambiguous term useful?
- Can you provide one (1) example of how it's used in Space and Time?
How hard could it be?
Why is it hard? Other attempts at explaining the term list a bunch of primitives. Giving plenty of examples is usually good, but unless you already know how they’re used in more complex systems it’s hard to see what makes them “primitive.” Wikipedia takes a top-down approach to defining them:
Cryptographic primitives are well-established, low-level cryptographic algorithms that are frequently used to build cryptographic protocols for computer security systems.- Cryptographic primitive - Wikipedia
So now the problem is coming into focus. A cryptographic primitive is a low-level building block that often relies on very high-level “moon math.” And cryptographers somehow resolve this contradiction and then the term becomes useful.
The more I encounter the term "cryptographic primitive," the less I feel confident that I truly understand what it means. Is it just me, or is there no universal definition for the term? Or does the term have some contextual sensitivity that I'm missing?
- The most relatable post on StackExchange
An analogy
In the absence of a real definition of a “cryptographic primitive,” I am going all-in on this analogy (so I really hope it lands).
Furniture is like a cryptosystem. The “primitives” are allen wrenches, dowels, L-brackets, wood glue, metal brackets, solid wood, plywood, engineered wood, etc.- Quoting myself for emphasis
If I had to give a definitive answer to where the division is between a cryptographic primitive and a cryptosystem (or furniture and a component) it’d be that designing the primitive isn’t done “in-house.” The cryptosystem designer takes no credit for it. What they take credit for is putting the primitives together in a novel way to create a more complex system. Somebody else may have engineered the particleboard, but the furniture company designed the bookshelf. Likewise, Space and Time is building Proof of SQL™, but we use existing libraries for components like polynomial commitments.
That’s not to say that creating cryptographic primitives isn’t a creative or difficult task. Quite the opposite. A good primitive is going to be used over and over again in contexts that its developer can’t possibly predict. You know, kind of like a screwdriver (which actually takes a lot of engineering). But once you’ve got that marvel of modern engineering, you can build something even grander, like a TV stand.
I like the furniture metaphor better than “tools” or “building blocks” because it also lets us make one more conceptual jump that’s very useful. When explaining cryptographic protocols, the explanation of what they actually do often gets entangled with how they do it. Really, these are two separate axes they can be grouped by, but they’re often grouped by functionality, not construction. But classifying protocols based on their primitives allows us to make broad statements like, “protocols based on symmetric-key primitives are generally faster and plausibly post-quantum secure,” without specifying whether we’re talking about encryption, or multiparty computation, or cryptographically secured voting schemes. It’s a bit like saying “flat-pack furniture is cheaper to ship but less sturdy” without specifying whether you’re talking about tables or chairs.
Data Structures 🤝 Algorithms
There's a joke about the structure of research presentations that goes, "the first section is for everyone, the second section is for the experts, and the last section is for the speaker.” We’ve hit the second section. It will make more sense if you’ve programmed before.
An expressive programming language or query language is going to have data types. So in order to prove anything about those programs we're going to need a way to represent those data types in our proof system. As I alluded to in a previous blog post, that means we turn it into math.
What kind of data types do we need? Well, most can be broken down into scalar types, which are kind of unbreakable atoms, (as an example, your booleans, integer types, maybe characters depending on the language) and composite types, (like tuples and arrays) which are built up from simpler types. Handling scalar data types is fairly straightforward; we just encode them as numbers.1
In contrast with scalar data types, a composite data type is a thing that has stuff in places. The thing about composite data types is you want to look inside them. We'll focus on a very simple, list-like, one-dimensional array example. If you've got an array called `𝙲𝚞𝚜𝚝𝚘𝚖𝚎𝚛𝚜` then the most basic thing you will want to do with it is index into it. You call `𝙲𝚞𝚜𝚝𝚘𝚖𝚎𝚛𝚜[𝚒]` and you get the ith customer in the list (zero-indexed, of course).
We can do this with an interpolating polynomial. Basically, for any array `𝙰` we can construct a polynomial ã(x) so that plugging in i for x gives you the entry `𝙰[𝚒]`. 2
The crown jewel of interactive proofs / the worst for-loop you’ve seen in your life
Data structures and algorithms are often taught together because they work synergistically. Data structures are more useful when there are efficient algorithms to work with them. We just described a way to represent a generic composite data type in a way that our proof language can reason about. But we noted that to look at one particular place in an array requires evaluating a polynomial, and that just doesn’t seem scalable. What kind of algorithms can we even use with this?
The answer is the sum-check protocol of Lund, Fortnow, Karloff, and Nisan. It’s been a staple of interactive proofs since the 90’s. This may seem a little contrived, but what it does is let a prover convince a verifier that the sum of a multi-variable polynomial g over the hypercube H = {0, 1}m (that’s all ordered m-tuples of zeroes and ones) is, well, whatever that value is. Let’s call it y.
Before we even try to clarify some of the technical definitions, let's build up an understanding of what it can actually be used for. The first step is to check anime cat math twitter for some insight.
(Also, quick note: the sum in sum-check is over zeroes and ones, but if we read it as binary it’s just the range 0 to 2m-1.) So combining what we learned in the crash-course on data structures for proof systems and this helpful tweet, we get that sum-check gives us a way to provably iterate over an array, but it's very limited in what we can do during the iteration. So our task in designing Proof-of-SQL™️ is to turn other, more complicated operations into a summation.
That's why the definition of the sum-check protocol is confusing, contrived, and kind of backwards. When trying to apply the protocol, you don't ask, "what polynomials do I care about?" or "what is special about the hypercube here?". The real technical challenge is to choose or construct the polynomial so that this summation is meaningful. Annotated, the statement that sum-check proves looks more like this:
Example
Here's one example of how you could use it. Many (all?) languages have a map functionality where you can take a list-like thing (or several of them) and a function, then map will apply that function to each element of the list and return a list of the results.
If that function (call it f) is a polynomial, and the multivariate polynomial a(x1, x2, … xm) represents an array, then the composition f(a(x1, x2, … xm)) is also a polynomial. In fact, plugging in a point to this polynomial gives the result of the map at that point!
And since we can also represent the result array as a polynomial, the prover can run sum-check to convince the verifier that they computed the correct result. If we set it up right, we can make the polynomial zero only if r(x1, x2, … xm) is actually the result of applying the map to a(x1, x2, … xm). Then the sum should be adding a bunch of zeroes and the whole thing is zero.
(Okay, there’s a little more care to be taken with some randomized weighting and stuff but I promise, this is almost something we actually use in Proof of SQL™.)
Summary
Thank you for reading this far. This dove very deeply into details, so I wanted to zoom back out and cover the main takeaways. Hopefully after reading this you can go to your next blockchain/crypto conference and make small talk with a cryptography researcher. You can say, "hey, have you heard about Space and Time's Proof of SQL™? It's like a SNARK but their main cryptographic primitive is sum-check." And the cryptographer will say, "oh, that's smart. That way the prover can avoid doing an FFT." Then you'll look up and smile and share a knowing glance, like two carpenters admiring a well-done dovetail joint (and knowing that once the wood glue dries, it doesn't even need nails or screws). And you'll realize that knowing a super-technical and exact definition of cryptographic primitives isn't important. What matters is knowing you made a friend.
Footnotes
[1] Specifically, everything is going to turn into an element of 𝔽p, which is a fancy way of saying everything is an integer mod p, where p is a prime.
[2] This motivates the choice to work over 𝔽p. By choosing p to be prime, we get a very useful property that we’ve just come to expect from real numbers: that everything but zero has a multiplicative inverse. This ends up having far-reaching consequences, such as the existence of interpolating polynomials over 𝔽p. Unfortunately, most of the accessible literature on polynomial interpolation (here’s a resource) deals with real numbers or sometimes complex numbers but because of the nice property noted (in mathematical terms, 𝔽p is a field) a lot of the theory goes through, mutatis mutandis.
Built on SxT: Abyss World
Web3 ARPG Game Abyss World Partners with Space and Time to Revolutionize Gameplay with AI-Driven Content.
Built on SxT is a customer-authored blog series that showcases the many use cases across Web3 that are being built on top of Space and Time. This blog post was authored by the team at Abyss World to highlight how Space and Time is a critical part of their stack.
Metagame Industries, an interconnected web3 gaming ecosystem, has partnered with Space and Time, a leader in decentralized data warehousing, to create a new standard in web3 gaming. Space and Time will allow Metagame Industries to store and access vast amounts of game data in the decentralized data platform, where it can be joined with indexed blockchain data.
Metagame Industries is the company behind Abyss World, an open-World Dark Fantasy Action-RPG Web3 title on the Sui Network. By integrating with Space and Time, Abyss World can join indexed blockchain data with off-chain game-generated data in a single query and connect the results back to smart contracts on-chain. This integration enables Abyss World to facilitate more complex earning schemes for in-game economics, run tamper-proof analytics against the game activity, and reduce on-chain storage costs by connecting a scalable decentralized data warehouse to the blockchain-based platform.
“We are thrilled to partner with Space and Time, as their cutting-edge decentralized data warehouse technology will enable us to offer a more efficient and decentralized gaming experience for our players”, said Joe Zu, CEO at Metagame Industries. “By leveraging AI-driven content, we can take Abyss World to the next level and revolutionize the web3 gaming industry.”
More importantly, Abyss World also uses AI algorithms to power various aspects of the game, from NPC behavior to the game’s PvP component, the Abyss Colosseum. To ensure the fairness of the game’s results, Space and Time’s unique architecture allows the AI algorithms for metadata associated with the game’s hero characters to be stored in the decentralized data warehouse, making the core gameplay fully decentralized, ensuring the AI models are verifiable, and enabling the heroes’ perpetual development.
Space and Time’s complete set of developer tools, which includes indexed blockchain data, a hybrid transactional and analytic data warehouse, and a serverless API gateway, provides developers with the necessary infrastructure for developing scalable web3 games.
“Space and Time is committed to the advancement of web3 gaming. Our partnership with Metagame Industries will create a more fair and transparent gaming economy and allow Abyss World to power their game with tamper-proof on-chain and off-chain data and verifiable AI,” said Stephen Hilton, Head of Solutions at Space and Time.
By partnering with Space and Time, Abyss World aims to offer a more decentralized and efficient gaming experience and become a new web3 gaming standard. With the ability to store vast amounts of data in a decentralized and secure way, the possibilities for the game’s evolution are endless. The collaboration between Space and Time and Abyss World promises to revolutionize the web3 gaming industry, offering a more transparent and trustless gaming experience for players.