Skip to content

Instantly share code, notes, and snippets.

@pradel
Last active April 24, 2021 23:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pradel/307e9af98409bdbeea4a67ec6455073e to your computer and use it in GitHub Desktop.
Save pradel/307e9af98409bdbeea4a67ec6455073e to your computer and use it in GitHub Desktop.
Sigle 2.0 concept

SIGLE 2.0 - The future of blogging

When we started Sigle over 2 years ago we wanted to provide a blogging platform where the user would own their content. A platform that you enjoy using every day, that will make you write more and share more.

At the time, we decided to build the first version of Sigle on Blockstack which provided an easy to use SDK that would help us to achieve our goal.

Over the course of these 2 years we continued to work on and improve the platform, we grew the community, collected feedback and we are now ready to share our idea for Sigle 2.0 with you.

While gathering feedback from our users these two questions always came up:

  • How can other users of the platform discover my content?
  • How can I monetise my content?

In the following document we would like to show you our new concept for Sigle, using the new possibilities provided by Stacks 2.0. We are planning to use the power of smart contracts and micro transactions to provide the best and most innovative experience possible.

Let’s see how it’ll work:

Discover page 👁

Discover new and exciting content, take a look at trending articles in the feed (ranked by upvotes), or even change your filters and get the latest articles.

Follow and discover new centers of interest based on our tag system. For example head over to the #stacks tag and see the latest post made by the community!

Publishing 🚀

Your first story is on us! After that, publishing a story will cost you 0.04$ tbd. This system will encourage users to write and post quality content they are proud of while discouraging spammers.

Monetise your content 💰

Get paid by the community to support your work!

Users can upvote articles to reward you - and the more upvotes you get, the bigger visibility your story will have. An upvote costs 0.04$ - tbd - which go to the writer.

Users can comment on your articles (0.04$ - tbd - which go to the writer).

Users can also follow (and unfollow) other users (0.10$ - tbd - which go to the writer).

Sigle keeps a 10% fee on every transaction.

Track your performance 💪

Take a look at your dashboard to see how things are going. See how many views your posts got (we will integrate Fathom for privacy friendly analytics), and see how much money you made. We will try to add any data available to us to enhance your experience.

Profile page 🙋‍♀️

Access your profile page directly on Sigle.io. This page will display your profile picture, a few sentences about yourself, your followers and, of course, all your published Stories.


Sigle smart contracts: How does it work?

We plan to publish a smart contract that would essentially handle txns on actions performed by authors and readers. We are also thinking of including a referral system from the get go. As for managing the prices of actions we will either go with Oracle contracts or stable coin.

The smart contracts will be used as an indexer to list all the Stories published via Sigle. Only the story id will be stored via the smart contract. The content of the story will be saved in the Gaia storage of the user, meaning that once a story is published, editing it will not require an on-chain transaction.

Oracle smart contract

To handle dynamic exchange we plan to either create an Oracle contract ourselves or use one that's already available. Sigle smart contracts would interact with Oracle contracts to fetch the latest price of STX.

Alternate client

Anyone can build their own client on top of Sigle smart contracts. Stacks blockchain being an open protocol, smart contracts data and the Gaia storage can be read by anyone.

Moderation

We believe in free speech but we cannot accept any kind of content. Illegal and NSFW content, harassment and any kind of call for violence will be forbidden.

The moderation only affects the Sigle client. As the data is stored on the blockchain it can still be accessed on alternate clients.

Thank you!

For reading this far :) We look forward to hearing your thoughts!

@dantrevino
Copy link

@pradel I love this idea. Regarding payments, my wish would be for using STX and oracle vs stablecoin.

@philiphacks
Copy link

@pradel great work! the design looks really good. A few questions/comments:

  • How do you differ from something like Medium? How are you able to compete with other blogging platforms in general?
  • Interesting that it costs money to publish a blog post. I understand you want to attack spam this way. Have you seen a lot of spam in the past? Or where does this decision come from? Sometimes I just wanna save something quick, and my personal blog could be a good place for that. Having to pay for publishing something on my own space creates friction to that (but to be fair, it's only 4 cents... :))
  • I love the cost of upvoting -this could be a real signal vs noise. Now it's free to upvote something on platforms, which makes it easy to push bad stuff if you have a big network. Not sure about the incentives for following.

Arkadiko (xUSD) would be happy to help with stablecoin integration on Sigle if you're interested in that!

@pradel
Copy link
Author

pradel commented Apr 5, 2021

How do you differ from something like Medium? How are you able to compete with other blogging platforms in general?

With medium, writers get paid when the readers read your blog post, taking a small part of their monthly subscription. If I have a subscription I can't decide to mostly fund the writers I follow.
Our idea is to bring a way for writers to monetise their work with their existing or new community directly.
Also no pay-wall 🔒.

Interesting that it costs money to publish a blog post. I understand you want to attack spam this way. Have you seen a lot of spam in the past? ...

Every platform is unfortunately subject to spam as soon as they grow, having a system in place from the beginning is necessary as smart contracts can't be changed easily.
As you have to pay 0.04 to publish a new story, our goal is to make users more mindful of what they publish and that would also encourage higher quality content in general.

I love the cost of upvoting -this could be a real signal vs noise. Now it's free to upvote something on platforms, which makes it easy to push bad stuff if you have a big network. Not sure about the incentives for following.

Better the content, the more you get paid as more people will upvote and follow you. By following a new person you want to support him, that's why it will be more expensive than an upvote.

Arkadiko (xUSD) would be happy to help with stablecoin integration on Sigle if you're interested in that!

Thanks we will definitely let you know if we decide to go with the stablecoin approach!

@hstove
Copy link

hstove commented Apr 12, 2021

Love this idea Leo!

One thing that comes to mind is the potential to have a token curated registry (TCR) to determine what posted are "featured" on the homepage. This could function similarly to the RARI token on Rarible. Holders of the RARI token can vote on what is featured on the site. This cuts out a central entity for some moderation, and adds some interesting tokenomics. I'm not saying you 100% need to do this, it's just an idea I'm throwing out.

@markmhendrickson
Copy link

This proposal is exciting!

I especially love the leap it takes into requiring participants (producers and consumers alike) to commit themselves financially / put skin in the game.

The various gestures / interactions (e.g. upvotes, likes, posts) grow in importance with these financial stakes. I could see their framing as growing perceptually as well (e.g. instead of just upvoting, you "endorse". instead of just posting, you "propagate").

NFTs that capture a spectrum of ownership and fandom related to written content could also proliferate based on / around this sort of system.

Your first story is on us! After that, publishing a story will cost you 0.04$ tbd.

I imagine you'd leverage sponsored transactions to help readers and writers alike dabble with these interactions to start. @agraebe submitted a PR for supporting it in the Stacks Wallet recently here, which may be worth a look: leather-wallet/extension#1110

Only the story id will be stored via the smart contract.

How will this story ID get mapped to the content as saved to a given user's Gaia hub exactly? Might it help with robustness to store the content URL as hosted via Gaia (or otherwise) on chain as well?

I'd be curious how you see BNS folding into all of this as well.

cc @aulneau in case he has some ideas as well / would want to riff on standardized contracts for publishing

@friedger
Copy link

friedger commented Apr 13, 2021

The sigle fees, are they deducted as part of the smart contract transaction? I don't think a protocol that pays a fee to the contract developer will survive for long. However, using the Sigle Client/UI should incur the fee.

Publishing content on gaia should be free, I think. However, publishing content to the discover page, or to search results should incur a fee as well.

I don't think that comments and followship is something that should be stored on the blockchain. What is the reason that require a strict order of events on-chain? Have you considered using webmentions instead of a blockchain?

@agraebe
Copy link

agraebe commented Apr 13, 2021

love this proposal!

@hstove
Copy link

hstove commented Apr 14, 2021

I don't think a protocol that pays a fee to the contract developer will survive for long. However, using the Sigle Client/UI should incur the fee.

This is mainly a nuance in the design of the protocol, but I agree. Any action can include some extra parameter for the "front-end", maybe an address, and the protocol fee goes to this front-end. In reality, Sigle.io will be the best front-end, and so you get the same result (actual revenue) while encouraging decentralization. Generally a full-on protocol fee is most defensible when the fee goes to a DAO vs a centralized entity. If there was a DAO (also similar to my comment about a TCR for featured posts) then a protocol fee could be great.

@pradel
Copy link
Author

pradel commented Apr 15, 2021

One thing that comes to mind is the potential to have a token curated registry (TCR) to determine what posted are "featured" on the homepage.

@hstove The concept is really interesting, I need to read more about it to understand better how it's working exactly but I like how Rarible is using it.
Regarding DAO, I am always afraid of greedy voters that would vote for things just to increase their profits even tho it would be a disservice for the platform in the long term.

@pradel
Copy link
Author

pradel commented Apr 15, 2021

I imagine you'd leverage sponsored transactions to help readers and writers alike dabble with these interactions to start. @agraebe submitted a PR for supporting it in the Stacks Wallet recently here, which may be worth a look: leather-wallet/extension#1110

@markmhx that's really helpful to know that we can actually do this, thanks for the link!

How will this story ID get mapped to the content as saved to a given user's Gaia hub exactly? Might it help with robustness to store the content URL as hosted via Gaia (or otherwise) on chain as well?

The story id will be mapped to the owner address. That way we can get the Gaia hub URL via the address and append the id to retrieve the content. Storing the full URL doesn't seem like a good idea as the Gaia URL can change in case you decide to change the storage provider.

I'd be curious how you see BNS folding into all of this as well.

We haven't figured it out yet so that's a good question. Right now I can think of 2 ways:

  1. We use BNS and if a user doesn't have a name we fallback to the STX address. Eg: www.sigle.io/@test.id.stx or www.sigle.io/@SPZ0RAC1EFTH949T4W2SYY6YBHJRMAF4ECT5A7DD. The user would be responsible for buying his own name if he wants to have a custom one. We could also pay the name registration for new accounts with the suffix .id.sigle for example.

  2. We decide to not use BNS at all and create some kind of register function in the smart contract where you register a new unique username that would be associated with your address (so stored in the smart contract). Names would never expire that way.

@pradel
Copy link
Author

pradel commented Apr 15, 2021

The sigle fees, are they deducted as part of the smart contract transaction? I don't think a protocol that pays a fee to the contract developer will survive for long. However, using the Sigle Client/UI should incur the fee.

@friedger That's a good point, our initial idea was to make it part of the smart contract transaction but it's not the best way to do this indeed. Thanks for pointing this out!

Publishing content on gaia should be free, I think. However, publishing content to the discover page, or to search results should incur a fee as well.

Publishing content on gaia is free, you can create as many draft as you want for free. But as soon as you publish your article you want it to appear in the discover, search etc.. so this requires an on-chain transaction to save the post id.

I don't think that comments and followship is something that should be stored on the blockchain. What is the reason that require a strict order of events on-chain? Have you considered using webmentions instead of a blockchain?

The idea was to first be able to list the following/followers list easily via the smart contract but also the idea is to support the person you want to follow, so in that case sending him a transaction of 0.X$.
So you think these features should be decoupled from the smart contract?

@friedger
Copy link

friedger commented Apr 24, 2021

So you think these features should be decoupled from the smart contract?

@pradel Blockchains are good for transactions where the order matter. It does not matter whether I followed you today or yesterday or before I followed Hank.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment