Composables is a framework that builds upon the Nouns protocol, an experimental attempt to improve the formation of on-chain avatar communities by bootstrapping identity, community, governance, and a shared treasury.
Composables extends the experiment by bringing composability and upgradeability to the Nouns protocol. The framework also provides interoperability between Nouns extensions that fork from the Nouns protocol.
The Composables DAO is the main governing body of the Composables ecosystem. The Composables DAO treasury receives 100% of ETH proceeds from the daily CX Noun auctions, as well as a 5% listing fee from the Composables Marketplace.
The CX Nouns Auction Contract will act as a self-sufficient CX Noun generation and distribution mechanism, auctioning one CX Noun every 24 hours, forever. 100% of auction proceeds (ETH) are automatically deposited in the Composables DAO treasury, where they are governed by CX Noun owners.
Each time an auction is settled, the settlement transaction will also cause a new CX Noun to be minted and a new 24 hour auction to begin.
While settlement is most heavily incentivized for the winning bidder, it can be triggered by anyone, allowing the system to trustlessly auction CX Nouns as long as Ethereum is operational and there are interested bidders.
The proposal veto right was initially envisioned as a temporary solution to the problem of ‘51% attacks’ on the Composables treasury. While CX Nounders initially believed that a healthy distribution of CX Nouns would be sufficient protection for the DAO, a more complete understanding of the incentives and risks has led to general consensus within the CX Nounders and the wider community that a more robust game-theoretic solution should be implemented before the right is removed.
The CX Nounders consider the veto an emergency power that should not be exercised in the normal course of business. The CX Nounders will veto proposals that introduce non-trivial legal or existential risks to the Composables DAO , including (but not necessarily limited to) proposals that:
There are unfortunately no algorithmic solutions for making these determinations in advance (if there were, the veto would not be required), and proposals must be considered on a case by case basis.
CX Nouns are generated randomly based Ethereum block hashes. There are no 'if' statements or other rules governing CX Noun trait scarcity, which makes all CX Nouns equally rare. As of this writing, CX Nouns are made up of:
CX Nouns are stored directly on Ethereum and do not utilize pointers to other networks such as IPFS. This is possible because CX Noun parts are compressed and stored on-chain using a custom run-length encoding (RLE), which is a form of lossless compression.
The compressed parts are efficiently converted into a single base64 encoded SVG image on-chain. To accomplish this, each part is decoded into an intermediate format before being converted into a series of SVG rects using batched, on-chain string concatenation. Once the entire SVG has been generated, it is base64 encoded.
The CX Noun Seeder contract is used to determine CX Noun traits during the minting process. The seeder contract can be replaced to allow for future trait generation algorithm upgrades. Additionally, it can be locked by the Composables DAO to prevent any future updates. Currently, CX Noun traits are determined using pseudo-random number generation:
keccak256(abi.encodePacked(blockhash(block.number - 1), nounId))
Trait generation is not truly random. Traits can be predicted when minting a CX Noun on the pending block.
'CX Nounders' are a group of builders that initiated CX Nouns. Here are the CX Nounders:
Because 100% of CX Noun auction proceeds are sent to Composables DAO, CX Nounders have chosen to compensate themselves with CX Nouns. Every 10th CX Noun for the first 5 years of the project (CX Noun ids #0, #10, #20, #30 and so on) will be automatically sent to the CX Nounder's multisig to be vested and shared among the founding members of the project.
CX Nounder distributions don't interfere with the cadence of 24 hour auctions. CX Nouns are sent directly to the CX Nounder's Multisig, and auctions continue on schedule with the next available CX Noun ID.