The RChain storage layer, RSpace, is a fundamental part of the VM; it just happens to be modular enough to break out into its own library. The storage layer is how message delivery between processes is implemented; it uses Rholang patterns as keys. Sending on a pattern is putting data in the database; receiving on a pattern is querying the database. If there’s no data to consume, a continuation is stored at the key instead. If there’s already a continuation and you’re trying to store data, the continuation gets applied to the incoming data.