The current approach to protocol development often takes a process-centric approach, where each smart contract is designed to manage a specific process triggered by external interactions. This approach is intuitive because it mirrors how our brains naturally think when designing systems, focusing on one step of logic at a time. However, this approach can lead to a problem as the protocol evolves over time.
As the protocol evolves, more "steps in logic" are added across the system, resulting in long and convoluted chains of processes. These chains of processes become overly complex and difficult to understand. The protocols end up having a "web-like" structure, breaking down simple interactions into multiple layers of abstract logic. This complexity makes it challenging to track where calls are coming from or going to, causing confusion and making it easy to get lost in the web of logic.
This convoluted structure puts a significant burden on users trying to understand the system, often requiring them to read extensive documentation to grasp what is happening behind the scenes. This pattern can be frustrating for developers, discouraging them from contributing to the existing codebase or integrating with the protocol. Moreover, it increases the potential for bugs and unintended behaviour to occur.
In the future, this convolution in protocol development can become a significant problem. As protocols become more complex, it becomes increasingly challenging to maintain and understand them. This complexity can hinder the scalability and reliability of the system, especially during periods of high usage. Additionally, the non-negotiable nature of smart contracts can be a drawback if contract terms need to be changed due to unforeseen events.
This is especially important when considering the framework for Intellectual Property and its tokenization. The framework for facilitating these processes into smart contracts can not be burdened with convolution or at worst the potential for litigation involving smart contracts that are immutable or where ownership could be compromised.
To address these challenges, it is crucial to find alternative approaches to protocol development that simplify the logic and make it more manageable. By streamlining the structure and reducing unnecessary complexity, Acxyn can create a protocol that is easier to understand, maintain, and scale. This will encourage more participation from game developers and users, fostering innovation and reducing the potential for bugs and unintended behaviour.
One alternative approach to protocol development is to use a modular design, where each module is responsible for a specific function or feature. This approach allows Acxyn to focus on one module at a time, reducing the complexity of the system. Additionally, modular design makes it easier to update or replace individual modules without affecting the entire system.
Another approach is to use a data-centric approach, where the focus is on the data rather than the process. This approach allows Acxyn to design a protocol that is more flexible and adaptable to changing circumstances. Allowing for the updates and upgrades with far more precision and speed.
The goal is to turn a protocol that looks like this:

Into this:

The Acxyn Default Framework for IP tokenization is designed to address the inherent issues in building a protocol using a process-centric approach. The framework shifts the focus of writing contracts away from organizing contracts around processes and towards organizing contracts around data models. This approach is important for tokenizing IP because it allows developers to make certain assumptions around the intended behavior for any given contract in the protocol, even if they are unfamiliar with the code. This model also limits the maximum depth of dependencies to a single contract, removing the potential for long or circular dependency chains to form.
The Default Framework separates data and business logic, which is not a novel concept but has not been applied to smart contract development yet. The framework is inspired by existing design patterns in other areas of computing that are more mature, like computer operating systems and web development. By separating data and business logic, the framework allows for greater flexibility in design while retaining some properties of immutability, which dramatically simplifies protocol development.
In the Default Framework, contracts are either Modules or Policies, which are essentially the “front-end” and “back-end” of a protocol. Modules are internal-facing contracts that store shared state across the protocol, while Policies are external-facing contracts that receive inbound calls to the protocol and route all the necessary updates to data models via Modules. This separation of what and why in the protocol allows for greater flexibility in design while retaining some properties of immutability, which dramatically simplifies protocol development.
The Default Framework views the entire contract set as a cohesive unit, making it easy to upgrade the protocol's contract set. In Default, there is a special contract registry that manages the contract set called the Kernel. This means that all changes to the protocol are made within a single contract, unifying the model of upgradability. This approach is crucial for the development of Acxyn and its partners because it simplifies the process of upgrading the protocol, making it easier to adapt to changing market conditions and user needs.
By defining all the protocol changes in a single contract, Default is a very lightweight and simple framework to adopt. Developers only need to understand how the Kernel works before building any type of protocol on top, whether they are DeFi protocols, NFT marketplaces, or DAO tooling. The Default Framework's consistent contract architecture and separation of data and business logic make it easier for developers to understand the system, fostering innovation and reducing the potential for bugs and unintended behavior.
Applying the tokenization and licensing of intellectual property to the Default Framework is our use case. We can leverage the Approving and Terminating policy actions within the Kernel to handle the policies associated with the licensing process.
In this context, you would define specific policies that represent the licensing policies for intellectual property within our project (Acxyn). These policies would encapsulate the rules, terms, and conditions for licensing intellectual property assets.
When a user or entity wants to license intellectual property, they would interact with the appropriate policy contract that represents the specific licensing policy they wish to follow. This could involve calling functions within the policy contract to initiate the licensing process, provide necessary information, and fulfil any requirements.
The Approving and Terminating actions in the Kernel would be used to manage these licensing policies. When a licensing policy is ready to be activated and made available to users, it can be approved within the Kernel, adding it to the whitelist or registry.
On the other hand, if a licensing policy needs to be terminated or deprecated, it can be removed from the whitelist or registry, effectively deactivating it and preventing further interactions.
The keycodes associated with Modules can play a crucial role in facilitating the licensing process. You can assign specific keycodes to Modules that handle the various aspects of licensing, such as tracking licenses, managing royalties, or enforcing restrictions. These keycodes provide a standardized way for policies to reference and interact with the underlying data models within Modules.
By integrating intellectual property tokenization and licensing into the Default Framework, Acxyn can leverage its modular architecture, permissioned interactions, and upgradability to create a robust and flexible system for managing and enforcing licensing policies.
I will provide a classic example of Bob and Julie involving the transfer of ownership of a brand that has been licensed through Acxyn. Bob holds the license and Julie has made an offer and Bob has accepted. Lets walk through an example involving Bob and Julie and how the Default Framework can be applied.
**Modules**:
BrandModule: This module manages the data model for the brand, including ownership details and other relevant information. It can modify its internal state, such as updating ownership records.
**Policies**:
BrandLicensingPolicy: This policy represents the licensing policy for the brand. It contains functions and rules related to brand licensing, including the transfer of ownership.
**Licensing Process:**
Julie initiates the ownership transfer by interacting with the BrandLicensingPolicy. She calls a function like initiateOwnershipTransfer(address newOwner) within the policy contract, providing her address as the newOwner.
The BrandLicensingPolicy verifies the validity of the transfer request, ensuring Julie meets any criteria defined in the policy (e.g., eligibility, payment terms).
Upon successful validation, the BrandLicensingPolicy interacts with the BrandModule using the appropriate keycode to update the ownership details. It calls a function like transferOwnership(address newOwner) within the BrandModule, passing Julie's address as the newOwner.
The BrandModule updates its internal state, recording the change in ownership from Bob to Julie.
The ownership transfer process is complete, and Julie is now the new owner of the brand, as reflected in the BrandModule's data.
**Kernel and Keycodes:**
The Kernel contract maintains the registry of contracts within the protocol. It includes the BrandLicensingPolicy and BrandModule contracts.
The BrandLicensingPolicy contract is approved in the Kernel, allowing it to interact with the BrandModule and other modules within the protocol.
The BrandModule is installed in the Kernel, and a specific keycode (e.g., "BRD") is assigned to it. This keycode is used by the BrandLicensingPolicy to reference the BrandModule when performing ownership transfers or accessing brand-related data.
By applying the Default Framework to this example, you can facilitate the transfer of ownership of the licensed brand from Bob to Julie. The BrandLicensingPolicy acts as the intermediary between external interactions and internal state changes, while the BrandModule manages the brand's data and state.
The Kernel, through its registry and keycodes, ensures that the relevant contracts (BrandLicensingPolicy and BrandModule) are authorized and can communicate with each other effectively. This approach allows for modularity, upgradability, and the ability to define and enforce specific licensing policies within the framework.

How does Acxyn allow for the commercialization of this process? By the IBond Interface that is Policy Contract within the Default Framework.
**The IBond Interface**
The IBond contract serves as a policy within the Default Framework and implements the IBond interface. It allows for the purchase of tokens through a modified Sigmoidal Bonding Curve mechanism. Here are the key components of the contract:
1. **Dependencies and Permissions**: The IBond contract relies on the DefaultSIG and DefaultTreasury modules, which are configured as dependencies in the `configureDependencies()` function. Additionally, permissions are requested from the SIG module (for minting tokens) and the TRSRY module (for depositing funds) through the `requestPermissions()` function.
2. **Variables and Constants**: The contract defines several variables and constants to control the sigmoidal mechanism. Notable ones include `EMISSION_RATE` (tokens added to the bonding inventory per day), `SLIPPAGE_RATE` (price increase per token), `PRICE_DECAY_RATE` (rate at which token prices decay each day), `MAX_INVENTORY` (maximum number of tokens available for purchase), and `RESERVE_PRICE` (lowest possible price for tokens in the bonding curve).
3. **View Functions**: The contract provides view functions to retrieve information about the bonding curve. `getCurrentInventory()` calculates the current inventory based on emissions and previous inventory, while `getTotalCost()` calculates the total cost and new base price for a given number of tokens purchased.
4. **Purchase Function**: The `purchase()` function allows users to buy tokens from the curve. It takes the number of tokens to purchase and the maximum price as parameters. The function verifies if there is sufficient inventory and if the execution price meets the maximum price criteria. If the conditions are met, it deducts the purchase amount from the inventory, updates the base price and sale timestamp, transfers USDT from the buyer, mints IP tokens to the buyer, and emits an event indicating the purchase.
Overall, the IBond contract provides a mechanism for purchasing tokens through a Sigmoidal Bonding Curve with adjustable pricing. It integrates with the DefaultSIG and DefaultTreasury modules for token minting and fund management, respectively.
This curve and its value are determined by the IP Valuation done by Acxyn utilizing its valuation algorthm including SiRE. (Simulation-Informed Revenue Extrapolation with Confidence Estimate for Scaleup Companies Using Scarce Time-Series Data)
SiRE plays a vital role in accurately estimating the revenue potential of scaleup companies, particularly those with limited time-series data available. This algorithm leverages simulation techniques to provide reliable revenue extrapolations and confidence estimates, enabling informed decision-making and strategic planning.

**Algorithm Overview:**
SiRE combines sophisticated simulation methods with statistical analysis to generate revenue projections based on limited historical data. By harnessing the power of computational modeling and data-driven insights, SiRE addresses the challenge of forecasting revenues for scaleup companies operating in dynamic and rapidly evolving markets. The algorithm's key features include:
**Simulation Modeling:**
SiRE employs complex simulation models that take into account various market dynamics, customer behavior patterns, industry trends, and competitive landscapes. These models capture the inherent complexity of the business environment and enable the generation of realistic revenue scenarios.
**Data Analysis:**
SiRE utilizes available time-series data, even if it is limited, to identify relevant patterns and correlations. Through rigorous statistical analysis, the algorithm extracts valuable insights from the data, enabling accurate revenue extrapolation.
**Scenario Generation:**
SiRE generates multiple revenue scenarios by introducing controlled variations in the simulation models. This approach accounts for different market conditions, demand fluctuations, and external factors that may impact revenue generation. By considering a range of potential outcomes, SiRE provides a comprehensive understanding of revenue possibilities.
**Confidence Estimation:**
One of the key strengths of SiRE is its ability to quantify the level of confidence associated with revenue projections. The algorithm incorporates statistical techniques to estimate confidence intervals, indicating the range within which the actual revenue is likely to fall. This feature helps decision-makers assess the level of uncertainty associated with the revenue forecasts and make informed judgments.
**Benefits and Applications:**
SiRE's advanced capabilities offer numerous benefits to scaleup companies within our ecosystem. Some notable advantages include:
**Decision-Making Support:**
By providing accurate revenue extrapolations and confidence estimates, SiRE equips decision-makers with valuable insights for strategic planning, resource allocation, and business expansion. It helps optimize financial projections, identify growth opportunities, and evaluate the viability of potential initiatives.
**Investor Relations:**
SiRE enhances investor confidence by providing robust revenue projections supported by simulation techniques and statistical analysis. It enables scaleup companies to articulate their growth potential and attract investment by showcasing reliable revenue forecasts with quantifiable levels of uncertainty.
**Risk Management:**
Through the generation of multiple revenue scenarios, SiRE aids in risk assessment and mitigation. Companies can evaluate the potential impact of different market conditions, industry disruptions, or changing customer preferences on revenue outcomes. This information allows for proactive risk management strategies and contingency planning.
**Conclusion:**
SiRE, the Simulation-Informed Revenue Extrapolation with Confidence Estimate algorithm, is a powerful tool employed within the ecosystem of Acxyn. By leveraging simulation modeling, data analysis, and confidence estimation techniques, SiRE provides accurate revenue projections and helps scaleup companies make informed decisions in dynamic and uncertain business environments. Its application supports strategic planning, investor relations, and effective risk management, enabling companies to navigate challenges and seize growth opportunities with confidence.
This with Acxyns IP Oracle utilizing zkml models to allow the integrity of the data to not be compromised in anyway will allow Acxyn to validate and project IP valutaions for games themselves. We will have the infrasture needed through the Acxyn Default Framework to build out the future of IP tokenization and then allow every game studio or development team its own Bonding Curve or private AMM to commercilize that value and offer future financial tools and incentives to grow their product.
Citations:
[1] https://arxiv.org/pdf/2201.08701.pdf
[2] https://chain.link/education-hub/smart-contract-automation
[3] https://zerocap.com/research-lab/the-internal-workings-of-ethereum-infrastructure/
[4] https://thetokenizer.io/amp/2021/04/21/transforming-ideas-into-a-tradeable-asset-how-tokenization-will-disrupt-intellectual-property-rights/
[5] https://cointelegraph.com/learn/what-are-smart-contracts-a-beginners-guide-to-automated-agreements
[6] https://www.eublockchainforum.eu/sites/default/files/reports/report_legal_v1.0.pdf