:: Re: [DNG] trollproof spec
Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Jonathan Wilkes
Ημερομηνία:  
Προς: dng
Αντικείμενο: Re: [DNG] trollproof spec
On 09/03/2015 07:40 AM, Jaromil wrote:
> dear Jonathan,
>
> On Thu, 03 Sep 2015, Jonathan Wilkes wrote:
>
>>     I have a spec for "trollproofs" which might help with moderation.  Instead
>>     of the moderator having a binary choice between "block" or "pass", he/she
>>     can just choose a difficulty level for a particular topic which the
>>     community adheres to in order to encourage good faith.
> What you sketch exists already even before Bitcoin, is called Hashcash
> and I have good reasons to think Satoshi Nakamoto knew it.  We did run
> that on dyne/freaknet server back than as an experiment, pity it didn't
> took off instead of the lame and centralized DKIM thing nowadays
> everyone uses.

>
> However I doubt hashcash can be regarded as something to defend from
> trolls. After all, trolling is a art...


This uses Hashcash at its core, sure. But where Hashcash tries to
be unobtrusive, trollproof is direct and ugly. The point isn't to expend
as little energy as possible to keep email operational-- rather it's to
generate as much POW as possible so that the trolls decide not to
climb up to your level. (Conversely, if you are a troll you can use it
to prove you're a pyschopath and not just someone wasting time
on a lunchbreak at the office.)

Here's a prototype to play with:

--- Begin TP Message ---
#!/bin/bash
# Here's a quick quine-like implementation of a trollproof message.
# Do a sha256sum of this message and you'll see five zeros at the
# beginning of the hash. Run this program on your computer yourself to
# get a sense of how long that takes.
#
# Unlike Hashcash, the idea is to use trollproofs within the social layer
# of the application. You can force your own provable waiting
# period before sending a testy email. Or you can prove to the rest of the
# list that you own a botnet. The sky's the limit.
#
# For the purposes of this list, I'd suggest using it to wrap your messages
# when systemd-related thread flames up. If none of the other apparently
# impassioned participants are willing to burn cpu cycles in solidarity with
# you then congratulations! You have proof of trolls.
#
# But beware-- if others are willing to play along it means you'll actually
# have to _read_ and _consider_ the responses from people who may think
# differently than you do. This will undoubtedly result in undefined 
behavior.
#
# Best,
# Jonathan
#
echo "Building a TP Message... please be patient..."
FILE=$(<"$0"); DATE=`date`
HEAD=`printf "%s\n%s" "--- Begin TP Message ---" "$FILE"`
HEAD+=`printf "\n%s\n%s" "--- Begin TP Work ---" "$DATE"`
FOOT=`printf "%s\n%s" "--- End TP Work ---" "--- End TP Message ---"`
POW=0; HASH=""; I=0
while [ "$POW" -eq "0" ]; do
     HASH=`printf "%s\n%s\n%s\n" "$HEAD" "$I" "$FOOT" | sha256sum`
     if [ "${HASH:0:5}" = "00000" ]; then
         let POW=1
     else
         let I=I+1
     fi
done
echo "$HEAD"; echo "$I"; echo "$FOOT"
--- Begin TP Work ---
Sun Sep  6 00:35:42 EDT 2015
475976
--- End TP Work ---
--- End TP Message ---