Highly inspired by
Substrate by Parity Technologies and
Ethereum 2.0 by Ethereum Foundation, Solri is a proof-of-work blockchain designed to be simple, self-evolve and stateless.
In particular, Solri’s design goals are to:
- Become a pure coin, in most possible aspects that blockchain community cares about. This includes having no premine and establishes fair launch.
- Use well-established Proof of Work consensus algorithm, and at the same time, allows it to change to either become ASIC-friendly or ASIC-resistent.
- Most essential functions of the blockchain is coded into WebAssembly runtime. This makes it so that the blockchain can evolve and upgrade features without hard fork. In fact, we aim to never conduct any hard fork!
- Have clear and simple specification to make supporting multiple implementations easier.
- Be stateless. To fully verify a new block, you will only need the parent block together with the parent block’s runtime output. This reduces the bare minimal storage requirement for full node to nearly zero. In practice, clients can selectively choose to only store states it cares about.
DisclaimerI'm
Wei Tang (sorpaas), a Rust/core developer working at Parity Technologies. However, Solri is entirely a hobby project and is not endorsed by Parity Technologies or any other organizations. The network is also not launched yet, and the reference implementation MVP is still work-in-progress.
Launch StrategyThe initial network is expected to launch with basic account-based transfer functionalities, and it requires future network participation to implement additional features such as smart contracts and privacy. All of this we aim to be done by only modifying the online WebAssembly runtime, so it should be
without any hard fork. In a catastrophic event we may decide to relaunch the network. So please bear in mind that initially the network should not to be expected to have values.
In Solri, we don't distinguish testnet and mainnet. Once we need to test new features, we create a pegged testnet chain where you can transfer fund from mainnet, and test things. Once we decided it is stable, the testnet's state is merged into mainnet, so that no information is lost.
Regarding software development, we aim to get a MVP first, which has all the block validation and production functions, but without networking. We later add networking and other non-essential functions into the MVP, so that it is suitable for a network launch. We aim to get the MVP in the next one or two months, and conduct the initial network launch in the next four to eight months.
Scaling StrategyIt is possible to implement shards or other scaling solutions in Solri. A main advantage we have here is that shards are "stateless", in that they only need to commit verification computations to the main chain, while do not incur any storage cost. This is slightly different from PoS systems' "shards" and more similar to merge mining and pegged chain in PoW systems. Note that we cannot implement oracle system using this -- it must resort to other common solutions in PoW system, because there's no "validators" we trust.
GovernanceLike any other blockchains that can self-evolve, to install feature upgrades without hard fork, we need a governance system. The initial governance system will be a simple majority miner vote. As with all other things on Solri, the governance system can also be changed without hard fork. In the future (after the initial launch) we plan to implement more sophisticated governance system that allow better community voice.
LimitationsWith WebAssembly runtime we will be really flexible in terms of what features we can implement without hard fork. We can change account model, change how smart contract works, change the state completely, or do any other massive operations. It's also possible to change the PoW algorithm if we want to be ASIC-resistent/ASIC-friendly. However, it's not possible to change the fork choice rule -- meaning, we'll stay on Proof of Work unless a dramatic hard fork happens.
Fun FactsSolri is a
Lojban word meaning "the Sun".