OpenSats Quarterly Update - Cyberspace and ONOSENDAI Progress Report 1

Arkinox's first OpenSats grant report on the progress of cyberspace

arkinox

19. Dezember 2023December 19, 2023 · 8 Min. Lesezeit8 min read

Key insights have been developed during the first 90 days as well as lots of new code.

Cyberspace Meta-Protocol

Key Protocol Insights Discovered#

ONOSENDAI Code

I began a refactor of ONOSENDAI's codebase. The original codebase was a proof-of-concept that one could represent a 3D world using nostr. It was not structured to support the thermodynamic cyberspace protocol, and it was not using TypeScript nor a frontend framework, so I began a total rewrite using Vite/ReactJS/TypeScript.

One of the key components to the new ONOSENDAI is retrieving and validating cyberspace events published via nostr. I built series of TypeScript libraries that comprise what I call the "cyberspace state reconciler" that enables a JavaScript application to subscribe to, validate, and supply the validated state of a given user's cyberspace presence. This logic will be critical to any cyberspace application so I am designing it with other developers in mind.

Likewise I completed the work on the mining engine for https://construct.onosendai.tech, the in-browser mining software that one can use to trustlessly claim space in cyberspace via SHA256 mining. This same engine is providing the basis for the engine ONOSENDAI will use to power all cyberspace actions. (Like all of my projects, the construct miner is open source on GitHub: https://github.com/arkin0x/construct-miner)

Key Code Insights Discovered#

I solved a particularly tricky problem that I have not seen anyone else solve. There are a few other nostr-based programs that perform proof of work, but they are not optimized. They work in the following way:

My mining algorithm works like this:

As you can see, my mining algorithm skips a lot of overhead with object creation and string serialization. I did this partially out of necessity. For some reason, when mining via web worker, the TextEncoder object produced a memory leak that crashed the worker. Using this method is not only more efficient, but it avoids using the TextEncoder for every hash; in fact, it only uses the TextEncoder once.

To accomplish this, the nonce is structured in a different way than normally prescribed by NIP-13. I use a fixed-length nonce of 16 characters and each character can be one of 16 adjacent ASCII symbols. Incrementing this in binary is very easy; it would be problematic if the string length of the nonce ever changed, so I avoided that completely. The nonce's entropy in this format is just as sufficient as putting an incremented number into the nonce, especially with an updating created_at.

This mining system is as efficient as I can imagine it to be for web-based web worker mining. With this system, I can spawn 10 web workers and have them mine in parallel, which is what the ONOSENDAI Construct Miner does.

I am currently in progress of implementing this mining system within ONOSENDAI to enable the most efficient usage of system resources to mine cyberspace actions. As the protocol dictates, every action must include proof of work, and the proof of work scales the action. Thus, the more efficiently you can mine on your hardware, the more efficiently you can act in cyberspace.

Utilizing Dataspace: Yondar

Yondar an augmented reality project of mine that I have been working on for a while, but with the invention of Dataspace, it completely changes how I think about it. Where ONOSENDAI is meant to be an Ideaspace client, Yondar is a Dataspace companion that can be your window into the 3D augmented reality world of cyberspace in your travels across reality.

I've recently open sourced Yondar and relinquished ownership of the project to make it a fully open source endeavor. I've also begun plans to tailor it toward cyberspace implementation. Excitement about Yondar in the nostr community has been palpable because it brings a fresh new mapping and geospatial features to the protocol. However, the upcoming cyberspace features are even more exciting in my opinion, and I have been greatly encouraged by the code contributions made by the Yondar community! It's really a beautiful thing to see.

Community

The ONOSENDAI Telegram group is currently close to 100 members. It's exciting to see how many people are interested in building a true metaverse. I'm hoping that our community continues to spread the word about cyberspace and contribute to the code. Open source is our superpower!

Likewise, the Yondar Telegram group exploded from 0 to almost 50 members in a handful of weeks.

Both of these communities have different interests but are connected by the same thread: the open source metaverse protocol of cyberspace.

Nostrocket

Yondar is the first big https://nostrocket.org project. There has been immense synergy between Yondar's utilization of the nostrocket protocol and G's work on improving nostrocket. Having an ambitious and active project like Yondar helps to push nostrocket forward. G and I have worked together and there is no doubt that this synergy has propelled our projects forward. Some would perhaps liken this to, say... a rocket? Working as designed!

Summary

With a increasingly solidified protocol specification, improving tools, and growing open source communities surrounding Yondar and ONOSENDAI, I am extremely optimistic about the velocity of my work on bringing cyberspace into reality. I think that this metaverse, unlike any others, will open up possibilities that only a permissionless protocol could enable. Integration with augmented reality, DVMs, AI, and real locations can make cyberspace a useful and practical medium that touches our everyday lives.

Resources

ONOSENDAI Telegram Group: https://t.me/ONOSENDAITECH Yondar Telegram Group: https://t.me/yondarme Cyberspace Meta-Protocol specification: https://github.com/arkin0x/cyberspace ONOSENDAI repo - refactor branch: https://github.com/arkin0x/ONOSENDAI/tree/vite-reactjs-refactor ONOSENDAI Construct Miner repo: https://github.com/arkin0x/construct-miner Yondar repo: https://github.com/innovatario/yondar-mono ONOSENDAI: https://onosendai.tech Yondar: https://go.yondar.me Me: https://njump.me/npub1arkn0xxxll4llgy9qxkrncn3vc4l69s0dz8ef3zadykcwe7ax3dqrrh43w

#Nostr#ONOSENDAI#Open Source#cyberspace#opensats#yondar

Written by

Comments

No comments yet. Start the conversation.

Contents

2 sections

  1. Key Protocol Insights Discovered
  2. Key Code Insights Discovered