Twitter Oracle

Note: This is an early draft and may be outdated. Please follow the latest updates at https://github.com/public-awesome/stargaze.

Stargaze requires strong Sybil resistance guarantees to prevent attacks against the quadratic voting curation mechanic. However, having a lengthy signup procedure can cause users to drop off and not sign up. Therefore, Stargaze needs good heuristics to verify that a user is a single person. Stargaze accomplishes this with a Twitter verification oracle.

Incentivized Twitter Invites

Every user has to be invited / vouched by at least one other user (social proof). The network will be seeded with known accounts to prevent inviting Sybil accounts.

For example, to invite a user to Stargaze, one would tweet: @stargaze_fi invite @satoshi. A Twitter oracle, periodically checks Twitter for these invite messages, sending them to the chain where they are stored until invited users sign up.

A few more checks are performed to reduce probability of Sybil accounts, including checking the age of account, number of followers, and follower ratio.

After a user is verified, they receive 100 STARS to begin using the protocol immediately. The user that invited them also gets 100 STARS. These new user rewards come from a pre-allocated new user reward pool.

Stake to join

For users that don't have Twitter or don't want to signup with Twitter, an alternate way to join is provided. Users can stake 1,000 STARS on the network to join. However, this amount is slashable by governance for bad behavior.

Proof of Exit

Users that tweet a link with their new Stargaze address get 1,000 STARS that vests in 90 days. If they don't tweet for that period of time, they get to keep the STARS. If they do tweet, they lose the STARS.