The web was created to allow anyone to publish ideas and art. In the 1990s everything was posted by creators on their own website. Indexers like Yahoo!, Alta Vista, and Google would help people find their work. It was a much more level playing field with fierce competition amongst the indexers to help consumers find creations.
It succeeded for a time, but now all publishing formats are dominated by centralized interests. Creators now rely on companies and organizations that can very easily silence those with whom they disagree or who threaten their power. These companies very often act like the own the content that they index.
Alternatives platforms exist but have negligible reach. Creators are forced to use the powerful entity because that's how they reach people, and consumers are forced to use the powerful entity because that's where all the content is.
FUTO can help by providing tools and protocols which make it easier for creators to publish their work to multiple indexers. We want creators to feel like they are publishing to the world, and we want indexers compete with each other to do a good job connecting consumers to creators and their content.
The first step is to define an export format. We will encourage all social media companies do the following:
1. All content can be digitally signed using a private key owned by the creator. Or, to facilitate easy adoption, legacy indexers such as Twitter can sign content on the creator's behal
2. When creators upload they can specify who else is allowed to index their content. Or they can specify no restrictions. This is the whitelist of indexers.
3. All content can include a payment request, This will allow consumers to form a direct payment relationship with their favorite creators.
We would also like to address the problem with opaque recommendation engines. We know these are quite powerful in influencing the behavior of the consumers. FUTO would like for all recommendation engines to be open and transparent.
We imagine an export format that looks something like this:
```
@#String
@#ISO369
@#Link
@#PrivateKey
@#PublicKey
@#Signature
@#Content
@#QuickResponse {
$is[#Content]
}
@#Folder { // Less than 1000000 bytes
@#Pointer // hash code of Folder
@.content[array[#Content]]
@.reply_to[array[#Document/Pointer]]
@.signature[?#Signature]
@.tags[array[#String]]
@.possible_quick_responses[array[#QuickResponse]]
@.indexer_white_list[array[#PublicKey]]
@.payment_request[TBD]
}
@#IdentityClaim {
$is[#Content]
@.claim[#String]
}
@#ThisMySuperSecretKeyThatOwnsAllMySigningKeys {
$is[#Content]
@.key[#PublicKey]
}
@#IdentityCorroboration {
$is[#QuickResponse]
}
@#IdentityRebuttal {
$is[#QuickResponse]
}
@#LostPrivateKey {
$is[#Content]
@.oldkey[#PublicKey]
}
@#LostPrivateKeyCorroboration {
$is[#QuickResponse]
}
@#TextContent {
$is[#Content]
@.text[#String]
@.language[#ISO369]
}
@#Diff {
$is[#Content]
@.data[array[i1]]
@.function[TBD]
}
@#LinkContent {
$is[#Content]
@.link[#Link]
}
```
Now just figure out a way for networks to stay in sync with one another. Can be agnostic about this. Try different things. Lots of efficiency concerns here so you want to make this evolve over time. All this stuff is stalling because people are stressing out about making this into a crypto money making scheme. Don't do that.
# Censorship
All censorship occurs as a regular post made as a response to the post which is being censored. Networks decide which takedown requests to honor.