Some questions concerning development #nontechie

29 views
Skip to first unread message

Lucas

unread,
Jun 4, 2015, 4:59:06 AM6/4/15
to twiste...@googlegroups.com
Hi there,

I´m new to twister and found it by looking for a decentralized Twitter alternative. I am an active Twitter-user and find it extremely helpful to build networks and exchange information, but I don´t like the centralized data handling. I like the fact that Twister uses blockchain technology to provide a decentralized solution. I have some questions and some ideas that I´d like to discuss. While I have experiences as concept writer and designer I am not a cryptographer and/or coder, so my two questions and ideas may sound stupid to you, so please keep that in mind ;)

1. As far as I understood, Twister uses SCRYPT PoW to cope with power distribution. Have there been thoughts to use PoS instead of PoW? 

2. The other question is more or less answered by @mfreitas with regard with using light wallets for mobiles and people who don´t want to download the whole blockchain. Light wallets appear to me the only feasible solution to bring a decentralized messaging service to mobiles - which (for good reasons) is the native environment for most Twitter users. The common question with light wallets is: who will run the (still necessary) full nodes in case a major number of users catches up.


With regard to the second point I have a proposal and as I mentioned it may be stupid and/or not feasible at all:

What if hosting a full node was rewarded same as mining is and this internal currency is needed to send messages? I don´t think about this as "solution" to a problem, but rather as a feature that could turn twister in something more than a decentralized messaging service. It may sound odd at first: if you can send messages for free then why would you pay for it anyway. The point is, sending messages isn´t really free, particularly not with commercial products such as Twitter and Gmail. We pay with our data and that´s the reason why many of us look out for decentralized solutions. However, as I pointed out, while some like the idea to run everything on their own (servers or decentralized solutions such as fullnodes of Bitcoin or twister), many people prefer not to do or just don´t get how things work and then fall back to a "simple" solution provided by enterprises like Google, Microsoft etc. 

Currently there is a lack of payment systems in this sector: of course we can turn to providers and pay for internet services that are not financing through selling our data, but 1. this doesn´t exist for services like Twitter and 2. even if it exists (like it does for email) it is still a centralized service and based on trust. Paying for messages by using an internal currency sounds to me the logical solution when we want to bring together people who like to host a distributed network and people who just want to use services but want full privacy. 

The problem with an internal currency is, that it allows early adopters to pile up huge amounts and then dominate the market as happened for most cryptocurrencies. With most currencies it was important to distribute liquidity to allow scaling up - and so it would be the case for a decentralized messaging service if sending a message costed "money". I don´t claim to have a simple solution here - actually it is kinda tricky, but I believe using demurrage could help to provide a solution. 

Demurrage is a kind of negative-interest that you pay on your money, so the value decreases and provides an incentive to spend the money. Some of you may know Freicoin, which implemented demurrage in its (Bitcoin based) protocol. It´s not really a successful cryptocurrency for a simple reason: most people who "buy" oder "produce" money don´t like the fact that the value decreases. For many people money is serious business. However, this doesn´t apply to services like Twitter, where "value" is generated through relations and actions (like retweets). 
  • Let´s imagine to send one twist/tweet it would cost you one unit of an internal currency + you could attach more if you wanted.
  • If you retwist/retweet a message the currency is sent to the person who posted the original twist and, this way, is kind-of paid for providing content. 
  • Following a person works like a subscription, where you pay units on a regular(!) (let's say hourly basis) with a minimum of 1 unit that can be increased manually. 
  • People can generate this currency by running a client for a specific time, say 1 hour. The difficulty to generate the internal currency is directly related to the number of people taking part in the process, but - unlike Bitcoin - difficulty decreases with the amount of transactions - and it does in a way that it is always more or less the same power to generate 1 unit. 
  • This unit decreases X% in value/day if you don´t use it. This way there should never be a problem of liquidity ("I can´t send a message, because there is no way to get the money to pay for it") and there is also no way to pile up the internal currency to be the only who´s able spam the system. The value of the currency is directly related to the activity in the network.
  • The value that people collect this way is an expression of (current) support 
This is just an idea and the reason why I find this interesting is, that I believe that this is more than a messaging service where the costs for providing the services is distributed - it can also be turned into a system where content providers are actually paid for their work. Currently many content providers sell-out their time/engagement to receive attention and then selling this attention to advertisers. Crowdfunding has been used as an alternate model of generating funds, but it has a lot of issues, in particular that they are hosted by services that take a lot of money just for being the place to distribute money (Kickstarter, Indiegogo, Flattr, Patreon). Some time ago I wrote a concept that was supposed to work quite different and in a sense I believe that a decentralized messaging service such as Twister would be a much more simple and easy to use than the platform I originally thought about. 

Ok, yaddayadda, I know this would probably need a entirely new system and that´s expensive in terms of time and money. Anyway, if this sounds interesting to you, I don´t see why this couldn´t and shouldn´t be crowdfunded. I believe it could be really interesting for content-generators. Let´s discuss sense and nonsense. 

Miguel Freitas

unread,
Jun 4, 2015, 2:48:53 PM6/4/15
to twiste...@googlegroups.com
Hi Lucas,

On Thu, Jun 4, 2015 at 5:59 AM, Lucas <lfga...@googlemail.com> wrote:
> Hi there,
>
> I´m new to twister and found it by looking for a decentralized Twitter
> alternative. I am an active Twitter-user and find it extremely helpful to
> build networks and exchange information, but I don´t like the centralized
> data handling.

Nobody does. Or, at least, the ones who spent some time to really
think about it...

> I like the fact that Twister uses blockchain technology to
> provide a decentralized solution. I have some questions and some ideas that
> I´d like to discuss. While I have experiences as concept writer and designer
> I am not a cryptographer and/or coder, so my two questions and ideas may
> sound stupid to you, so please keep that in mind ;)
>

No worries!

> 1. As far as I understood, Twister uses SCRYPT PoW to cope with power
> distribution. Have there been thoughts to use PoS instead of PoW?

Initially no, I didn't even knew about it. PoS is interesting but i
have no concrete plans in this direction.


>
> 2. The other question is more or less answered by @mfreitas with regard with
> using light wallets for mobiles and people who don´t want to download the
> whole blockchain. Light wallets appear to me the only feasible solution to
> bring a decentralized messaging service to mobiles - which (for good
> reasons) is the native environment for most Twitter users. The common
> question with light wallets is: who will run the (still necessary) full
> nodes in case a major number of users catches up.

Good question. It is the same with tor-nodes, they still need full
nodes to operate. So far it seems to be working but i agree it is a
valid concern nonetheless.

Also don't forget that with possibly unlimited data plans and
increased storage on mobile devices, running a full node isn't
necessarily a big deal. Time is on our side.

>
> With regard to the second point I have a proposal and as I mentioned it may
> be stupid and/or not feasible at all:
>
> What if hosting a full node was rewarded same as mining is and this internal
> currency is needed to send messages?

Not stupid, but i don't know how one proves he is a full node.

Besides: proves to whom? A node has to prove such thing in a way the
entire network agrees, not just the other node that is directly
connected to him.

This is a very interesting problem and I've heard some projects are
currently trying to address that. In practice, I don't know how are
they doing.


> I don´t think about this as "solution"
> to a problem, but rather as a feature that could turn twister in something
> more than a decentralized messaging service. It may sound odd at first: if
> you can send messages for free then why would you pay for it anyway. The
> point is, sending messages isn´t really free, particularly not with
> commercial products such as Twitter and Gmail. We pay with our data and
> that´s the reason why many of us look out for decentralized solutions.
> However, as I pointed out, while some like the idea to run everything on
> their own (servers or decentralized solutions such as fullnodes of Bitcoin
> or twister), many people prefer not to do or just don´t get how things work
> and then fall back to a "simple" solution provided by enterprises like
> Google, Microsoft etc.

I don't get your point. If sending message is free, why would you
introduce a currency that is only required to be paid by full nodes?

You are arguing the incentive for running a full node is just for the
sake of helping the community, then you have already found the answer
for the incentive. No need to introduce any currency.


>
> Currently there is a lack of payment systems in this sector: of course we
> can turn to providers and pay for internet services that are not financing
> through selling our data, but 1. this doesn´t exist for services like
> Twitter and 2. even if it exists (like it does for email) it is still a
> centralized service and based on trust. Paying for messages by using an
> internal currency sounds to me the logical solution when we want to bring
> together people who like to host a distributed network and people who just
> want to use services but want full privacy.

Storing posts and keeping the network running does cost money.
Everyone who joins the twister network is indirectly paying for the
infrastructure by paying his own electricity costs and their internet
provider.

This is why we have limits in twister: size of posts, maximum number
of posts per user etc. This all involves a deal, how much you are
willing to contribute back in order to have this service.
This is a very crazy idea ;-)

I don't know if it would work, both about psychology of users and how
it would be actually implemented.

How do you deal with bots that send a lot of posts, do retwists and
subscribe to everybody?

regards,

Miguel

Lucas

unread,
Jun 4, 2015, 6:42:24 PM6/4/15
to twiste...@googlegroups.com
Thanks Miguel for your answers! I´ll comment inline:


> 1. As far as I understood, Twister uses SCRYPT PoW to cope with power
> distribution. Have there been thoughts to use PoS instead of PoW?

Initially no, I didn't even knew about it. PoS is interesting but i
have no concrete plans in this direction.

I´ll write something about Reddcoin (a currency that probably rather failed but had some interesting ideas) later. Incase you are interested you should check out the PoSV (Proof of Stake Velocity) protocol that Reddcoin uses as a way to implement Proof of Stake in dependence to network activity to discourage hoarding. 
 
>
> 2. The other question is more or less answered by @mfreitas with regard with
> using light wallets for mobiles and people who don´t want to download the
> whole blockchain. Light wallets appear to me the only feasible solution to
> bring a decentralized messaging service to mobiles - which (for good
> reasons) is the native environment for most Twitter users. The common
> question with light wallets is: who will run the (still necessary) full
> nodes in case a major number of users catches up.

Good question. It is the same with tor-nodes, they still need full
nodes to operate. So far it seems to be working but i agree it is a
valid concern nonetheless.

Also don't forget that with possibly unlimited data plans and
increased storage on mobile devices, running a full node isn't
necessarily a big deal. Time is on our side.

Isn´t that relative to the use of data? I mean, I am running a Sony Z2 with 16GB internal storage + 64GB memory card and I still have problems with data storage. Even though memory increased exponentially I still have the same issue with storing data as I had with my good ol 386 computing system, you know, those times when we dreamt of hard drives with 1GB of memory & 100MB of RAM and thought that would be crazy ;) In general, it also depends on who you mean by "our side". You shouldn´t forget that it will take a long(!) time until the discrepancy between urban and rural in terms of (quick) internet connections will be solved. Also in many developing country large data plans with a more or less quick connection is not going to take place anytime soon. 
 
>
> With regard to the second point I have a proposal and as I mentioned it may
> be stupid and/or not feasible at all:
>
> What if hosting a full node was rewarded same as mining is and this internal
> currency is needed to send messages?

Not stupid, but i don't know how one proves he is a full node.

Besides: proves to whom? A node has to prove such thing in a way the
entire network agrees, not just the other node that is directly
connected to him.

This is a very interesting problem and I've heard some projects are
currently trying to address that. In practice, I don't know how are
they doing.

Hm, you know, maybe it´s because I don´t really get all of it technically, but I thought that if you are running a light wallet you cannot act as a full node and if you run a full client you automatically run a node. At least that´s how I conceived it with Reddcoin. Here, a full client with the whole blockchain will stake your currency and generate funds, a light wallet won´t. I will see if I got something wrong here, because if the full clients are not automatically nodes my argument here doesn´t work out well.

 

> I don´t think about this as "solution"
> to a problem, but rather as a feature that could turn twister in something
> more than a decentralized messaging service. It may sound odd at first: if
> you can send messages for free then why would you pay for it anyway. The
> point is, sending messages isn´t really free, particularly not with
> commercial products such as Twitter and Gmail. We pay with our data and
> that´s the reason why many of us look out for decentralized solutions.
> However, as I pointed out, while some like the idea to run everything on
> their own (servers or decentralized solutions such as fullnodes of Bitcoin
> or twister), many people prefer not to do or just don´t get how things work
> and then fall back to a "simple" solution provided by enterprises like
> Google, Microsoft etc.

I don't get your point. If sending message is free, why would you
introduce a currency that is only required to be paid by full nodes?

You are arguing the incentive for running a full node is just for the
sake of helping the community, then you have already found the answer
for the incentive. No need to introduce any currency.

I was probably not clear on this point. What I was saying that technically you can sign up with Twitter, Gmail, WhatsApp whathaveyou and send messages "for free", but they are actually not. Sending costs money and User currently pay for it with their data. Paying money for it would be much more intelligent, but then again with privat services you still don´t have  full control over your data. My proposition is therefore that users have to pay for messages, subscribing/following and retwisting. To pay for that, they need to generate funds and they generate funds by supporting the system via running a full node. If they choose not no (e.g. by running a light wallet only) they can still use the service but need to "pay" for it, which kinda makes sense since they are not contributing to the stability of the system. So you see, my argument here is to make people who are not directly supporting system stability (because they run a light client) pay for the work that others are doing. 


>
> Currently there is a lack of payment systems in this sector: of course we
> can turn to providers and pay for internet services that are not financing
> through selling our data, but 1. this doesn´t exist for services like
> Twitter and 2. even if it exists (like it does for email) it is still a
> centralized service and based on trust. Paying for messages by using an
> internal currency sounds to me the logical solution when we want to bring
> together people who like to host a distributed network and people who just
> want to use services but want full privacy.

Storing posts and keeping the network running does cost money.
Everyone who joins the twister network is indirectly paying for the
infrastructure by paying his own electricity costs and their internet
provider.

This is why we have limits in twister: size of posts, maximum number
of posts per user etc. This all involves a deal, how much you are
willing to contribute back in order to have this service.



This is what I was referring to: hosting Twister already costs money. People do it because they like your experimental idea and obviously they don´t care about wasting a bit more energy on a promising project like this one. But don´t forget that we are nerds and that the rules that apply to us, don´t necessarily apply to "mainstream users". I think there is a potential to bring this cool technology that allows us to control our own data to the street, but if we want that individual involvement CAN be a challenge. Most users would prefer not to have the full blockchain on their mobile - I believe this way it is possible to reach out to them.
This is where I want to come back to Reddcoin. With Reddcoin there was the idea (was not realized and will maybe never become realized) to create something they called "Redd-ID". The plan was that you can register an ID (like a nickname) by sending a certain amount of Reddcoin to a dead address. This ID connects to a Deterministic Wallet and would have allowed people to send coins to an ID instead of an address (I guess it was planned bit like Namecoin) - anyway, by asking the users to register there is a certain threshold to create accounts. 

As far as I read there has already been a discussion about paying for accounts (with Bitcoin) and people were negative about it since it is an extra hurdle that keeps people from using the service. I agree here, I don´t think it should be necessary when you start using the service. But there are solutions that are more permeable: let´s imagine registering doesn´t cost you anything, however, you have certain restrictions that will make it unattractive for those who really want to use the service. For instance you can only post a certain amount of twists, RTs, favourites + you have a rigid timeframe (say you have to wait first 1 min then 2 min then 4 min and so on to post the next twist). Basically it should be enough for people who just want to test around.

Registering costs you a certain amount of the internal currency. If it is a real altcoin they can be traded, but they can also be produced as I explained before by running your machine a certain period and support the network. 

Because posts cost money, it´s not likely that bots would spam, because they would easily run out of funds - and that´s particular the advantage: Twitter currently finances itself (besides selling our data) by selling "promoted tweets". That´s anything but spam - and we receive it because the service needs to be paid. In a sense enterprises could still spam you. but a) they need to pay for it and b) unlike Twitter they wouldn´t be able to target you (that easy).

You know, if you think about it, a decentralized system as you developed with twister is the perfect protocol to reward content generation. It is very similar to what I wrote in the linked concept. I think there´s a lot of potential to create something new that goes way beyond the decentralized messaing service that you built with Twister. Actually it really inspired me to think of it as a system that allows to connect to payments to run a system with "paying" people with more than just attention.

Looking forward to hear your thoughts.
Regards, Lucas

 
regards,

Miguel
Reply all
Reply to author
Forward
0 new messages