World's Fair White Paper

World's Fair is a decentralized application which gives creators and artists a way to easily record and tokenize their original content on the Ethereum blockchain and the Interplanetary File System (IPFS). Revenue from selling shares of such a digital asset (which supporters can buy with regular ether) provides a means of financing intellectual works through collective ownership, making it profitable for creators to release their creations freely to all and eliminating the necessity of monetization schemes based on the restriction and/or manipulation of human attention. The World's Fair contract requires that the buyer of asset shares always specify the new asking price at which they are willing to resell those shares, thereby ensuring liquidity and reflecting how much something is worth—which is to say value—in a secure, transparent, and democratic way. Decentralized consensus makes it possible to bring value into existence through the act of measuring it. Furthermore, buyers who are able to accurately recognize undervalued content/assets may actually realize a profit by reselling their stake at a premium if the consensus value of that asset rises. Like a water wheel in a stream, World's Fair is a mechanism designed to tap into the raw speculation-driven flow of capital through crypto markets, autonomously allocating funds to reward creativity and vision while generating a manipulation-resistant feed of new art, ideas, and open source technology for the benefit of our world.

When creating a new digital asset, authors may specify a charitable beneficiary's Ethereum address to automatically receive a portion of the profits generated over the lifetime of that asset. Sending money to charity is obviously good from a social responsibility standpoint, but that's not the only thing: In an extraordinarily fortunate coincidence, it appears that "burning" a little profit by sending it to a charity can also serve to maintain the integrity of the value-consensus mechanism. Every time the resale of shares results in a profit (defined as total revenue minus total invested for each shareholder of a given asset), both the asset author and the beneficiary are paid royalties at rates previously specified by the author. In combination with an optional feature called the appreciation limiting constant, this approach allows for a wide range of possibilities in the way ICOs on World's Fair may be structured, eliminating or at least mitigating certain issues observed in ICOs held for various tokens since the concept of blockchain-enabled crowdfunding entered mainstream awareness in the beginning of 2017.

World's Fair may be viewed as a community-focused effort to rein in the unruly ICO beast by generalizing and extending it to the widest possible spectrum of applications while maintaining an open standard to actively facilitate integration of the core value-consensus mechanism with other projects. In fact, World's Fair itself is funded through its very own official asset (meta right?). Anything less would implicitly undermine the central premise of the consensus economy, which is the notion that for intangible assets, transactional relationships like selling a subscription or charging a fee for use are rendered obsolete by the capacity to explicitly negotiate and allocate value amongst participants.

World's Fair also introduces the concept of a recovery address which, together with the linked address, greatly increases the security and usability of the user's blockchain-linked identity. Since a World's Fair identity exists on the blockchain, cannot be revoked, and is owned solely by that person, the contract may be utilized as a trustless and permissionless identity provider by external dapps or other contracts. Users may post cryptographically signed threads and comments (which are themselves stored on IPFS in a manipulation-resistant data structure) to our decentralized community platform, intended to support ongoing development and discussion in the World's Fair ecosystem and the blockchain space as a whole.

Contents

Context & Motivations

Decentralized Consensus

Consensus depends fundamentally upon scarcity. Let's consider why, using Bitcoin's Proof of Work (PoW) algorithm as an example.

The Bitcoin network could be viewed as a contest in which nodes compete to receive a reward by executing computationally expensive operations. A node or miner receives tokens if it is the first to find an input for a certain hash function such that the output of that hash function fulfills certain conditions. Properly implemented hash functions have the mathematical property that it is impossible to predict what the output will be for a given input, so the only way for a node to get a reward is to try as many inputs as possible until it finds one resulting in an acceptable output. Barring unforeseen advances in number theory (or, more realistically, someone discovering a flaw in the implementation of the hash function), there is no way to cheat. It doesn't matter how clever your code—the laws of mathematics cannot be "hacked" in the conventional sense. The result is that, on average, each miner is paid in proportion to the computational power or hashrate they can afford to bring to bear. Neither GPUs nor electricity are an unlimited resource. This is where the scarcity comes from, and why scarcity is critically important—we're going to come back to this.

The result of miners' mathematical work, along with other data, is used to produce a block—together these blocks form a chain. Such a blockchain grows longer and longer, with each block being an opportunity to include transactions which encode instructions about how to change the state of the blockchain. A Bitcoin transaction might include the instructions "send 1 bitcoin from Alice to Bob". Other nodes independently verify the computations for that block (another important property of hash functions is that while predicting an output for a given input is impossible, verifying a match is trivially easy) before appending it to their copy of the blockchain. If a set of nodes has the same blocks in the same sequence they can iterate through and apply the specific instructions in each block (eg. subtract one bitcoin from Alice's balance, add one to Bob's) to agree on the final state of the blockchain.

One key thing to understand is that, by design, the input for the hash function that each miner is running to find the next block always includes the hash of the previous block, which is itself derived from the data in the block, including the hash of that block's previous block ad infinitum (technically until the genesis block—but the point stands). Hash functions deterministically produce a particular output for each input, and changing just one bit of the input data results in a completely different output, so the hash of some data acts like a fingerprint: change just one bit and the hash no longer matches. This is how the blocks are all linked together—any change to a block's data, no matter how small, will invalidate all the blocks that come after. In fact, in the event of a conflict, nodes are programmed to consider the block with the longest chain or branch of verified blocks after as the "real" one. The more nodes consider a branch real (and continue to search for successive blocks that must include the hash of the last block in that branch) the faster even more will be found, setting up a positive feedback cycle and driving all nodes on the network toward a state of consensus.

Abstractions of Scarcity

We're now in a position to perform a thought experiment illustrating why scarcity is so fundamentally important to forming consensus:

Suppose that there existed a magical GPU that did not require electricity, and could run at infinity operations per second (in other words, suppose we removed the source of scarcity in PoW). With such a GPU, every miner could instantaneously compute the output for all given inputs of the hash function. The time to produce a block would be zero. All branches of the blockchain would be infinitely long. Any single node who wanted to change data on the blockchain could simply make the change in the relevant block and then recompute all the hashes for all subsequent blocks until the other nodes had no way of knowing which version they should consider real. Scarcity keeps every node honest by collapsing an infinite space of possible states into a finite, definite reality—which is of course the only reason why bitcoins, or any crypto token for that matter, have the capacity to represent monetary value. If every miner could give themselves all the bitcoins, each bitcoin would have precisely zero value. In fact, not only would they have zero value—from an objective standpoint they wouldn't even exist.

Now imagine a world in which electricity or GPUs were used directly as a common currency for barter. However impractical such a scheme, the distinction between that and Bitcoin's implementation is simply the fact of abstraction: PoW can be viewed as a mechanism by which scarcity may be extracted from a natural source and expressed symbolically. Even fiat currency—however arbitrarily defined—is nonetheless dependent upon the natural scarcity of political power. Decentralized networks such as Bitcoin transform scarce computational resources into crypto tokens, while states enforce anti-counterfeiting laws as a way to transform hierarchical social structures into national currencies. Money is just a special case of consensus—whether that consensus is created by an algorithm or by fiat.

The general principle is that consensus depends upon some type of scarcity, and that scarcity, much like energy, can be made useful by changing it into a different form. It also appears that—for our purposes—not all forms of scarcity are equal, in that the source and the manner by which it's abstracted from that source creates certain externalities. For Bitcoin, examples of such externalities would be massive energy usage and a spike in the price of GPUs. Fiat currency, in turn, vests its defining authority with the power to manipulate macroeconomic variables through central governing bodies such as the Federal Reserve or the European Central Bank. The relative pros and cons of each approach are not the subject of this discussion—the point is that externalities exist and they appear to be determined not only by the source of scarcity, but also the mechanism by which it is abstracted and made useful.

The question arises, what other sources of scarcity exist in the world? If we could find a way to harness them, what would be the consequences of doing so? Might one engineer a scarcity-abstraction mechanism for the explicit purpose of manifesting a positive externality?

Ethereum as a World Computer

Ethereum built upon Bitcoin's achievement by generalizing the latter's ability to form consensus about numbers (ie account balances) to include arbitrary state (ie anything that can be represented in bits). The additional feature of a Turing-complete scripting language with which to manipulate this state makes Ethereum, in a very literal sense, a world computer. In a regular computer, both the code and the data are stored on the hard drive, while on Ethereum they are stored as a blockchain. In this way, programs running on Ethereum have the binding quality of a legal contract, which is useful for allowing people to interact in ways that would ordinarily require mediation by a trusted third party.

By design, the limiting factor when deploying and interacting with smart contracts is the small amount of ether that it costs to store data or execute code on the blockchain. Such a limitation is necessary to prevent transactions from consuming too many resources (like an infinite loop contract). Beyond that, programmers are free to define arbitrarily complex modes of interaction/representation whose code and data automatically take advantage of the underlying decentralized consensus mechanism. At the time of writing (January 2019) Ethereum continues to be utilized to great effect with many and various applications deployed or under active development.

Perhaps it's no surprise that by far the most visible "killer app" on Ethereum has been the ICO (Initial Coin Offering), a program/contract whose logic might be expressed in English as "you can exchange ether for magic beans". These magic beans—custom tokens if you prefer—are alternatively understood as being analogous to a currency, a security, a commodity, or something else entirely.

Ethereum as a World Casino

There are by now many such tokens that have collectively raised billions of dollars in value. Naturally, most tokens are associated with blockchain-related projects and tech companies.

It's clear that demand for new tokens is driven mostly, if not entirely, by speculation. Thus, the market price of various tokens is wildly unstable, shooting up and crashing down again in a series of bubbles. Combined with the fact that most speculators don't have enough information to reliably assess the fundamentals of what they're buying into, this untethered fluctuation has had the effect of making the whole crypto ecosystem into something like a casino game where a little bit of knowledge is mixed with a huge amount of luck. If you buy in at the very peak of the market (R.I.P. January 2018) you're probably not going to have a good time no matter what your portfolio looks like. Conversely, you might have bought the dip, lucked out, and made a bunch of money.

Traditional markets like Wall Street don't have anywhere near the same volatility, for several reasons: Government regulation, higher barriers of entry for investors, and the fact that stocks are tied to many real-world economic indicators (instead of existing in their own reality-bubble like crypto) are all features of a mature market. It's certainly possible—likely even—that given enough time, the ICO token ecosystem could evolve into something like Internet Wall Street 2.0. In fact there are projects actively working toward implementing something like that. It's worth asking, though, is this the best outcome? For all its problems, the crypto world is a highly liquid, virtually permissionless, global free-for-all that is full of potential. It's like the Wild West—dangerous, yes, but also a chance to do something entirely new.

Poker, viewed reductively, appears to be a mechanism which transfers money from unskilled/unlucky people to skilled/lucky people. Successful poker players have the knowledge and experience needed to predict how things will likely play out within the logically-defined rules, a good poker face, and a fine-tuned intuition to know when other players are bluffing. If the world economy were organized as a poker match—it's silly, yes, but this is a thought experiment—people with those attributes would obviously tend to be richer than others. Externalities of such an economic structure might include increased sales of dark sunglasses. If, rather, the world were a game of roulette wheel (pure chance) everyone would tend to have the same amount of money on average (someone should have told Marx!) and there wouldn't really be any externalities created because no matter what players do the outcome remains the same, and so on.

Jokes aside, there is a real insight to be gleaned from this game-theoretic way of looking at things: Whatever game you are playing defines not only the qualities of a successful player, but also secondary, global phenomena (externalities) arising from the actions of players attempting to align themselves with that specific definition. The "artificial" rules of poker may be fixed and known, but "natural" real-world betting games (the crypto token market being a prime example) have rules that everyone is always trying to figure out, because they are constantly evolving in response to many factors, including—in a weird recursive way—the extent to which some people have figured them out. In the ICO game, it seems fair to say that the success of token creators is predicted not only by actually having a compelling project but also by having a good social media/influencer game, while from an investor/speculator standpoint the most important quality is clearly the ability to discern if, in fact, projects really are new and promising tech seeking funding for development, or if they are just trying to cash in (remember Bitconeeeeeeeeeeect?). Externalities include elation, regret, a treasure trove of memes, and scrutiny from the SEC.

Evolution, Recursion, Complexity

Let's take a step back.

All of nature is technology—language is merely reflecting our human perspective when we say that a beaver dam or an ant hill is a "natural" structure while calling the Hoover Dam or Los Angeles an "artificial" structure. So too, the distinction between "artificial" and "natural" games is itself somewhat artificial, being entirely dependent on one's perspective and intentions. We only think of poker or roulette as an artificial game because the rules are explicitly laid out and the players have agreed to abide by them. The players in such a game choose to accept arbitrary restrictions because without rules there wouldn't be a game at all. Consensus is created by the shared understanding that we can't play fun games unless we accept the rules. Games are made out of rules.

The whole world is playing the economic game not by choice but by necessity, in the exact same way that all living organisms are playing the ecological game simply because they must seek energy to survive and reproduce. Natural games like the economy/ecosystem, then, are not really games at all, and the rules are not really rules. Perhaps a better word for such a de facto game would be "situation", where the rules are simply the constraints imposed by reality. Corporations/organisms innovate to fill every available niche even as the process of exploiting niches creates new ones. A tree evolves, multiplies, and becomes a forest, creating an ecological niche for a population of woodpeckers. Huge corporations have developed extensive operations around the globe in a business environment of such complexity that the economic niche of "corporate tax professional", among other specialized jobs, comes into existence. For natural games, scarcity is the rule by which all niches—and thus all complexity—are constructed.

As far as we know, conservation of energy is an inviolable principle of the cosmos—which is to say that energy is truly scarce. In 4 billion years of biological evolution no organism has ever managed to evolve an internal organ acting as a free-energy machine. Hypothetically, if it turns out that our understanding of physics is incomplete and that energy is not conserved and some organism does evolve the ability to forgo seeking energy from its environment, it wouldn't be long before all other species were extinguished (analogously, printing endless amounts of fiat currency has occurred many times with predictably disastrous results). Natural games depend on scarcity because scarcity is the objective limitation providing a stable bedrock upon which evolution can create complexity.

On Ethereum we can create as much scarcity as we want. Maybe that's the problem. We've come full circle.

Full Circle

Any sort of game involving speculation on tokens is clearly a natural game in that the rules are defined not by explicit agreement but by fundamental limitations based on scarcity. As it stands, the scarce quantity in the ICO world is hype—and because of social media, it's easier to generate hype than it is to create art, ideas, or new technology. This leads to a negative externality: vast amounts of misinformation, made worse by the fact that even if all ICOs were completely upfront, blockchain technology is still not easily understood. In general, investing is not useful where there is a lack of knowledge because such a condition will cause the rules of the game to evolve such that bad actors are rewarded.

Perhaps the way out of this quandary is not fewer ICOs but more.

World's Fair expands the scope of the ICO model to include all intellectual content for a vastly greater selection of digital assets, leading to specialization and thus greater average investor knowledge which, together with optional mechanisms such as beneficiary profit-sharing and the appreciation limiting constant, help maintain the integrity of the market. We'd prefer that investing in a piece of art or a new idea were less about predicting the future and more about recognizing value that already exists to support and grow that thing. Crypto tokens are an amazingly useful tool for raising capital, but we need art and ideas to distill a more resilient form of scarcity upon which consensus about the monetary value of intangible works may be established.

In summary: Ethereum gives us the power to define arbitrary incentive structures built from scarce computational resources abstracted by its decentralized consensus protocol. World's Fair transposes this abstraction still higher into the application layer of the world computer, creating a space where consensus about the monetary value of scarce tokens is backed by consensus about the intellectual and cultural value of what they represent.

Implementing a Consensus Economy

Cryptographically Managed Identity

World's Fair represents a user's identity on the Ethereum blockchain as an arbitrary sequence of 20 bytes. Although it would have been simpler for a user's Ethereum address itself to serve as the globally unique identifier, there are major disadvantages to that approach: One issue is that Ethereum addresses are neither descriptive nor memorable, increasing the chance of a mix-up and degrading UX. An alias should be something you can easily say and remember, not something you have to copy/paste every time you need it. The other problem is how to deal with lost or compromised private keys. In a normal user authentication scheme, some third party—usually an email provider—allows users to reset their password. Even though one of the billed features of crypto is its ability to cut out the middle man, "Forgot Your Password?" or something like it is a very useful feature that people have come to take for granted. We'd like to be able to maintain 100% decentralization while still offering users a way to reassert ownership of their identity.

Both of these problems are solved by mapping the user's chosen alias to an account structure defined by two different Ethereum addresses. The first, the linked address is the address used to send the transaction when calling createAccount() on the contract. The linked address acts as an account manager, allowing the user to authorize interactions with the contract (the contract can internally look up which alias the sender of each transaction is associated with) and sign data to prove their identity. One nice side effect of this approach is that users don't need a password to sign in to World's Fair. Instead, they send a cryptographically signed message which the server decodes to find the signing address and then compares to the public blockchain to find which account alias that address is linked to.

The user is also asked to provide another, different Ethereum address for which they alone hold the private key. Unlike the linked address, this recovery address is kept separately with its private key in cold storage, virtually eliminating the chance that it could ever be compromised. A user is not required to set a recovery address when they create the account—they can also set one in another transaction after the fact—but the contract ensures that once the recovery address is set it cannot be overwritten, even by the linked address. In the event that the user loses control of the private key to their linked address, they need only to send a transaction signed by their recovery address to call the special function recover() on the contract, which causes the recovery address to replace their linked address. This function also causes the recovery address to be zeroed out so that the user is able to set a new one and rearm the fail-safe. It's important that, once it has been set, the recovery address can only be changed in this way. Otherwise, an attacker who steals the linked address' private key will be able to simply change the recovery address. To further reduce the attack surface, the contract prevents the same address from being used more than once in either of these capacities.

World's Fair users maintain complete ownership of their identity at all times, don't need a password, and still have a way to recover their account if necessary.

Transmuting a Meme to an Asset (Ethereum + IPFS)

An asset is created by calling createAsset() from a World's Fair user's linked address, and is uniquely identified by the first 20 bytes of the SHA-3 hash of its author's alias and the IPFS multihash of the asset's data as computed by the World's Fair contract at the time of creation. As a peer-to-peer content addressed file system, IPFS provides not only a way to fingerprint data, but also a means to distribute it. This aligns with the design goal that data should be freely available without restriction. Put simply, an asset is a specific piece of data published by a specific person. The contract will reject transactions that attempt to create a duplicate asset, and if another user creates an asset with the same IPFS hash, their asset will have a different signature since the author's alias (used as input for the hash function to derive the signature) is different. The user also has the option of specifying an http link for the content, which is stored on the blockchain. Unlike the IPFS hash, the http link may be changed at any time by the author.

There are no hard and fast rules about what data must be used to represent an asset—the object is only to create an unambiguous linking between the way in which the human brain understands what the asset is to the way that the asset is represented on the blockchain. Authors are naturally disincentivized to create pointless or overly similar assets because doing so will dilute investment and make it more difficult for consensus to form around the value of any one asset.

When creating an asset, the author must choose the total number of shares that the asset will be divided into and the initial ICO price of shares, all of which are initially held by the author. The number of shares can never be changed, and the ICO price acts as the minimum amount at which shares of the asset can ever be sold. Multiplying the total number of shares by the initial price per share gives the Minimum Valuation Target (MVT) which, since the contract prevents trading among shareholders until the author has sold all of their shares, is essentially the minimum amount of ether that the author believes the asset is worth. This creates an incentive for creators to ask for reasonable sums up front, because supporters are less likely to buy shares if they believe they'll never be able to sell them.

An asset's valuation is defined as the sum of all profit by all shareholders over the lifetime of the asset. We need to define what is meant by profit: The World's Fair contract keeps track of ether in (the total amount of ether that has ever been used to buy shares in a certain asset by a certain shareholder) as well as ether out (the total amount that has ever been received in revenue by that shareholder selling shares for each shareholder of each asset). Profit is simply ether out minus ether in. Defining profit this way instead of just summing gross revenue makes the valuation a more meaningful figure because, since valuation is the sum of profits it will not increase just because asset shares change hands—the shares must actually rise in market value for the valuation to increase.

Creators may specify a particular time in the future before which the contract will prevent anyone from buying shares. Such a delayed ICO open separates the process of creating the asset vs launching the ICO, increasing predictability and allowing the author to get a shareable link to use for promoting their asset ahead of time.

The author may also name a beneficiary Ethereum address to receive a portion of the profits generated by that asset. Though not required by the contract, naming a beneficiary is strongly incentivized because the World's Fair server will hide assets without a beneficiary from the front page asset feed. Diverting some profits to charity not only creates a positive externality in the world, but also makes it expensive for bad actors to create the illusion of fake investment (the so-called "pump and dump") via a mechanism called Proof of Generosity.

The Charitable Beneficiary Whitelist

It's not possible, at the contract level, for World's Fair to enforce restrictions on which Ethereum addresses may be named as an asset's beneficiary. Still, we'd like a way to filter out addresses that don't belong to legitimate charities—and we'd also like to make it easy for creators to select a charity when publishing their asset. Our solution is to create a beneficiary whitelist, curated by World's Fair admins. Most initial members of the whitelist are charities that previously received Bitcoin donations from the Pineapple Fund and also happen to have an Ethereum donation address published on their site. We had to take care when compiling this list, because (unfortunately) some charities that take donations use a third party service to generate a one-time donation address (presumably to track the identity of donors, or perhaps for usability reasons) which is incompatible with World's Fair since, by design, the beneficiary of an asset cannot be changed. This technicality may not be obvious to users of World's Fair, which is another reason why the whitelist is necessary.

Admittedly, this is a centralized solution—although it's not as bad as it seems. Each entry on the whitelist includes the name of the charitable organization, their main website, and the url of the specific page where the donation address is listed. Even so, World's Fair allows authors to name other addresses too, which, if not included in the whitelist, show up as "Unknown Beneficiary" on the official front end. Users are free to search that address for themselves to decide if it's legitimate. Only in cases where a beneficiary is clearly not a real charity will we take the step of blacklisting that address. In time, we'd like to move towards a more decentralized solution by involving the community in the effort to compile and curate a large crowd-sourced list of known charities that are capable of accepting Ethereum donations. Finally, you don't have to trust the World's Fair admins: this is a completely open source project, so anyone could in principle create their own frontend and their own beneficiary whitelist/blacklist if they were unsatisfied with the editorial policy.

In the future, as the Ethereum ecosystem continues to develop and ether becomes more mainstream, someone might even implement a contract that acts as a clearinghouse to collect and distribute donations to charities under some form of democratic governance. Although beyond the scope of the current implementation, such a possibility is an excellent example of how World's Fair might be extended by the community.

The Royalties System

ICO revenue is not the only way that authors can get paid on World's Fair—they also have the option of specifying that certain percentages of the lifetime profits on an asset be credited to their own balance as well as sent to the beneficiary address. Royalties are paid only on revenue that constitutes a profit for a given shareholder—that is, whenever ether out minus ether in is greater than zero. Aside from important consequences in terms of making fake investment expensive, the royalties system allows authors much more flexibility in the way they structure their ICO, which might be very useful. Let's consider two different scenarios:

Suppose that the ghost of Jimi Hendrix returned to drop a new album and create an asset for it on World's Fair. Since he's already well-known, he can afford to ask for somewhat more ether up front, tokenizing his album into one million shares at the ether equivalent of fifty cents per share for the ICO. That's asking for half a million dollars up front, which sounds like a lot—but not if you're Jimi Hendrix. Investors/supporters will have a certain degree of confidence that the asset's valuation is capable of, at some point, rising beyond that minimum amount and thus potentially becoming profitable.

Now imagine you're an underground EDM producer. Not many people know your name, but you're sure that once people hear your stuff they will be inspired and want to support it. If you create an asset on World's Fair for your set—let's suppose it's your first asset—it might be sensible for you to ask for a very low amount up-front (say 1000 shares at one cent per share implying a minimum valuation of $10) but set a somewhat higher author royalty rate (say 40%) so that you can still get paid in the event that you do eventually get recognized by a more mainstream audience. You may only get $10 if the ICO reaches its target, but the 40% royalty rate means that if the valuation of your asset eventually rises to $100,000—we're just throwing out numbers here—you'll have received $40,000, paid to you in small increments every time a shareholder realizes a profit by selling shares to someone else.

In general, having a "now or later" option for the way that ICO-holders get paid makes it easier for new creators to break into the market because investors aren't risking that much by only spending a few dollars to pick up a substantial stake in the asset. Still, even for low-valuation ICOs, the author should not set the royalty rates too high, because then investors might not feel that enough profit is left for them to justify risking their investment.

When setting an asset's royalty rates, the only requirement is that the sum of the author and beneficiary royalty percentage rates not exceed 100. This means it's possible to create a pure charity asset by setting the beneficiary rate to 100 and the author rate to zero. In such an asset, 100% of the revenue goes to charity. In that case, all World's Fair would be doing is essentially measuring how much ether was sent to charity, like a weird blockchain version of that thing people do where they walk in a circle to raise money for curing cancer.

Would beneficiary contributions be tax deductible, and how would that be calculated? That is unclear: please consult a tax professional :D

Shareholder Incentive Models

Scarcity may be a necessary prerequisite for a tokenization scheme that seeks to translate value into monetary terms, but it's not clear that this property alone is sufficient—from a shareholder/supporter perspective—to actually create demand for the shares sold by asset creators. World's Fair (in the spirit of bypassing the attention economy) is designed so that creators can sell ownership of their work instead of selling the right to access it. But that approach leads directly to a new question: what exactly does "ownership" mean in such a context?

In many existing models, "ownership" takes the form of certain legal rights, whether that is the right to access the thing or the right to sell or otherwise arbitrate access to the thing. Buying a Netflix subscription is not just paying for the data to be streamed to your device: it's also paying for the abstractly defined right to watch the content, just as Netflix must also pay to acquire the rights to distribute such intellectual property that it has not itself produced. Roughly speaking, existing IP laws themselves constitute a sort of content monetization mechanism implemented on top of the general-purpose "offline blockchain" that is the political/legal system (legal systems create and enforce consensus about who owns what and the rules on how that can change. The term smart contract, after all, points to this comparison).

So too is World's Fair a content monetization mechanism implemented on a general purpose consensus mechanism—the actual Ethereum blockchain. And yet owning shares of an asset confers no additional legal rights, and each asset's data is, by design, freely accessible via IPFS. So why would anyone want to pay for shares?

Imagining oneself as an asset supporter, there are at least three ways of looking at it:

1) The Patreon model. You just give money to support artists/creators because you're a nice person and it feels good (and maybe you get some imaginary trinkets like a badge on your profile).

2) The speculator / gambler model. You don't really care about what the asset shares represent—you're basically just trying to figure out how the market works so that you can buy low and sell high.

3) The utility / (???) model. You gain the ability to do something in return for being a supporter (ie something objectively useful—not an imaginary trinket).

These broad classes are by no means exclusive. World's Fair is designed, in fact, to give asset creators and developers broad flexibility to and mix-and-match these basic incentives to suit their specific asset or application. For example, you could create an asset where the shares did not appreciate at all after the ICO was complete by setting the Appreciation Limiting Constant (ALC) equal to 1, preventing speculation entirely. This could be desired in some cases (depending on the nature of an asset and the jurisdiction to which it was subject) since allowing the resale of shares at a higher price could run afoul of securities laws. Under such a configuration, World's Fair would simply replicate the functionality of a regular crowdfunding app where supporters freely gave to projects without any expectation of a ROI, but with the added feature (or drawback—depending on your perspective!) that everything happens in a transparent and unstoppable way.

Another possibility (this is the extreme case to illustrate the speculator / gambler model) would be for a third-party developer to use the World's Fair as a backend for a gambling dapp. Many dapps to this effect have already proven popular, and, if some money also went to charity, isn't that a net gain?

Perhaps the most compelling class of World's Fair enabled applications is what becomes possible when asset shares on World's Fair are implemented as a utility token (an actual utility token!). Since every interaction between all user identities, assets, shareholders, and funds is immutably recorded and publicly available on the blockchain, anyone can use those data (and the implicit relationships within) to build applications to solve very specific problems. It almost goes without saying that a number of complex problems/activities in the world might be solved/improved if people were not strictly limited to the modes of interaction implied by the natural incentives inherent to each situation/dynamic. Being able to gamify interactions through arbitrary, artificial structures is really powerful! Aside from its obvious fintech applications, much of the imagined promise (and hype, admittedly) around blockchain has centered around such social technology.

Building social tech (loosely conceived as a super-class that contains existing legal/political/economic systems) is a very hard problem—not only because of the inherent complexity of humanity but also simply because natural games constantly evolve and undermine structures designed to control or contain them (eg regulatory capture). Nothing is immune. World's Fair takes a cue from biology by recognizing that an ecology is truly the only structure capable of remaining stable (if only metastable) in face of ever present change. None of this is too hypothetical: npm is a perfect example of a software ecology, which is precisely why npm is awesome. At this early stage of blockchain technology, every new dapp is a sort of experiment. World's Fair's open source and extensively documented API is meant to maximize the number of such experiments, because that's what's most effective.

A trivial example of such an experiment would be a dapp designed for "club" assets where the UI programmatically references an alias's status as a past or current shareholder of the asset as a way to mediate membership in some external organization. Something similar could work for subscription services. A developer might implement a dapp that facilitates mapping real-world forms of scarcity to asset shares. Maybe there could be a dapp where a campground creates an asset with the same number of shares as they have available campsites, and the right to stay there is granted by owning one share. Campers could resell the shares after their stay ended and the asset could name a local environmental cleanup fund as beneficiary to maintain the natural beauty of the area. Even more interesting and more subtle effects might be created by modulating the ALC and/or royalty rates.

There are a lot of possibilities. World's Fair, in addition to its obvious function as an index, provides the infrastructure layer upon which an ecology of other experimental modes of interaction might be implemented.

Proof of Generosity

From a technical standpoint, giving a portion of profits to a charity proves that investment received by an asset is real. It's the reason why assets are strongly encouraged to name a beneficiary address. In the same way that many blockchains depend on Proof of Work (PoW) algorithms to facilitate consensus about the state of the network, World's Fair uses Proof of Generosity (PoG) to help ensure that consensus about value is real. In short, PoG is giving away money to prove that it was given to you.

For example, suppose an asset receives investment totaling 100 ether. If all that money goes to the author and various shareholders, how can an outside observer be sure that the same person doesn't control all those accounts and is just shuffling their ether around by buying shares of their own asset? If the contract sends 5% of that ether to a charity, such a scheme would cost 5 (real) ether, because every time the money changes hands and results in a profit, 5% is diverted to a third party (the beneficiary) outside of the closed loop. This is how World's Fair solves the fake value problem: by making it expensive to manipulate investment totals. Giving away profits not only does good in the world by funneling money to places where it can help the most, it also serves to ensure the integrity of the consensus economy. See The Redemption of the Commons.

When receiving royalties, that beneficiary's balance is incremented according to an internal accounting mechanism in the World's Fair contract. The ether, which is actually held at the contract's address, accumulates until someone calls payBeneficiary() to initiate a beneficiary payout, causing the ether to actually be transferred to the beneficiary address. For technical reasons, this approach is more secure and efficient than actually sending the ether to the beneficiary every time a credit is generated.

The Appreciation Limiting Constant

The Appreciation Limiting Constant (ALC) is probably the aspect of World's Fair that is most difficult to explain. The ALC is an optional constant factor set by the asset author at the time of creation which limits the extent to which buyers can mark up shares, in additional to making it so that the upper limit on how much any buyer may pay for shares is directly proportional to the asset's valuation.

For example, an asset with an ALC of 5 and an ICO share price of 0.01 ether would allow buyers of those shares to set a maximum of 0.05 ether per share for their new asking price, while, at the time of ICO completion (defined as the point where all the authors shares have been sold and the minimum valuation target is reached) the max buy price would also be equal to 0.05 ether, because the max buy price is always equal to the valuation per share multiplied by the ALC. If shares continue to appreciate, the max buy price will rise in proportion to the asset's valuation. If another shareholder subsequently bought those same shares at 0.05 ether, then their max new asking price would be 0.25 ether. Since 0.25 is above the maximum buy price, they will have to wait until other, lower priced shares on the market have been sold for a profit, incrementing the valuation and raising the max buy price enough that the contract will allow their shares to be sold.

But why would anyone want to limit the rate at which their asset appreciated?

The reason is this: to prevent an attacker from being able to effectively shut down an ICO by buying all or most of the shares and then marking them up to an extremely high price. Buying all the shares... that sounds like a good problem to have you're thinking—well sure, if you're asking for a lot up front. But what if your ICO (without an ALC) has 1000 shares at the ICO price of one cent? It would only cost $10 for someone to buy all the shares and then set the new asking price to something untenable like 1 million dollars per share. But if your asset enforces an ALC, the most that they could ask would be 5 cents on the first transaction, then 25 cents on the second, then $1.25, and so on. The max allowable price will increase exponentially, and the author and beneficiary have the option to receive royalties on all the profits along the way. Besides the ALC, the only other defense against such a "buyout attack" would be to price the shares somewhat high initially to make buying them all expensive. But that's not a very good solution because—contrary to the design goals of World's Fair—the minimum valuation of the asset might reflect something other than the author's prima facie assessment. For reasons illustrated in a previous example allowing ICOs to set a very low initial valuation can be a very good thing in certain situations, and the ALC makes this possible without compromising the mechanism's ability to create value-consensus.

The keen reader may be thinking, "Ok, I understand why you'd want to limit the max new asking price, but what is the point of forcing new shareholders to buy lower-priced shares first—shouldn't that happen naturally?" It turns out that enforcing a max buy as well as a max ask helps prevent the market from becoming fragmented. Without a max buy, an attacker could keep buying and reselling only certain shares between two accounts, essentially "leapfrogging" those particular shares far above the market average, making the calculated average share price as meaningless as it would be in any bimodal distribution. Again, we'd like to make the structure if not the outcome of ICOs as predictable as possible so that the price of shares is solely a reflection of the value of what the shares represent and, ideally, completely independent of various market-gamification effects.

Protecting small ICOs, ensuring liquidity of the market, and enabling certain non-standard applications of World's Fair (such as assets whose shares cannot appreciate at all) are all potential use cases. Setting an ALC is optional, but recommended for most assets.

Managing Funds

World's Fair has an internal account system allowing users to deposit, withdraw, and internally transfer ether as they would with a normal checking account. A user's internal balance is totally separate from ether held in the external balance of their linked address, although users can use a combination of the two to pay for shares. Ether is credited to the user's internal balance any time they receive ether from the sale of shares, royalties, or as an internal transfer from another user.

In accordance with security best practices laid out in the official Solidity docs, all the ether in internal balances is technically held in the World's Fair contract, with only the account owner having the ability to access it by authorizing transactions to withdraw, deposit, or transfer it with their account's linked address. When making an internal transfer to another user, the sender need only reference the recipient's alias instead of their Ethereum address. All the benefits of decentralization and trustlessness are maintained, but with the added pro that it's easier to remember a single word than a random 40-character sequence of letters and numbers. In an effort to prevent typos, World's Fair frontend and backend considers all case-variants of a given UTF-8 string to be the same, and won't index a new account created on the blockchain if it conflicts with an existing one.

To be extra safe, users are encouraged to withdraw their ether to their linked address whenever a significant balance has accumulated.

Applications of World's Fair Tech

Self-Funding Open Source

Funding the development of open source software is quite possibly the single most compelling use case for World's Fair.

The amount of work and skill that it takes to create and maintain quality software is difficult to overstate, and yet the fact that the marginal cost of replication and distribution approaches zero makes monetization somewhat difficult outside of a corporate context. Despite that, open source has still managed to come all the way from its roots decades ago to basically take over the world, even to the point of forcing certain well-known software behemoths to open their platforms to avoid being left behind.

Open source software is so valuable in fact that most applications on the Internet (not to mention the transport and protocol layers!) would not be possible without it—World's Fair itself depends critically on open source projects such as web3 and MetaMask in addition to many others. Sharing code just works in so many ways. Another reason that open source is a perfect fit for a consensus economy is that dependency already acts as a very strong proxy for value—if you want to know how important a piece of software is, just look at how many other packages depend on it. If we can translate this kind of value-consensus into consensus about monetary value developers can get paid to keep doing what they do and open source becomes even more powerful.

It would be amazing if developers could simply create an asset for their project's git repo and then forget about monetization so they can focus on coding. Most developers enjoy the challenge of building new things and, if it were possible, would rather not have to think about how to squeeze money out of their creations. Things like data mining and microtransactions seriously detract from the experience. We can change that. See the developer docs.

Bypassing the Attention Economy

"If you're not the customer, you're the product" is a phrase that perfectly sums up the state of content monetization models in 2019. Ironically, open source may have actually played a part in bringing about this state of affairs, because when companies can no longer easily monetize the code itself, they must resort to monetizing the user base—think Facebook, Instagram, Snapchat, etc. Human activity in both the social and economic spheres is now orchestrated by software on an extremely fine-grained level. These platforms profit by maintaining their monopolistic position to influence what we look at—not that this is anything new. It could be argued that the roots of the attention economy are more than a century old, going all the way back to mass-circulation publications where paid advertisements were printed alongside editorial content, a form which, throughout the 20th century, continued on to radio, television, Web 1.0 (banner ads), and Web 2.0 (ads mediated by social media "influencers").

It's not that selling attention is bad—corporations are simply creatures adapted to their environment, so blaming them for doing what is most profitable seems like an entirely ineffectual mode of criticism. It would be like blaming a giraffe for having a long neck. How else will the giraffe reach the leaves? In over a century of media, little has changed—human attention is still by far the most prominent source of scarcity upon which consensus about the monetary value of media is predicated.

In biology, the Red Queen hypothesis (so named for the queen in Lewis Carroll's Through the Looking-Glass who must always run just to stay in the same place) is the notion that competing, evolving organisms constantly adapt to counteract the adaptations of other organisms in their environment in a way that results in everyone being locked into a kind of meta-static equilibrium. To continue the giraffe analogy, it's why the trees on the savannah keep getting taller (so their leaves don't get eaten) even as the giraffe's necks keep getting longer (so they can eat leaves). It's a natural process and it applies just as well to ecosystems where leaves are scarce as it does to natural games in which human attention is the scarce quantity.

Viewers skip commercials so producers must resort to product placement. People install ad-blockers and so sites respond with paywalls and other, more sophisticated tactics. Human brains heavily exposed to social media have adapted their perceptual filters to screen out ads in a feed of content, prompting the content feed to change the ad format so it's difficult, at a glance, to recognize ads as distinct from other content. It doesn't feel like we're getting anywhere either. Because the average person only has so many waking hours of consciousness, the current system is approaching a fundamental limit on human attention, and, although self-driving cars could buy us a little more time, that's not a particularly inspiring or long-term solution.

The transition to Web 3.0 is already well underway. With Turing-complete decentralized networks like Ethereum now at our disposal, we have the power to define arbitrary modes of scarcity in the form of tokens, upon which consensus about value of media may be constructed. If there were ever a time when the Internet media machine might finally slip the surly bonds of its original paradigm, that time is now. Though we cannot ever truly escape the scarcity game, we can deliberately transpose it into an abstract realm with fewer negative externalities for the mental health of Internet-humans. Take that Red Queen!

The Redemption of the Commons

The Tragedy of The Commons is a situation/game in which a group, through each member/player individually acting in their own self-interest, collectively leads to some effect—or non effect—which, in any case, is harmful. We're all familiar with the sorts of issues most impacted by this dilemma: the environment, social welfare, natural resources, etc. Such collective problems are collective because they manifest at the level of the group, not the individual. Since capitalism, despite being good at some things, is clearly not up to the task, responsibility for the "common good"—broadly speaking—falls on two types of organizations: governments and charities.

What governments and charities have in common is that neither are inherently profitable. In fact, both are the opposite of profitable since they specialize in actively spending money. And that's good. That's the point. If you pay taxes or give money to a charity, it's with the expectation that your individual contribution will in some way be converted into goods or services for the benefit of the collective. If a government or charity does not produce concrete results you begin to wonder if your taxes/donations aren't just ending up in someone else's pockets. Of course, being an organization that only spends money and doesn't make money means that you usually don't have enough money. Hence the tragedy.

But there's a silver lining. In an extraordinary coincidence it is precisely this property of spending money in a way that proves it was actually spent which makes charities the perfect way to burn money. Proof of Generosity (PoG) only works if the money doesn't somehow make its way back to the asset, and the only way to be sure that it hasn't is to observe the concrete results of that money having been "burned" in the interest of some non-commercial, non-profitable activity. It would, of course, be equally as effective to send ether to an address for which nobody owns the private key—but that just seems like a missed opportunity.

World's Fair is likely not the only contract on Ethereum that might need to burn ether for one reason or another, which is all the more reason to keep growing the community-sourced beneficiary whitelist.

A Decentralized Identity Provider

In a regular client/server architecture, the user's data is stored in a backend database along with their (hopefully!) hashed password. A user signs in by submitting their password to the server which then hashes the password and compares it to the stored copy. If it's a match, the server sends back a special token which the client can use to authenticate subsequent requests.

As the Internet has grown up, "Sign in with Facebook/Google/whatever" has been adopted by many applications as a substitute for implementing their own user authentication system. Advantages of using an identity provider to handle authentication logic include improved UX (users don't have to make another account), improved security (infosec is notoriously difficult to do properly), the ability to integrate with other data/services from that provider, and some level of built-in spam protection. The downside is that you have to trust the identity provider and are subject to technical lock-in if the provider changes their service in a way that is less than ideal for your application.

World's Fair replicates all the useful features of existing identity providers without any of the downsides. Instead of a user's data being stored in a database, identities are defined in the contract by mapping a unique sequence of 20 bytes (the name/alias) to that user's managing Ethereum address. World's Fair does not store the user's password because the user doesn't have a password. Instead, they send the server a message which has been cryptographically signed by the user's linked address. The server decodes the message and then simply looks at the blockchain to see which identity, if any, the signing address is linked to. Such an approach is fundamentally different than password-based authentication because a World's Fair user's private key never leaves their local machine. The blockchain allows each user to act as their own identity provider.

Spam protection is provided by the protocol level, as Ethereum charges a small fee when sending any transaction to the blockchain, including the creation of a user account on World's Fair. Additionally, accounts are associated with lots of publicly available, hard-to-fake data like assets, shares, and funds, making it possible to implement various reputation systems in a robust and transparent way.

Once a contract has been added to the blockchain, it's there forever, implying that even if the client/server part of World's Fair shuts down forever (hypothetical worst case scenario) all the data on the blockchain, including user accounts, will still exist and be accessible as if nothing had happened (the same can't be said for Facebook/Google!). Therefore, developers of other services can take advantage of the World's Fair user base as an identity provider (or for any other purpose) in a completely permissionless way, just as if they had deployed the contract themselves. That fact that such an implementation-agnostic identity system is possible underscores blockchain's potential for solving hard problems that have nothing to do with financial transactions.

A Manipulation-Resistant Community Platform

The community platform is an IPFS/Ethereum backed commenting protocol allowing people to create discussion threads and post cryptographically signed comments using their blockchain-linked World's Fair identity. It's like Reddit, but decentralized and designed to be manipulation-resistant.

This is how it works: to post a new comment to the World's Fair server, the client first generates its cryptographic signature using their linked address. Next, the client uploads both the comment data and the signature to IPFS, returning a multihash which serves not only as a fingerprint of the data/signature but also, since IPFS is content-addressed, may be used to retrieve that data at a later point. When the server receives the comment it verifies the IPFS hash and decodes the signed data to find the address that signed it, which, when compared to the blockchain, gives the World's Fair alias to be saved as the comment author. This means that anyone can post data to the community platform without prior authentication.

Comment threads on World's Fair are structured much like a blockchain, in the sense that each comment's data includes the IPFS multihash of its parent comment. This branching, recursive structure makes it easy to detect manipulation by simply recomputing the hash of each comment and comparing that to what is recorded by the comment's descendents.

All community platform data is publicly available from the World's Fair API or any IPFS gateway server.