At their cores, all of today's different cryptocurrencies are basically distributed (or to be more precise replicated) databases where the client has both the schema of the database and the applicable valid transactions hardcoded.
Instead of all the different systems having their own databases and transaction systems, it would make sense to have one distributed database where the participants can create new subdatabases with a set of rules that are enforced by the network, without updating the codebase.
This is what polymium aims to implement:
a distributed network providing a platform for user-defined applications such as cryptocurrencies, append-only timestamped logs, identity certificate registers, marketplaces, distributed autonomous companies, etc.Anyone wishing to create their application has to first specify the rules enforced by the network. This is done by providing a set of methods described in a turing-complete scripting language and a bit of metadata. Once this schema has been accepted by one of the miners, the subdatabase is created, and can only be modified by these methods. If you are familiar with regular databases, you can think of it as having a database that can only be accessed through predefined stored procedures. These procedures enforce the integrity of the database.
For example a cryptocurrency would be implemented with a procedure that decreases one balance and increases an other one. Unlike some other systems, the Polymium protocol doesn't define a special currency to mediate: it's up to the participating clients to decide what they use. This doesn't mean that there won't be one with special role: the official client is going to give access to a coin system defined in one of the early blocks and also use that to collect fees and prioritise "mined" transactions. The point of not having a specially implemented coin protocol is to not enforce any type of "bridge" you must use between subledgers.
The implementation takes advantage of many ideas investigated since Bitcoin's introduction, such as the ones that are best summarised in the mini-blockchain proposal. (
https://bitcointalksearch.org/topic/closed-20000-mini-blockchain-implementation-371601) The structure of the database is designed in a way that it can be truly distributed (not even a single node has to store it in its entirety) and the full history doesn't have to be retained. The initial release probably won't use all of these advantages, but they can be later easily added in a backward-compatible manner.
The current status of the project: Working code exists to create a test blockchain with a simple cryptocurrency committed (with capabilities on par with Bitcoin), and transactions moving funds around. The scripting system is not yet fully finished, but already operational and versatile. Transaction signing/checking, block-building works. Blocks can be verified. There is no networking code yet, or any kind of interface to the framework. Clearly a lot more has yet to be done.
Original plans were to only go public once the entire thing is working. One of the reasons that led to this early announcement is that very recently others have started working on very similar concepts, so many of the ideas meant to be innovative are already out in the open. (but not all of them) The other reason is that it's getting difficult to invest all the work needed without seeing any return on it or at least having feedback. The announcement is mostly intended to gauge interest, see what questions and suggestions arise and maybe see if there is a way to incentivise development in a way that all parties can be sure they are getting what they expect from the deal.