Feliz aƱo nuevo! š I'm Daniel, long time builder in the ecosystem, Senior ambassador,
humble fellow of the Polkadot fellowship and team lead of the Virto team of the
Virto Network.
This proposal is about supporting us the Virto team(more than a roadmap or specific project), we are a
creative and very capable group of individuals with great track record building multiple projects in the ecosystem
with funds from the treasuries and Web3 foundation(piggy bank too):
Sube
+ Scales
: 20,000 EUR https://kusama.polkassembly.io/post/616orml-payments
: 36,000 kUSD https://github.com/w3f/Grants-Program/blob/master/applications/lip_payments.mdlibwallet
: 28,800 USD https://polkadot.polkassembly.io/post/825It hasn't been the easiest building this way but we believe developing with the ecosystem
funds for the ecosystem is the right way to go specially when creating out of the box solutions in the best Kusama style.
We have several exiting projects lined up for 2023 ready for development with the
main theme theme of making blockchain technology extremely accessible to the
non-crypto-native 99% of the population.
The highlights and priorities for 2023 are Summa and the Hardware wallet as they can have a
bigger impact short term. Before rushing out a blockchain with no utility into
existence we want to focus on experimenting with different forms of user interaction that result
familiar and intuitive to the broad audience.
We have been laying down the foundations of a technology stack we believe can tackle
the many issues the industry is facing to attract mass adoption without
compromising decentralization, trying to make the technology extremely accessible,
simple to use, cheap and overall remove as many entry barriers as possible, such as:
To serve the use cases we aim for we've gone a long way creating a technology stack from scratch that
puts a lot of focus on user/developer experience and very lightweight, simple, power/memory efficient, WASM friendly libraries
that can run everywhere, this aids in our long term vision to really bringing blockchain technology to the masses, specially empowering regular users in areas where digitization and technology penetration is low and people might have never heard the word blockchain, there is an opportunity to provide inexpensive hardware and efficient software to connect people to Web3 services.
ā¹ļø Road-map is subject to change, estimates of times and human resources(engineering, design, user research, etc.)
are approximate and team members(12+ people) will be dynamically allocated to the right project on a need basis.
github.com/virto-network/valor
Virto's async lightweight open runtime, is a WebAssembly runtime abstraction that based on a target platform selects an appropriate WASM compiler(e.g. Wasm3 in embedded devices, Wasmtime for servers, etc). Using the upcoming "Web Assembly component model" we define or make use of existing host interfaces to expose different capabilities to the plugins that are loaded on an internal registry and are supervised in case plugins were to fail.
An important aspect of Valor is to be developer friendly, have enough tooling and define easy to use interfaces so developers can create new plugins in no time without complications.
github.com/virto-network/summa-node
Substrate meets Matrix is the implementation of a Matrix homeserver and Smoldot based node developed in Rust that can compile to WebAssembly to run in the browser. The Matrix and blockchain functionality are developed as WASM components running on top of Valor, WASM runtime and message broker that routes incoming messages to the blockchain component and other user provided plugins.
The node is distributed as a lightweight single binary easy to deploy with support for multiple blockchains(thanks to Sube). It is great as a personal cloud and easy entry point for users to the Kusama/Polkadot ecosystems as users only need simple WebAuthN or phone number authentication, it provides encrypted communications out of the box including access to any public Matrix channels(all official communication channels in the ecosystem that are hosted by Parity and the Web3 foundation use this protocol).
Building on top of the Matrix account and device management system means users only ever need a friendly MXID(e.g. @olanod:virto.community
) to send funds to a friend, multiple devices are supported and even multiparty signature support in case you want to require transactions to be confirmed with a different device or a hardware wallet.
With Matrix built-in Secure Secret Storage and Sharing protocol there is also an out-of-the-box solution for secure account backups and arbitrary user secrets.
Finally more functionalities are available when installing different plugins that can turn your node into a decentralized notification system or a personal bot assistant that can sign transactions on your behalf.
Hardware development is hard and designing crypto wallets to keep in a cold storage with your life's savings makes things even harder as there are a lot of security considerations in their fabrication that increase their price, but it doesn't have to be that way. At Virto we think there is need for a new category of wallets, small cheap devices that are meant to be carried around without the fear that losing them means losing our funds.
As part of our previous work on the Fido prototype we added support for new kinds of back-ends to libwallet and created a simple device that can be used to confirm and sign transactions with the push of a button. Continuing with this idea, we want bring the Virto Stack to inexpensive and commonly available hardware modules, keeping the "artistic" style(wood+leather for the next experiment) and assemble a limited amount of devices to be given away later this year.
The next iteration of the software would be more complex as we will make several optimizations across the stack to fit Valor and other plugins that effectively turn the device into a Matrix client so it can respond to messages in a chat room(e.g. "please sign this transaction"), we would add support for multi-party signatures, a kind of multi-sig that doesn't require sending transactions to the blockchain, so your device can serve as second confirmation factor or the only factor when transacting with small amounts.
Lastly we want to include, at least in a few prototypes, a LoRaWAN capable chip that allows transmitting small amounts of data over long distances that we would use to test the design of an accurate-enough proof of location protocol useful for location sensitive protocols like LIP(or Encointer). This technology is good in places with bad connectivity where users could broadcast a signed transaction to a nearby station(e.g. kiosk,point of sale,neighbor) that submits the transaction on their behalf.
(We promise next prototypes will be prettier than Fido Primero)
github.com/virto-network/virto-node
Kreivo means creativity, the best virto(virtue) of Kusama š It's the first implementation of the Local Incentives Protocol, our initial effort to bring the the ecosystem closer to a more general non technical audience by providing a place where people can easily form/join communities to conduct real world economic activities that create utility for the ecosystem tokens, such as setting up marketplaces where local merchants or service providers can make a fair living transacting in KSM, or with stable coins.
LIP focuses on making decentralized local businesses be socially responsible without compromising their profitability, a dynamic tax system enables the collection of resources that empower local communities to become their own autonomous micro-economies as well as the fair usage of collected resources for other common good causes like addressing climate change or inequality among others.
From the start LIP was designed for a token-less, yet sustainable blockchain. We prefer this design as governance is not in the hands of a few VCs or team members and it can bring more value to Kusama and to the commercial communities that struggle to attract value to their tokens. The real value of the network will come from the real world use cases that find their home in Kreivo(and later Virto) that will have the incentive to develop and sustain the common shared infrastructure.
orml-payments
In practice Kreivo would work in a similar way as Statemine which is built
around the pallet-assets
and pallet-uniques
. Our parachain instead hasorml-payments
as its core functionality, we built the pallet with the support
of a Web3 grant and later brought to a wider audience by successfully merging to
the well known ORML community repository. This Substrate module is what makes
possible to securely pay for products and services thanks to its built-in
escrow-like system with refunds, disputes among other features that also include
the dynamic fee collection system that communities will use to generate local
and global impact.
Kreivo/Virto's governance would be delegated to the Collectives parachain in the future
where we wish to launch the Trade Association and The Federation, a ranked collective
formed by local/regional leaders that serve as delegates of the many DOT holders spread around the globe.
Together with the relay-chain's governance the three bodies can dictate the fate of different
aspects of the chain.
Current experience for attracting new users is very poor in the ecosystem as most people
have to resort to centralized exchanges that are not easily available in every
part of the world and require cumbersome verification processes.
Virto team's first show case for the technology is swap.cash, a fiat-to-crypto
marketplace that benefits from the payments pallet and built-in decentralized
communications to offer a seamless Uniswap-like experience and embeddable
Swap API for developers that want to on-board new users to the ecosystem by
for example allowing fiat payments to merchants that are payed in a stable
coin.
The most compelling use case for Kreivo and Virto in the long term is likely
decentralized commerce, which is not just traditional e-commerce plus crypto
payments, we see d-commerce as a way to put together under the same roof a
universe of composable real-world economies where people trade in a more
transparent and fair way that puts users and communities in control, where
there are clearly defined rules(in the form of code) on how wealth is responsibly
distributed for the overall community's sake, for common good causes and
ultimately for the users themselves that are owners of the very same products
the use.
A decentralized chat-centric super-app for the Web(not an extension), desktop and mobile. It's the go-to graphical interface for "Virto products", same as the hardware wallets it is a Matrix client in disguise with the ability to extend its features with WebAssembly plugins. One can install new applets or teach new tricks(mini overlay applets) from repositories maintained by the community.
Over time we will add more official applets and UI components to make it very simple for other users to develop new functionality.
github.com/virto-network/scales
Making use of type information this library allows conversion to/from SCALE encoded data without allocating an intermediate representation, specially useful when conversion is for dynamic types like JSON.
A client library and CLI for Substrate chains with reduced API(one sube
function) and a big focus on size and portability so it can run in constrained environments like the browser.
Making use of the type information in a chain's metadata(powered by Scales), Sube allows automatic conversion between the SCALE binary format used by the blockchain with a human-readable representation like JSON without having to hardcode types for each network. When submitting extrinsics Sube delegates the responsibility of signing the payload of a transaction to an external tool(e.g. libwallet).
Sube supports multiple backends under different feature flags like http, http-web or ws/wss, with the planned support for smoldot.
When paired with Valor, Sube can be exposed as an HTTP API that runs both in the server and the browser and be composed with other plugins to create higher level APIs that a client application can use from any platform thanks to the ubiquitousness of HTTP. We imagine existing centralized projects easily integrating with Substrate blockchains in the server with the option to progressively migrate to a decentralized set-up with the whole back-end later running in the user device(e.g. web browser). More interestingly it can be used for progressive decentralization to give users the the best user experience, a Sube powered application can start being served from a server to have an immediate response and 0 start-up time and since plugins can be hot-swapped, the blockchain back-end can be switched from HTTP to light node transparently without the application code ever realizing, giving our users with bad connectivity and slower devices the opportunity to enjoy the best possible user experience without compromising decentralization.
github.com/virto-network/libwallet
A lightweight and very portable library with simple to understand and use abstractions that allow creating chain-agnostic crypto wallets able to run in all kinds of environments like native applications, hosted wallets, the browser or even embedded hardware.
We have been adding support for multiple backends and will continue to do so specially for different hardware modules with varying interfaces and architectures.
After adding EVM and Bitcoin accounts support and thanks to the ability of a libwallet client to queue transactions before signing, we imagine
interesting cross chain use cases like sending BTC to a bridge and sign a Substrate transaction at the same to avoid the problem of using multiple wallets and multiple confirmations.
The Virto team has been working on an ad-hoc basis in a not very sustainable way, with concurrent members ranging
anywhere from 2 to 8 depending on availability of resources. However the pool of team members ready to jump full time in the
project to deliver milestones on time is around 12+ people assuming economic stability is guaranteed.
We can count on:
* needs confirmation.
ā¹ļø More virtuous members can join our next phase of development with enough work for everyone but for now this is a size we are comfortable with given the limited amount of funds requested.
The average monthly cost per person is around 3,000+ USD, a 9 months budget for the team ranges from 324,000 to 378,000 USD.
With the requested 20,000 KSM at a price of 23.5USD/KSM(EMA7) that would equal 470,000 USD, minus 10K of operational costs(infrastructure, hardware wallet materials and equipment) and leaving a 20% buffer to account for price fluctuations, missed deadlines and other (un)expected circumstances we are left with 368,000 USD. Worst case scenario if things don't go as bad as usual, there will be extra funds to bring some more awesomeness to Kusama.
EDIT: more info on the team budget and how it compares to market salaries in this spreadsheet.
A note from experience, since we are in the wild west I think exact budgets don't work(hence the beautiful rounded 20K KSM), we have always lost money, sometimes more than 30% of received funds, we made mistakes and learned a lot but it hasn't been because of financial ineptitude but because building in the crypto space is tricky, a lot of times it's crazy price fluctuations but it can also be due to swapping funds to a not-so-stable stable coin for example, a lot can happen! ... a few thoughts on the topic.
Hopefully Kreivo can make payments for projects and services more convenient š¤
Sube
, Scales
, orml-payments
, libwallet
, and Fido
.Threshold