Upload
sharleen-dalton
View
220
Download
4
Tags:
Embed Size (px)
Citation preview
Altruistic Economics
A presentation by Robin Upton, 2005-11-23,for Dhaka University Computer Science Dept.
Updated for 26C3 Here Be Dragons, 2009-12-30Latest version at www.altruists.org/ae404
Attribution – NonCommercial - ShareAlike
Beyond Money
www.altruists.org
AE404: Constructing an Internet Gift
Economy
V2.1
2 User Interface
Beyond Money
1. ing for someone to help.
2. Paying them without .
3. Finding work the same way.
If you need help, imagine…
3 Ask Your Friends
User Interface
Make your requestCategory:
.
Amount:
Location:BD
ADVANCED OPTIONS:
Dhaka
Farmgate
Country:
City:
Region:
Number:
2kg .
Weight:
Requests
Angela Robinson, +550h –175h, Rating= 70h I make a lot of fruit pies. Best quality cooking apples, please …
Md. Ali Khan, +120h –40h, Rate= 10hI will need about 15kg of apples for my brother’s wedding. He loves apples…
!!
Graham Upton, +3h –2h, Rate= 20hI just can’t get my Wireless LAN working properly. It keeps cutting out, just …
Offers
Robin Upton, +160h –45h, Rate= -0.2Apples, Gardening Advice, Carpentry, Bengali Lessons, Computers…
Md. Anwar, +14h –3h, Rate= -0.2Motorbike repair, Shop Management, Psychology, Apples …
Jamil Aman, +60h –15h, Rate= -0.35Computer programming, Apples, Fresh Olives, Internet Advice, Fertilizers …
Science/Agriculture/Horticulture/Fruits/Apples
4Ask Around
Request
Ask Your friends
Can you give me 2kg of Apples?
Sure.
5Say “Thank You”
Ask Around
Request
= Ask your friends… to ask their friends...
Request
Request
RequestRequest
Request
Request
Request
Request
to ask their friends...
Computers make this much easier…
to ask their friends...
Request
Request
Request
6Digital Identity
State what happened, digitally.
Say “Thank You!”
PublishOnline
PublishOnline
“I gave . 10 apples.”
“ gave me $5 worth of apples.”
7New Architecture
Digital Identity
PublishOnline
PublishOnline
“I gave . 10 apples.”
“ gave me $5 worth of apples.”
1. People need personal servers.
2. They must be networked.
8
New Architecture
Links are from Friend to Friend
Individuals are connected to one another…
but it’s not P2P!
9
Links are from Friend to Friend
. F2F Server Network
F2F is superior to P2P,
because of the real world trust!
www.altruists.org/ff
10
F2F: Friend2Friend Server Network
F2F: Personal Data Server
1. Stores Data
2. Manages Cryptography
3. Native Wit
Overly Complex...?
11
User Machine
Data Storage on WWW
Every users’ data
www.example2.com
Every users’ data
www.example1.com
Websites need databases of all users’ data
F2F: Control Your Own Data
Enter your data
Cookie
Cookie
Data owners prove their identity to data users,
e.g. with certificates, passwords, cookies...
12
User Machine
F2F : Control Your Own Data
Data users prove their identity to the data owners
f2f.example2.me
f2f.example.me
Public Key
Public Key
Private Key
Private Key
Unique set of personal data
F2F: Personal Data Server
Data please...?
Data please...?
13
f2f.RobinUpton.com
/f2f
/f2f /users
/f2f/users/jim
/f2f /lib
/f2f /lib /demo
/f2f /users /
tom /f2f
/lib /etc
/f2f /users /jim
F2F : Personal Data Server
f2f.gifteconomy.org
Can you store data for me! Here’s the data, only share
it with *.altruists.org and tell me if he asks for it
f2f.altruists.org
Can I see all your data from 3rd party sites,
please?
Arbitrarily complex behaviour...?
F2F: Native Wit...?
Maybe
OK.
OK.
Needs a programming language!
*.altruists.org just asked for that data You’ve used up your
quota. Send it tomorrow.
One example conversation between personal data
servers might be as follows...
14
F2F : Native Wit?... XML-VM
Quick XML-VM Overview
F2F servers are XML virtual machines.
<message>...
<fatal-error> <message>...
Input, output & all internal workings are
exposed as XML.
For simplicity and flexibility, use XML as the native Data Type.
15
F2F : Quick XML-VM Overview
Interpreting Requests
The system has a modular structure of soft nodes which are separate environments.
f2f.RobinUpton.com
/f2f
/f2f/users
/f2f/users/jim
/f2f/lib
/f2f/lib/demo
/f2f/users/tom /f2f/lib/etc
/f2f/users/jim
16
F2F : <message> Bubbling
Interpreting Requests
/f2f
/f2f/guests
/f2f /guests
/jim
/f2f/lib
/f2f /lib /demo
/f2f /guests
/tom
/f2f /lib /etc
/f2f /guests /jim
/etc<to node=“/f2f/lib/etc” thread=”5” request=”3”/>
<from node=“/f2f/guests/jim/etc” thread=”2” request=”6”/>
thread 5
request 3
They are interpreted on arrival at their
destination.
F2F : Interpreting XML Requests
. Hello World Service
F2F server instructions are XML elements:
<f2f:servicereq function=“some URI”/>
Semantic Web style agreement by consensus on the meaning of this
F2F : Hello World Service
. Processing Service Requests
We start by requesting the service:
<servicereq function=“http://friend2friend.net/modules/demo/hello-world”/>
So this is implemented by the XSL template at hello.xslt
<service rdf:about=“http://friend2friend.net/modules/demo/hello-world” src= “hello.xslt”/>
The F2F server finds the matching service definition:
Unique identifier
Location on disk
XML Stylesheet Language Transformations v1.0
... is a 1999 W3C recommendation!
... is a programming language expressed in XML.
... transforms one XML document into another:
... ‘side-effect free’, so cannot write files/send messages etc.
http://www.w3.org/TR/xslt
Passing Arguments
The XSL transforms it to an Output Document:
The <servicereq> itself isthe script’s Input Document:
<?xml version="1.0"?>
<!-- -->
<!-- HELLO-WORLD: --!>
<!-- No arguments. Just prints "Hello World", ->
<!-- -->
<stylesheet version="1.0"
xmlns:f2f="http://friend2friend.net/"
xmlns="http://www.w3.org/1999/XSL/Transform" >
<template match="/f2f:servicereq[@function=
'http://friend2friend.net/modules/demo/hello-
world']">Hello World!</template>
</stylesheet>
F2F : Processing Service Requests
<servicereq function=“http://friend2 friend.net/modules/demo/hello-world”>
Hello World!
F2F : Passing Arguments
Nested Servicereqs
Functions usually declare a comma separated list of input parameters:
function browse($uri, $width, $height){ ...instructions here, in which $uri , $width and $height are
replaced at run time by the values of the arguments given...}
browse(“http://friend2friend.net”, 130, 500)
<servicereq function=”http://f2f.name/browse”> <uri>http://friend2friend.net</uri> <width>130</width> <height>500<height> </servicereq>
<?xml version="1.0"?>
<!-- BROWSE -->
<!-- Transform here,
which operates on the
whole XML document --!>
F2F passes an XML document:
F2F : Nesting Service Requests
. Processing Directives
browse(“http://friend2friend.net”, getwidth(), getheight())
Evaluation is usually from inside out:
<servicereq function=”http://f2f.name/browse”> <uri>http://friend2friend.net</uri> <width><servicereq function=”http://f2f.name/get-width”/></width> <height><servicereq function=”http://f2f.name/get-height”/><height> </servicereq>
130 500
<height>500</height><width>130</width>
<?xml version="1.0"?>
<!-- GET-WIDTH -->
<!-- Transform here,
which gets the
width.
--!>
<?xml version="1.0"?>
<!-- GET-HEIGHT -->
<!-- Transform here,
which gets the
height.
--!>
<?xml version="1.0"?>
<!-- BROWSE -->
<!-- Transform here,
which operates
on the whole
XML document
--!>
By default, F2F starts with the deepest <servicereq>:
Tree-shaped Pipelines
Nested <servicereq>
items results in pipelining XML:
F2F : Nested Requests -> XML Pipelines
The interior <servicereq> outputs XML...
...which is fed into the exterior <servicereq>
<servicereq function=”ex.2”><servicereq function=”ex.1”>
<input>...</input></servicereq>
</servicereq>
XSLex.1
XSLex.2
XML pipelining is feeding output from one transform into another:
Core Services
The <servicereq> model allows trees of transforms:
F2F : Tree-shaped XML Pipelines
XSL
2B
XSL
3
<servicereq function=”3”><input3a/><servicereq function=”2A”>
<input2a1/><servicereq function=”1A”>
<input1a/></servicereq><input2a2/><servicereq function=”1B”>
<input1b/></servicereq>
</servicereq><input3b/><servicereq function=”2B”>
<input2b></servicereq><input3c/>
</servicereq>
3b
3a
XSL
2A
3c
2b
XSL
1A
XSL
1B
1a
2a2
2a1
1b
Internet Gift Economy
About 100 hardcoded (non-XSLT) services extend the possibilities:
F2F : Core Services
Send/Receive <message> http://friend2friend.net/services/send
http://friend2friend.net/services/receive
Read/Write XML datahttp://friend2friend.net/services/xml-write
http://friend2friend.net/services/xml-read When will Bush get convict
Read/Write the F2F Server http://friend2friend.net/services/access-get
http://friend2friend.net/services/access-set
Read/Write Files to diskhttp://friend2friend.net/services/fs-read
http://friend2friend.net/services/fs-write
26
Internet Gift Economy
. Altruistic Economics
...Insert Dark Nets to Taste...
AE : Altruistic Economics
ME : Meta-Evaluation
GE : Gift Economy
Internet
Main project stack:
Moving Data
Defining Data
Processing Data
Presenting Data
F2F: Friend2Friend Processing Data
“Classic economic theory,
based as it is on an inadequate theory of
human motivation, could be revolutionized by
accepting the reality of higher human needs,
including the impulse to self actualization and
the love for the highest values.”
Abraham Maslow
28
AE: Altruistic Economics
. AE: Distributed Accounting
Declare Sympathy for your friends.
They declare it for theirs, and so on…
Unselfish alternative to self-maximising!
*almost
www.altruists.org/ae
Everyone* is joined in a network of care.
Telephone Dilemma
. Sympathy
Would you call back if your friend asked?
...Your wife?...Your Mum?
Mobile Landline = €0.07/minuteLandline Mobile = €0.03/minute
Someone rings your mobile,
and requests you to call back to save money.
AE: Sympathy
Quantifying Sympathy
You would give up your own profit . to save a friend’s loss.
www.altruists.org/355
FriendYou sympathy
You have sympathy iff…
AE: Quantifying Sympathy
Friend of a Friend ?
0 13/7
Call BackDon’t Call
Sympathy:
Indifference value of s = €0.03 / €0.07
32
AE: Friends of Friends...
AE: Measuring Value
AE analyses the overall ties of Sympathy:
Conflation: A B C A C
Combination: A C A C
Records are held across the network.
www.altruists.org/ae3
AE: Self-Evaluation
AE Measuring Value
In currencies of their choice.
Unhappier Happier
- +0
Users evaluate their own interactions
34
AE: Measuring Value
AE: Independent Evaluations
Use other people’s currencies:
To define a currency, publish some RDF.
Personal Time
and/or your own currencies:
www.altruists.org/ae7
Centralised Money
35
AE: Independent Evaluations
AE: Non-Zero Sum
A Multi-dimensional evaluation:-
www.altruists.org/ae106
Good for Both
Bad for Both
+
+
-
-
(+10 mins, -2 mins)
Saved me 10 mins
Cost me 2 mins
36
AE: Non Zero Sum!
ME: Meta-Evaluation
Traditional prices must be on this line
www.altruists.org/ae106
Good for Both
Bad for Both
+
+
-
-
X+Y=0
Zero Sum
37
ME : Meta-Evaluation
ME: Evolution of Meta-Evaluation
... to make a few summary statistics.
F2F Services :Littl
e
Data
for
GE
Lot
of
AE
Data
http://.../total-given
http://.../total-received
http://.../reliability
...
Process a mass of AE data...
01010110101001010011181010110102000110110101010110111010101011010111010110010010101011001101110110101001010111014101100101011001010011101011010110101110101010111010110101
#0s = 83#1s = 90#2s = 1
#4s = 1#8s = 1
User behaviour & meta-evaluations co-evolve at a rate proportionate to dissatisfaction…
Increasing diversity should help resist exploitation
ME/GE: Open Standards
Users Update
Meta-evaluations
Weakness discovered
Improved Meta-
Evaluations
Plain Vanilla
Dissatisfied Users
ME : Evolution of Meta-Evaluation
39
ME/GE : Open Standards…
GE: Web Style Interface
Hooks for later developers...Unique Data
Standard
Choice of Pre-processing
AE Data
Meta-Evaluation...
Others will arise …
Choice of Presentation
GiftEconomy...
Others will arise …Hyperlinks
...Other
40
GE : Web Style Interface
GE: Relationship Credit
GE Presentation layer
ME
Data
#0s = 83#1s = 90#2s = 1
#4s = 1#8s = 1
Webstyle Pages
(Locally created from local data)
. www.GiftEconomy.org
GE : Relationship Credit
Each relationship starts at (0,0)
My Time /h
Friend’s Time /h
My sympathy
for my friend
My friend’s sympathy
for me
Win-Win
quadrant
How to present this information to users?...
Graph successive
interactions?
42
GE : www.Gift Economy.org
www.altruists.org/ge
Category:
.
Amount:
Location:BD
ADVANCED OPTIONS:
Dhaka
Farmgate
Country:
City:
Region:
Number:
2kg .
Weight:
Requests
Angela Robinson, +550h –175h, Rating= 70h I make a lot of fruit pies. Best quality cooking apples, please …
Md. Ali Khan, +120h –40h, Rate= 10hI will need about 15kg of apples for my brother’s wedding. He loves apples…
!!
Graham Upton, +3h –2h, Rate= 20hI just can’t get my Wireless LAN working properly. It keeps cutting out, just …
Offers
Robin Upton, +160h –45h, Rate= -0.2Apples, Gardening Advice, Carpentry, Bengali Lessons, Computers…
Md. Anwar, +14h –3h, Rate= -0.2Motorbike repair, Shop Management, Psychology, Apples …
Jamil Aman, +60h –15h, Rate= -0.35Computer programming, Apples, Fresh Olives, Internet Advice, Fertilizers …
Science/Agriculture/Horticulture/Fruits/Apples
If people volunteered for one another more, earned income and hence tax income would decline.
43 GE: Weakening Grip of Finance
Governments
Central Banks
Financial Sector
BusinessesAgencies, Non-Profits,
An inversion of centralised money...
GE : Citizens issue credit
44. F2F: Referendum Module?
GE : ...Weakening Grip of Finance
Central Banks
Financial Sector
BusinessesAgencies, Non-Profits,
Banks are not needed!
Issue of Money (CONTROL)
Organisations rely on
people!
45
BusinessesAgencies, Non-Profits,
Government
F2F : Referendum Module?
... could gradually replace government function?