Unikernel-z: A unikernel for the Network of Momentum

I’m no expert, but my understanding is even just replicating any basic zApp or tool built on NoM on the unikernal would provide a few key benefits:
*Speed (launching in a custom image that only holds what is required)
*Enhanced security (running in an isolated layer)
*Size (should allow zApps to have a smaller footprint)

I also hope individual contracts could eventually be run within NoM unikernals which would allow the contract operator to upgrade the contract without needing to make modifications to the base network

Also there’s a cool project called Mewz (GitHub - mewz-project/mewz: A unikernel designed specifically for running Wasm applications and compatible with WASI) which is a good example of unikernal use

2 Likes

These are all feasible zApp implementations, and this is good to circle back on this discussion. Now that the phase 1 delivery is complete, I am starting to brainstorm a potential zApp(s) for phase 3.

I’m still looking into this as well, let me know what you find. This is the most critical component of the zApp development.

Personally I think a Uniswap type DEX is a logical first step. We can fork the uniswap front end and showcase what is possible on NoM. Everyone wants to trade tokens.

Another idea could be implementation of this: https://medium.com/@zenon.network/the-new-nft-standard-when-cryptography-meets-steganography-9e356007dcaa

@sol did some high level work on this topic and did some POC work in his repo. I think others have looked into this too.

3 Likes

I’m thinking about this more. New idea. Why not focus on something that is novel and unique to NoM that could attract devs to the project.

What can we highlight?

  1. Unikernel architecture
  2. Adaptive Smart Contracts (link above)

What is a “simple” idea that is useful, demonstrates the unikernel architecture and showcases adaptive smart contracts? I understand what an Adaptive Smart Contract is, but I’m not entirely sure what about our architecture that makes them possible. Maybe @EovE7Kj if we understood that, we can brainstorm more ideas.

Currently, we don’t have the architecture to make adaptive smart contracts. @aliencoder’s work on supernova chain is opening doors to EVM support, and the potential for embedded contracts within unikernel-z is what I am focusing on here.

1 Like

Is it possible to explain this simply by illustrating it with a use case example?

Any decentralzied application you can think of can be offloaded to unikernel as opposed to running in EVM. An oracle network, a social network, a CDN, or even an NFT arcade are all feasible.

Some great web3 examples have been built on cartesi, you can check out their rollup lab

1 Like

I have conceptualized this as a sort of “Zenon unikernel dev kits”, the way we have the SDKs.

The idea is: you write your zApp in your language of choice - Go, JS, C, whatever - you run a binary ELF to compile it to a qcow2 unikernel image. At compile time, it will identify all the necessary components, libs, packages, and build the unikernel around it, implementing the computation mechanisms (gas metering, contract execution)

2 Likes

what if we did something like “r/place”

https://www.reddit.com/r/place/comments/twft1q/full_screenshot_of_rplace_2022/#lightbox

1 Like

I agree. I’m still researching at the moment. But we have options.

1 Like

Phase 1 delivery is complete. I am still working on the performance analysis for the unikernel; I will await Phase 1 to reach quorum until I submit it for Phase 2

6 Likes

More dApp ideas:

  • Satoshi Dice
  • Prime Dice - Looks like there might be some geo restrictions.
  • DEX (back to original idea)
  • Decentralized Voting System - Delegators or pillars create a poll that is voted on. Votes require a signed message (absent a Web3 wallet). The vote is then associated with a pillar and weighted based on amount of ZNN delegated. The goal is to determine a delegator weighted response by Pillar to a pole. Wait… not sure this requires a smart contract. Sounds like math only. Let me think about a variation that is more useful.

A feeless Dex would do wonders. Still date there are no feeless Dex, afaik

A streaming payments infra like Sablier or Superfluid could really help demonstrate the feeless differentiator of NoM

2 Likes

One vote until phase1 quorum!

I am nearly done writing up the znnd performance analyses. Compared to a baremetal ubuntu server and unikernel-znnd docker image, it is several orders of magnitude greater for boot time and time to first momentum.

I will post the phase2 shortly after phase1 reaches quorum.

Still brainstorming zApp development and a standardized unikernel framework for it.

6 Likes

It’s approved now

2 Likes

Was just reading Phase 2 deliveries, and noted this deliverable " Successful integration of smart contract support".

What does this entail?

1 Like

This was in my original (misguided) proposal, during which I did not realize I could spread the proposal across multiple AZ…

So the current phase2 is analysis of performance improvements, and phase3 will be a ‘testnet’ version of an embedded zApp smart contract on unikernel.

The next AZ will be functional zApp development, and will likely span several projects and have crossover with other devs :slight_smile:

9 Likes

Cool. Makes sense. Thanks for explaining that again.

1 Like