Tampilkan postingan dengan label Reddit. Tampilkan semua postingan
Tampilkan postingan dengan label Reddit. Tampilkan semua postingan

Rabu, 23 Maret 2016

It's all about trust, context and timeliness - reinventing social media with blockchain

In the recent week after posting about my experience as /r/Bitcoin moderator, doing an AMA on the subreddit, and the subsequent discussion that followed in the related topics (1, 2, 3, 4, 5, 6), I've heard a lot of people voicing their opinion that the way Reddit works is rather broken. This further amplified by the recent research by BashCo into possible vote manipulation that might be going around in our subreddit, as well as a few people noticing that some of the most popular subreddits seem to be both heavily moderating the content about the Brussels terror attack, removing some highly-voted submissions and a lot of comments on the subject. Long story short - it looks like a lot of the discussion on Reddit is swayed and controlled by a handful of people controlling the subreddits (/r/Bitcoin notwithstanding). So would it be possible to reinvent Reddit and similar social media in a way that would make vote manipulation, trolling, spamming and centralization of power irrelevant?

Filter bubbles and Web of Trust


We consume a lot of the media and news. The more relevant something is to our interests, the more likely we are to consume it, so logically a lot of companies try to give us "filter bubbles":


In short, a filter bubble personalizes the news and stories we see in our social media feeds based on what we enjoy and have consumed in the past. If we're pro Bernie Sanders, we might hear more news from /r/SandersForPresident/ rather than from /r/The_Donald/. Companies like Facebook do this more covertly, while Reddit is more explicit about allowing you to subscribe to whichever subreddit sparks your interest the most.

We could use the concept of explicit and personalized filter bubble to figure out what news would be relevant to us. We would have to pick which things we're interested in (tech news, pictures of cute animals, videogames, etc.) to create the "context" for our interests (more on that later). However, this would only be as useful to us as the quality of the content to consume, which can be filled with spam and manipulated. Here is where the idea of Web of Trust comes in.

Web of Trust is a formal way of stating who do you trust, and creating a network of trust-based relationships between the users. This applies to both finding trustworthy websites as well as money. In our context, we would create our digital identity (or multiple identities), and then state which other identities we trust or distrust. Whether it would be family members, celebrities or just some random stranger on the internet posting funny pictures, we could cherry pick who is relevant to our interests. Those people, and the people they are connected with would allow us to access the relevant data feeds.

The Web of Trust can also be resilient against sybil attacks and vote manipulation - it wouldn't matter if I created a million identities and they would all "Like" some post if you wouldn't trust anyone trusting those puppet accounts. Trust could also be diluted in a PageRank fashion - if I trust a million people, I might be less reliable than someone that trusts only a handful.

Context is also important for trust. While I might trust someone to provide me with animated book reviews, I wouldn't be taking technical advise from them. Similarly, if someone was blatantly in opposition to my views, I might explicitly distrust them in that field. This would allow us to mix and match who do we trust and under what circumstances to make our filters and web of trust more explicit. For example, my trust might look like:






[Self]
Videogames
Wrestling
Bitcoin
Astronomy
0.1
0.9
0
0
0
LukeJr
0
0
0
0.2
-1.0

In this example, I would value TotalBiscuit's opinion on videogames to a strong degree - he's a competent critic with years of reputation. While he might also be a fan of wrestling, I don't share his passion for the topic so I'm indifferent to anything he would share in that content. He's not an expert on Bitcoin, so I'd also give him a 0.

LukeJr's opinion on Bitcoin I would trust a bit - he's a competent developer, although his abuse of trust in the Gentoo story leaves something to be desired. Similarly, his view that the Sun orbits the Earth makes me distrust whatever he has to say on the subject of astronomy.

The [self] variable would be a category about the person - in this example I would be interested in hearing a bit about TotalBitscuit's general life (similar to a Twitter feed).

Evaluating content


By establishing our web of trust with the proper context, we can create proper filter bubbles for the content we want to consume. If the web of trust data would be public, say, living on an Ethereum smart contract, we could pre-compute all the values we would assign to everyone relevant to us on a given topic. People we directly trust would get full score, whoever they trust would be counted as a product of the two trusts plus some discount on how far they are away from us. Doing the same for further connection levels we would eventually tend towards zero trust - irrelevance.

Every submitted piece of content would have a context - just like hashtags on Twitter or subreddits on Reddit. Generic content would have a context of the person posting it - just like a Tweet without a hashtag. The content itself could be a post or a link like on Reddit.

Now, when someone would consume a piece of content, they would give it a upvote or a downvote, affecting how the people that trust them would view the content. For every person, the aggregate score of a given piece of content would depend on everyone in their web of trust, and only that. So if I trust say, 10 movie reviewers and they all upvote Cloud Atlas, it would have a score of 10 for me. If they disagreed on The Revenant, it might get a score of 2-3. If someone posts a picture of a cat in the "movie" category, that would get a score of -10 - it might still be a cute picture, but it's not a movie.

Just like on Reddit, the concept of timeliness also needs to be taken into consideration. A lot of people would be interested in getting the latest news and the newest cat memes, so similarly to Reddit the overall position of a submission should fade away with time to leave room for fresh content.

All of these things can be weighted depending on how one wants to browse the data feed. We could see the most relevant submissions, the newest ones, the most controversial, or the top submissions of all times.

Lastly, one's votes on various submissions might also slowly tweak the Web of Trust of that individual. Every upvote might add 0.01 to a trust for a given person in a given context, and every downvote would subtract as much. This way we would organically adjust our filter bubble based on the content we consume discovering new content curators as we go along.

Technical aspects


From a technical perspective, things might be a bit complicated. The biggest challenge I would see for a system like that being deployed on a distributed network with proper cryptography to run everything on would be the overhead. While a simple system would just tally a score for every submission and update it every now and then when new votes come in, here every vote would have to be registered and parsed separately. Seeing how Reddit can have ~30 million votes per month (over 10 votes per second) and 230 million unique visitors, that can mean a lot of data to synchronize. A lot of it could be broken down based on the context - if you're not interested in Bitcoin, you don't have to synchronize the Bitcoin sub-branch, etc.

Probably implementing something like segregated witness could strip a lot of data that could be later pruned off, making the overhead a lot smaller.

One would also need to address the issue of bootstrapping new users onto the system - if only people that someone trusts would have their content viewed, it might mean a lot less content is posted in general. It could be solved for example by proof-of-burn - anyone joining the website could burn some small amount of money (or donate it to the network creators) to gain a bit of reputation from the generic account everyone would trust by default. This would allow users to start growing trust in themselves.

All in all, the concept might look a bit like Synereo, although a bit less focused on absolute reputation scores and tokenization:


Conclusions


The current social media can be heavily controlled and censored by a few individuals. Discourse on Reddit is further hampered by vote manipulation and spam. It might be possible to change how we discover content through the use of public Web of Trust and a decentralized network to submit the content through.

Senin, 14 Maret 2016

On /r/Bitcoin moderation - three years in review

In the past few months the moderation of /r/Bitcoin has become a contentious issue. Ever since the ban on discussion of alt-clients like BitcoinXT, the community seems to have fractured into a  few camps, sometimes vilifying one another. I was asked to clarify where I stand on this and a few other issues, so I might as well roll a few /r/Bitcoin-related topics into a blog post for future reference.

The XT censorship


As many /r/Bitcoin moderators might tell you, the decision to censor BitcoinXT was made solely by Theymos. Along with justification as to why this would happen, the message was pretty clear:

"[...] I currently intend to remove all XT submissions single-handedly if necessary, and to remove any moderator who undoes my actions, even if all other /r/Bitcoin moderators disagree."

Some moderators decided to quit out of principle, others found out later that Theymos wasn't kidding with the threat of removals.

So, the big question a few people have asked me - what is my stance on the matter?

My stance


I had a few phases of thinking as I learned more and more about XT. In my initial reaction - I was against the censorship of BitcoinXT - it was a project by a respected Bitcoin developer and it was proposing changes that needed to happen.

After debating it with Theymos and learning his point of view - I agreed with his logic that XT could be considered an altcoin that branches off of Bitcoin and that in future we could have similar forks by less reputable developers that change other contentious parts of Bitcoin - coin limit, redlisting, etc. However, that still wasn't the full story.

I've reached my final conclusions after discussing the topic with the community and learning that BitcoinXT would only fork when it is in the super-majority and becomes the de-facto Bitcoin network. For me, that was a good enough reason to not consider XT and similar clients altcoins - they don't just fork in a "revolution" and create their own network at a whim, but instead they take a reformist approach of winning the network over in a more "evolutionary" approach.

So in the end, my stance is - a client that attempts to introduce a hard fork into Bitcoin through super majority should be on topic for /r/Bitcoin.

As such, I have never removed any such topic or discussion, and I am participating in both the /r/Bitcoin subreddit, as well as the alternatives of /r/bitcoin_uncensored and /r/btc .

Unfortunately, even if I'm in favour of allowing discussion of BitcoinXT and similar clients, this decision is not in my hands. Which leads to another question - why don't I resign in protest?

Protesting


Some people have suggested that I and other moderators should resign in protest against the censorship rules. I personally disagree with this logic on the following basis - if you resign, you are showing that you don't support a given decision, but once you're out, you've basically done everything you could in the matter. You will get replaced by another mod sooner or later, and the capacity of a subreddit to function will be restored. The only difference you will make is to remove the voice of opposition from the pool of moderators, hurting your position in the long run.

So my approach is to remain a /r/Bitcoin moderator, continue moderating it like I was doing up until now, stick to my conviction of not censoring the discussion of BitcoinXT and similar clients, and voice my disagreement with the policy as appropriate in the future.

It might not be as glamorous as taking an umbrage, throwing a tantrum and leaving the moderation team as some would prefer, but this is the approach I prefer.

"Lets not moderate anything" - a day in life of a moderator


Every now and then, some people propose that we shouldn't moderate any discussion on /r/Bitcoin or similar subreddits. While the idea might be in-line with the semi-anarchist nature of Bitcoin, it doesn't really work. This is what moderation has to deal on a daily basis:


Sometimes, the spam is more organized - there are some communities that use Reddit for promoting their coin of choice. Over at /r/CryptoCurrency for example, we had to start limiting Reddcoin spam because the astroturfing was getting out of hand.

Some of the spam moderation can be automated - we have a fairly extensive automoderator script running on /r/Bitcoin that takes care of a lot of bad submissions for us.

When we're not dealing with spam, we're dealing with trolls. Some people would see this as more of censorship, but the truth is - too many trolls can spoil the community and drive away the good people you want to have around. A few years back I had a conversation with one of the "Bitcoin celebrities", and he told me that he doesn't post in /r/Bitcoin any more because of a number of trolls dogging him each time he posts. Trolls can also derail conversations and generally make the comment section a place you don't really want to venture into.

Initially /r/Bitcoin didn't ban anyone - Theymos was against it years back since the same trolls can come back again and again under new usernames. However, after getting a lot of complaints about a single, prolific troll, we started banning the trolls. The guy in question went through a lot of different usernames, got banned reddit-wide and even had to resort to switching IPs to avoid IP bans. While as it turns out - we didn't manage to drive him off completely (he resurfaced in some comment section a year or two after we started banning him to have a small chat), we did manage to make him lose interest in trolling every thread on the subreddit.

The last activity that takes up a bulk of moderation is answering to people complaining. Some rightfully so when their submission gets caught in some spam filter when it shouldn't, some less so when they decide to tell us that we can go and die since we won't be able to ban all of their accounts.

The remaining 1% of time of being a mod is where everything else happens - discussing rules, answering some questions, etc.

All in all, moderation is a pretty boring, thankless job.

A comic on Reddit moderation

Bitcoin memes and my biggest mistake


Now that we've talked about /r/Bitcoin censorship and how moderation works, let's talk about memes. Reddit and memes seem to go together hand in hand. However, this doesn't always work for every situation. If you want to have a subreddit focused on having serious discussions, memes can have a detrimental effect.

Checking out a photo or reading some short, witty meme can take a few seconds, after which a user would be able to vote confidently whether something is good or not. Page-long thought-provoking discussion about the meaning of live, the universe and everything on the other hand can take minutes to read before someone can say whether they consider the submission good or not. Because of this, memes get more upvotes faster, meaning they bubble up to the front of Reddit, getting even more exposure and votes, drowning bigger posts in their wake.

Worse than that, people then turn around and proclaim "memes seem to get a lot of upvotes, which must mean this is what the subreddit wants!". This can create a further self-fulfilling prophecy. The argument also ties to the above mentioned notion that we should just use votes to decide what should be posted on a given subreddit. Here is a comic explaining this.

This is why some communities choose to ban memes altogether - moderation and removing submission is not about what gets the most / least votes, it's about what fits the given subreddit. How does this fit in to /r/Bitcoin?

Bitcoin memes


Bitcoin and memes have a complicated relation. Some people believe that Bitcoin should be all about serious business and memes have no place in /r/Bitcoin. Others embrace the internet culture and the light-hearted nature of Bitcoin that has been around ever since the Alpaca Socks (heck, a meme is the origin of Dogecoin). As far as anyone can tell, the community is pretty evenly divided on this issue - none of the sides are in a decisive majority. So while we have a meme-centric Bitcoin subreddit, /r/Bitcoin is also welcoming of the memes and silly photos.

Most of the time, the subreddit is fairly balanced and you don't have a flood of memes. This, however, changes every now and then....

Price memes


Bitcoin price meme, circa late 2013

When the Bitcoin price swings rapidly, the Bitcoin subreddit tends to fill with numerous posts of either elation or woe. There are numerous posts shouting out the newest price (usually 5-10 of very similar posts at a time). Understandably enough, there were a lot of people that didn't like when this happened and called for ban on memes. One such person, with his post on 2013-12-07 was /u/ShakeThatBass .

For those that haven't been around /r/Bitcoin in 2013, that username might not mean much. ShakeThatBass was an anonymous early Bitcoiner that organized one of the biggest Bitcoin givaways in history, giving away 350BTC (worth at the time $7000) through Bitcointip to people that donated to various charities. The giveaway was held on 2013-03-04 on /r/Bitcoin. This act of generosity has earned him a lot of respect from a lot of people, myself included.

Back to price memes. So having read his highly-upvoted post 11 days prior, on 2013-12-18, when the "news" of China cracking down on Bitcoin was swung he price plummeting down to about $500 from the high of $1100 just two weeks prior, a number of Bitcoin price memes started to surface again. Then, I made a decision that I still consider my biggest mistake in my /r/Bitcoin moderating career - I issued a temporary ban on memes and price posts that lasted for about a day.

The decision came only from myself (no other mods were consulted), driven by the will of the community. When the dust settled and everything got calmer, I learned an important lesson in moderation and added another rule for myself to follow - don't make big decisions single-handedly. Everyone makes mistakes and at the heat of the moment a decision might seem justified, but other peoples may disagree. This is why when it comes to important moderation decisions I consult with other mods to hear their opinion and see if they agree - now even if I'm the second most senior mod I wouldn't do such things again without another mod's backing. While not necessary for the mundane mod chores like approving / removing submissions or banning obvious trolls, it is useful for the big decisions.

Moderation consistency


The last rule I follow is moderation consistency. /r/Bitcoin is currently moderated by 10 people and one bot. Everyone can have their opinion on various matters, but at the end of the day we have to act consistently to avoid moderation wars:

Months of moderation wars for Tonal Bitcoin discussion page between Luke-JR and Aleš Janda.

To avoid such petty squabbles, moderators should first discuss a contentious issue and then apply the consensus in practice (or at least, become a conscientious objector, rather than engaging in mod wars), even if they hold an opposing view. Whether it comes to banning trolls, removing spammy websites or the like, consistency is important.

Conclusions


Being a subreddit moderator is a thankless job. It takes a lot of work to remove spam and trolls. Sometimes we make important moderation decisions, and sometimes we make mistakes in our judgement like everyone else.

Overall, my personal moderation stance is as follows:


  • Moderation is essential for combating spam and trolls, as well as keeping the subreddit on-topic
  • Moderation consistency is very important and mod wars should be avoided
  • Important decisions on moderation and the direction of a subreddit should be made by at least two moderators, or a consensus for really big decisions
  • I disagree with the ban on BitcoinXT and similar clients, but for moderation consistency, I remain a conscientious objector
  • I don't believe in leaving a moderation team over a disagreement on moderation policy as it can remove the voice of opposition from the future discussions
  • Everyone makes mistakes, admitting to them is not the end of the world


I hope this covers some of the questions people might've had over the last three years of me being a /r/Bitcoin moderator and gives something for other cryptocurrency subreddit moderators to think about.

Kamis, 19 November 2015

21 Bitcoin Computer - the Macintosh of Bitcoin

It looks like the 21 Bitcoin Computer has began shipping recently for $400 apiece. Moreover, we also got a few extra bits of information from the 21.co website about some features and solutions of the machine and the ecosystem in general. Since guessing the business model of 21 Inc seems to be everyone's favourite activity for about half a year now, lets not waste any more time and dig right in.

The hardware


First of all, we've got some photos of the actual machine. The packaging looks good, the mining component of the device looks sleek and elegant, while the actual computer is a standard Raspberry Pi 2 (according to the FAQ). Strange it doesn't come in a case, especially given that even their setup steps seem to be aware that this might cause some problems:



The 21 Computer's mining chip appears to have the following specs:

  • 0.16 Joules per Gigahash
  • 50 Gigahashes per second
At the moment there don't appear to be any upgrade / swap options for the machine.

This seems to put it in the same category as Antminer U3 Batch 2 - currently selling for $20 and clocking in at 63GH/s. The energy efficiency is rather odd - comparing it to existing solutions, it would be at roughly 6250 MHash/J, while the top performer, AntMiner S7 performs at 4000 MHash/J. This would seem to suggest the chip is underclocked to be more efficient.

This is a little ironic coming from a company that wants to put mining chips into mobile devices - if you're worried about the power efficiency of a device that runs straight from a power adapter, and yet you want to include extra power hungry hardware in devices that run off battery power...

At any rate, this puts the value of the whole package at under $100 (with the Rapsberry Pi 2 along with all the extras selling for about $70 at the moment). But, the hardware isn't everything, so lets look at what else we get with the 21 Computer.

The Software


It looks like the 21Inc's software is quite packed with features. The CLI looks exhaustive, you can run a full Bitcoin node, you have your wallet, etc. We have some reports of people running things like the Open Bazaar project on the device just fine.

All in all, it looks like the software is the meat of the package. I've seen a number of people being interested in the software component more so than the whole package itself. Luckily, it seems that one can get the whole open source software without having to buy the 21 Computer:

> curl https://install.21.co/bitcoin-computer/install.sh | sudo bash

Beyond that, I personally don't have much else to say about the software in general. It looks to be delivering on what it's promising in one neat package.

The Rest


Beyond the hardware and software, it looks like (at least for now during the launch week) 21Inc has some responsive consumer service, which is great to know. If some people get into Bitcoin because of this computer, this can be a very valuable service to make sure they stay interested in the service.

The 21 website has a few interesting tutorials on what could be done with the software. Moreover, with the $200 tutorial bounty, we can expect to see more articles popping up over time.

Beyond that, we come into some more interesting nuggets of what could either be something really insignificant in the future, or perhaps will end up as a starting point for something more insidious...

The Quirky


Wallets

It seemed that from the very beginning, 21Inc was aiming to sell everyone on the idea of combining Bitcoin mining with Internet of Things. However, as I discussed almost half a year ago exactly, this makes no economic sense whatsoever. Mining dust wouldn't even cover for the transaction fees, much less amount to anything useful.

However, in their tutorial on micropayments, we can see that probably the encouraged method of transferring money between individuals won't be the Bitcoin network itself, but the so called "BitTransfers", which looks like a fancy way of saying "shared ewallet transfers". In other words, 21Inc is building itself up to be something like CoinBase for the IoT world - settling peer-to-peer transactions using its centralized database.

Mining

Now, to load the wallet, one would of course mine the coins using the 21 Computer. Even in this area could be spruced up with some marketing talk, as we go into the mining tutorial and "buffered pool mining". 

We start with a time lesson talking about transitioning between CPU mining into pool mining when one couldn't realistically mine a block by themselves. Pooled mining allowed one to reduce the reward variance (without the pool, you either got a whole block and 50BTC, or no block and no reward, while pooled mining allowed you to get a fraction of the reward, but at a more regular pace). 

Afterwards, we seem to get a vision of what 21Inc wants to sell as the vision for its computers - "redecentralizing Bitcoin" by the use of "millions of mining chips worldwide each generate a small stream of bitcoin" as they believe the ASIC chip development will start following the Moore's law in the near future.

However, since the default way (and possibly the only way without modifying the software) to mine on the 21 Computer is to connect to the 21Inc's pool and receive the dust rewards in your 21 shared ewallet, it's not really a decentralization of mining as it is adding another central server to the equation.

Perhaps if we would instead see P2Pool on the device we could call it an effort in the right direction, but then you wouldn't be able to solve the mining variance problem very well, nor would you lock people into your walled garden of an ecosystem.

In the next section we get another new buzzword - "Buffered Pool Mining". You see, 21Inc believes that if you're mining in a pool, you will have to wait:
  • For the pool to mine a block before you get paid
  • To mine enough coins to reach the minimum withdrawal threshold
  • For the block to mature over 100 confirmations before you can get paid
  • To earn bitcoins before you can spend them again if you run out

Instead, 21Inc essentially combines its shared ewallet with the circa 2011 BitPenny's idea of Pay-per-share. As described in the Bitcoin Wiki:

The Pay-per-Share (PPS) approach, first described by BitPenny, is to offer an instant flat payout for each share that is solved. The payout is offered from the pool's existing balance and can therefore be withdrawn immediately, without waiting for a block to be solved or confirmed. The possibility of cheating the miners by the pool operator and by timing attacks is thus completely eliminated. 
This method results in the least possible variance for miners while transferring all risk to the pool operator. The resulting possibility of loss for the server is offset by setting a payout lower than the full expected value.

I wonder how hardened is the 21 mining pool against what an attacker with a state-of-the-art mining rig could throw at it...

But we also get one more interesting feature, which is essentially Bitcoin, lets say, nanolending:

Finally, you do not need to send N hashes to the server before getting N hashes worth of mined bitcoin. That is, by invoking 21 mine your 21 Bitcoin Computer can receive bitcoin in advance of future mining at the expense of a small asymptotic slowdown in the rate of bitcoin streamed to your device.

Which considering the price tag of the machine is still rather amusing.

We conclude the tutorial with:

The basic idea is that buffered pool mining is a new way of getting bitcoin: not by buying huge quantities slowly for investment purposes on an exchange, but by mining tiny quantities rapidly for programming purposes at the command line, rate-limited by a mining chip.

I guess someone forgot the middle-ground of being able to buy a small amount of BTC, for example by phone, getting small amounts of coins for free (through facets or by signing up to various wallets), or if you're really a developer, using TestNet Bitcoins.

Anything else?


As someone that frequents the Bitcoin-related subreddits, I noticed a large amount of submissions about the device recently. That's to be expected when a new, big product launches and everyone gets their hands on it. However, some of the submissions and discussion appears to be somewhat astroturfed. Submissions titled "Whoa" that aren't some Shiba Inu memes generally don't do very well on a crypto subreddit. Cynical quips usually stick better, you rarely see people talking in bold (1, 2), and hardware is rarely inspirationally compared to some major milestones in commercial computing. Even the self-post appear a bit defensive (1, 2). My money would be on at least some of the sentiment being not entirely as grassroots as it might appear in the first place...

Conclusions


Coming back to the title of my post - 21 Bitcoin Computer to me looks like a Macintosh Computer for Bitcoin - an overpriced, underpowered piece of hardware coupled with some decent software. It appears to be building the roots of a walled garden of closed-loop wallets and related ecosystems. If you're a developer, you can do better, both in terms of mining performance, computing speed and price for a throwaway machine for testing. Their software and related articles appear to be the main piece of value added.

For $400, even for a "dev kit" as it's sometimes advertised, I would still rather buy some BTC (by "buying huge quantities slowly for investment purposes on an exchange" - which would still be a smaller investment than the machine) instead of committing to mining. But perhaps it's like some random comment said on Reddit - "the investment will get you to commit to using it".

Related discussions: