Cartesi & Syscoin Data Availability (DA)

Cartesi & Syscoin Data Availability

Combining the computational power of Cartesi and the data availability (DA) of Syscoin, to leverage the benefits of both platforms.

Core Concept and purpose statement

This project aims to demonstrate the feasibility and potential of integrating Cartesi’s layer-2 solution with Syscoin’s NEVM, enabling developers to create scalable, secure, and decentralized applications using mainstream software stacks and tools. The project specification will elucidate the optimal method for retrieving and validating raw data from Syscoin’s Data Availability solution and processing it within the Cartesi Machine.

How will you use Cartesi, specifically?

Cartesi is a layer-2 solution that enables developers to use mainstream software stacks and tools to build smart contracts on top of any blockchain. Cartesi provides a Linux-based virtual machine (VM) that runs off-chain, but can be verified on-chain, allowing for complex and intensive computations to be performed without compromising the security and decentralization of the blockchain.

We are using Cartesi for our project because it offers several advantages that make it suitable for our needs. Some of these advantages are:

  • Programming flexibility: Cartesi allows us to use familiar programming languages and tools, such as Python, R, SQL, or Pandas, to create and execute our smart contracts. This reduces the learning curve and the development time, as well as the complexity and cost of the code. It also enables us to access a rich set of libraries and frameworks that can enhance the functionality and performance of our smart contracts.

  • Scalability: Cartesi enables us to perform large-scale computations off-chain, without being limited by the gas fees, block size, or throughput of the blockchain. This allows us to process and analyze the big data that is accessible and retrievable from Syscoin’s network-enhanced virtual machine (NEVM), which offers fast, low-cost, and interoperable transactions, as well as Ethereum-compatible smart contracts and decentralized applications. By using Cartesi’s VM, we can handle complex tasks such as machine learning, data mining, or optimization, that would otherwise be impractical or impossible on-chain.

  • Interoperability: Cartesi allows us to deploy our smart contracts on any blockchain that supports smart contract execution, such as Syscoin’s NEVM, Ethereum, Binance Smart Chain, or Polygon. This gives us more flexibility and choice in selecting the best platform for our project, as well as the possibility to interact with other blockchains and platforms that offer different features and functionalities.

In summary, by combining Cartesi and Syscoin, we can leverage the best of both worlds: a layer-2 solution that enhances the performance and functionality of the off-chain processing power, and a layer-1 solution that ensures the data availability and security of the on-chain transactions. We believe that this project will add value to the Cartesi ecosystem or tech stack by expanding its reach and compatibility with other blockchain platforms, enhancing its performance and functionality with more advanced and sophisticated DApps, such as data analysis and machine learning, and increasing its adoption and innovation with more developers and users who can benefit from its features and advantages.

Technical details

We will develop a technical specification and implement prototypes in iterative cycles to validate our hypotheses. At the conclusion of each cycle, we will compile a report outlining the results, whether they indicate success or failure.

In this proposal, for example, we aim to investigate both Pull and Push strategies for data ingestion using Syscoin and Cartesi solutions.

Our exploration will progress from simpler approaches to more complex ones, like in the data arbitration model:

  1. Authority

  2. Quorum (committee)

  3. Dave [1]

Below, we outline several topics. This does not imply a fixed exploration or execution order, it serves as a flexible guide for potential areas of investigation.

Exploration Topics

1. Data ingestion strategy

What are the strategies for injecting a large dataset into the Cartesi Machine?

  • Push strategy: when the end user sends the data to the Cartesi Machine using an advance command

  • Pull strategy: when the DApp inside the Cartesi Machine requests data from the outside world

2. Zero Knowledge

Is it possible to use zero-knowledge proofs to prove the starting point of a Cartesi Machine for a large dataset?

  • risc0 computational capacity

  • stark snark conversion

  • Merkle Tree eq Syscoin’s Hash proof

3. Syscoin integration

What are the components that need to be built for this integration?

  • Web3DAClient

  • SyscoinFetcher

  • DAContract

4. Arbitration

What is the best possible arbitration solution for blockchain data availability?

  1. Authority

  2. Quorum (committee)

  3. Dave [1]

5. Cartesi Integration

  • How to exchange the data between the internal CM components?

[1] Dave Arbitration

Inspired by the biblical David versus Goliath, the Dave Arbitration approach symbolizes the capability of a smaller computing entity to win a challenge against a larger counterpart. In this context, a single node has the capacity to validate the accuracy of data in contrast to a cluster of nodes. This arbitration methodology underscores the correctness of smaller computing resources in decentralized validation processes.

Value Proposition

This product/service leverages the computational power of Cartesi’s layer-2 solution to process and analyze the big data that is accessible and retrievable from Syscoin’s network-enhanced virtual machine (NEVM), enabling developers to create scalable, secure, and decentralized applications using mainstream software stacks and tools. By integrating Cartesi with Syscoin, this product/service offers fast, low-cost, and interoperable transactions, as well as Ethereum-compatible smart contracts and decentralized applications. Moreover, by using PoDA protocol, this product/service ensures that the data needed to verify the off-chain computation is available to anyone who wants to verify it, without requiring the full data to be stored on the blockchain. This product/service also ensures the data availability of the blockchain itself, by using various methods to prevent data withholding attacks.

Estimated Duration and Funds Requested

Duration: 7 weeks

Funds request (USD): $16,800 USD

Subsequent Vision and Extensibility

In the future, we plan to add Filecoin support to our solution, which will enable us to leverage a decentralized storage network over IPFS. Filecoin is an open-source, public cryptocurrency and digital payment system that allows users to rent unused hard drive space. By integrating Filecoin with our solution, we will be able to offer more data storage options, as well as enhance the security and reliability of our data retrieval service. Our vision is to create a scalable and flexible DApp that can handle real-life and complex use cases using Cartesi Rollups, which have a powerful rollups technology with a Linux runtime. Cartesi Rollups allow us to move the bulk of the computation outside the blockchain, using any ledger as a data source but not as an execution environment. This way, we can overcome the scalability limitations of the Ethereum Virtual Machine (EVM) and use any package or library that is available for Linux (like Pandas).

Reusability and Other Use Cases

The three main components could be reused by other DApps to handle large and complex datasets that require advanced analysis and processing. It can also ensure the security and reliability of the data retrieval service. Some other potential uses for our solution are:

  • Data science: Everyone can use our solution to perform data science tasks, such as data cleaning, exploration, visualization, modeling, and evaluation. You can use any library or package that is available for Linux, such as Pandas.

  • Machine learning: Everyone can use our solution to train and deploy machine learning models, such as classification, regression, clustering, and reinforcement learning. You can use any framework or tool that is compatible with Linux, such as Keras, PyTorch, FastAI, and Ray.

  • Artificial intelligence: Everyone can use our solution to create and run artificial intelligence applications, such as natural language processing, computer vision, speech recognition, and generative adversarial networks. You can use any library or package that supports Linux, such as NLTK, SpaCy, OpenCV, and PyTorch.

These are just some of the examples of how you can use your solution for other purposes. There are many more possibilities and opportunities that you can explore.

Risks and Contingency Plans

Cartesi and Syscoin are two blockchain-based platforms that aim to provide scalability and interoperability for decentralized applications (DApps).

There challenges and risks that could arise from this an integration. Some of them are:

  • Technical complexity: Integrating two different platforms with different architectures and protocols could pose technical difficulties and require a lot of development resources and testing.

  • Security risks: Integrating two platforms could also introduce new attack vectors or vulnerabilities that could compromise the security or integrity of the DApps or the platforms themselves. For example, if one platform suffers a network outage, a malicious attack, or a bug, it could affect the other platform or the DApps that rely on them. Additionally, there could be potential issues with data privacy, custody, or compliance when transferring data or assets across platforms.

  • Economic trade-offs: Integrating two platforms could also involve economic trade-offs or opportunity costs that could affect the profitability or sustainability of the DApps or the platforms themselves. For example, if one platform has higher transaction fees, lower adoption, or lower liquidity than the other platform, it could affect the user experience, demand, or revenue of the DApps or the platforms. Using two tokens for the DApps might make them harder to adopt.

Success criteria

At the end of the project, we will release a technical specification based on our discovery exploration about how to integrate the Cartesi Rollups with Syscoin’s Data Availability.

Final report

At the end of this project, we will provide a detailed report containing any reasons for failure that we encountered during the specification process. This will allow others from community to overcome those issues and continue the project with confidence.

About Your Development team

Calindra

Calindra helps our partners to execute their digital strategy through a experienced and talented team.

Calindra Team

Contributions to the Cartesi community:

Links and resources

Website: calindra.tech

LinkedIn: /company/calindra

Github: /Calindra

ERC-20 Payee address

0x7cE0AA3DFbB8abdCD0Ea426769ffD21302DAA8B8

Hi @fabio.oshiro! Thanks for submitting such an exciting proposal!

With the additional computing capacity and programming flexibility the Cartesi Machine brought, I guess extended access to data is the next step. :fire:

In essence, you are proposing a plugin framework for extra data. :smiley:

(totally up to you) I would suggest imposing limitations that already address some risks and challenges to simplify the execution of this first version/attempt. For instance, instead of trying to manage all ranges of security concerns, list the ones you will focus on.

Don’t worry, though! If approved, the community will definitely join your team in the journey of making it a great project, helping you to check and validate things you might miss in the process of doing it. :handshake:

I guess, now, you are only missing this section :grin:

We are waiting for comments, before we can provide an estimation for the time and budget.
@fscosta

Hi there! Exciting initiative! I have been increasingly thinking about using the dehashing device as a general framework for fetching arbitrary data from within the machine. It would be great if I could hear your feedback about that!

Check out discussions about the dehashing device here:

Hi there! There are a few things we can do here to improve the vision of PoDA to be even useful for cartesi rollups on other chains. There is some work being done by Carsten Munk to integrate RISC0 (with continuations for fraud proofs) and Cartesi. I think the best scenario there is to use Cartesi as a bootloader for programs optimistically and then use lambda functions to run under ZK assumption which deal with financial aspects of your application. DA is critical to all of this, as RISC0 and Cartesi are dealing with execution or CPU if we consider the stack much like a computer. The memory/disk is DA and the ordering of events needs to be preserved on a layer 1 chain that is outside the scope of CPU layers. I would love to see how the FP mechanism would work with existing one-step verifier of Cartesi under assumption that the inputs are not derived from chain but from external DA.

Once we integrate Polyhedra with Syscoin as a sender chain we can prove in ZK that DA exists and is final on Syscoin meaning no rollbacks are possible, because polyhedra is hooked into layer zero we can effectively have a multichain messaging system that can easily be consumed by any chain layer zero has integrated, using ZK provable messages which can include DA that is secured on our NEVM. General state of any EVM can be easily proven by polyhedra’s ZK light clients which underpin layer zero messaging stack as optional ZK security. This means we can run Cartesi rollups with Bitcoin miner secured DA on any EVM chain that layer zero is integrated with (we are working on a Syscoin one right now), you can see the list of currently supported EVM’s Mainnet Addresses - LayerZero Docs

Step 1, So I would say first to do PoC of cartesi on Syscoin as a rollup or application specific solution (Dappchain). We have our Layer 2 already leveraging PoDA on Syscoin called Rollux which is based on the bedrock stack, we can have cartesi applications running on top of that as we have access to DA forwarding from L1 to L2. So please show how the FP mechanism will work here with PoDA in mind, on a Cartesi machine running on Syscoin chain (ideally on Rollux L2 so like a L2 Dapp or an L3). Think of any new trust/security assumptions and ensure we are minimizing or mitigating any new assumptions.

Step 2 would be to have PoDA ZK proven and available through layer zero, then we can run solutions on any chain including Ethereum.

Step 3 would be to add in execution continuations through RISC0 and have Cartesi be a bootloader and surrounding optimistic stack to lambda’s that execute against DA for financial related actions in application specific Cartesi machines. Its still early on the research here but there is promise that perhaps not everything is solvable in ZK and an optimistic solution surrounding ZK can be ways to solve certain problems at scale with better tooling that can run with Linux toolkits.

PS, im pretty excited by non financial related apps such as ML and data analysis that is provable… that is where Cartesi can really shine and there is no scope for scaling that even with continuations for the next 3-5 years.

Hi @sidhujag, when you say FP what do you mean?

FP = Fraud proof, using our one-step verifier on chain

Hello everyone! Just a quick update: we’re actively discussing about this proposal’s technical direction and exploring co-funding opportunities with Syscoin. We’ll share more details as our conversations progress.