Enforcing Honest Behavior in Agent ... William Robert Schneider by

advertisement
Enforcing Honest Behavior in Agent Economies
by
William Robert Schneider
Submitted to the Department of Electrical Engineering and Computer Science
in partial fulfillment of the requirements for the degrees of
Master of Engineering in Electrical Engineering and Computer Science
and
Bachelor of Science in Computer Science and Engineering
at the
MASSACHUSETTS INSTITUTE OF TECHNOLOGY
May 1999
@ William Robert Schneier, MCMXCIX. All rights reserved.
The author hereby grants to MIT permission to reproduce and distribute publicly
paper and electronic copies of this thesis and to grant others the right to do so.
MASSACHUSETTS INSTITUTE
OF TECHNOLOGY
Author'-.I,.
u
...
.
...-
L.
.:.........
Department of Electrical Engineering and Comppt
ci
May 7, 1999
Certified by.........
..
............
...
...................
Jeffrey 0. Kephart
Manager, Agents and Emergent Phenomena, IBM Research
Thesis Supervisor
C ertified by ................
..................
.
................
Barbara Liskov
Ford Professor of Engineering
.1
Accepted by.......
..
Thesis Supervisor
............
.....................
Arthur C. Smith
Chairman, Department Committee on Graduate Theses
Enforcing Honest Behavior in Agent Economies
by
William Robert Schneider
Submitted to the Department of Electrical Engineering and Computer Science
on May 7, 1999, in partial fulfillment of the
requirements for the degrees of
Master of Engineering in Electrical Engineering and Computer Science
and
Bachelor of Science in Computer Science and Engineering
Abstract
Given the recent explosion of the Internet, the trade of information goods and services
may become the dominant form of commerce in the future global economy. Software
agents, or semi-autonomous computer programs that run with little or no user input,
may play a significant role in this information economy, perhaps even as direct participants in economic transactions. Such software agents might trade different types
of information commodities with other software agents in return for electronic currency, ultimately to benefit their human user. This thesis addresses several problems
that must be resolved before such an economy of software agents could become a
reality, and offers some potential solutions to these problems. We consider a number
of different electronic payment systems in the context of an agent economy, and then
describe the design and implementation of an electronic payment system in Magenta,
a fully open and extensible multi-agent platform developed at IBM Research. We
discuss a number of different mechanisms that could protect consumers from dishonest merchants, such as reputation, escrow, and certification mechanisms; escrow and
reputation mechanisms are also implemented in Magenta.
Thesis Supervisor: Jeffrey 0. Kephart
Title: Manager, Agents and Emergent Phenomena, IBM Research
Thesis Supervisor: Barbara Liskov
Title: Ford Professor of Engineering
2
Acknowledgments
I would like to thank the following people, who contributed in some way to the
completion of this thesis, or otherwise to my education or experience at MIT:
" Jim Hanson, Dave Levine, Rich Segal, Gary Tesauro, and Steve White, all of
whom read and provided useful comments for this thesis at various stages.
* Amy Greenwald, who helped immensely with my understanding of game theory
and microeconomics, and provided useful feedback on my thesis draft.
" The past and present brothers at Zeta Beta Tau, Xi chapter, who gave me
opportunities to develop my leadership potential and helped me mature into
the man that I am today; and who helped me learn how to loosen up and enjoy
myself more often.
" My parents, Edward and Sheila, whose love and support were essential to the
successful completion of my education, and who helped keep me occupied while
I was near home on my VI-A assignment.
3
Contents
1 Introduction
1.1
9
Guide to Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2 Magenta Architecture
2.1
2.2
2.3
12
14
Related Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.1.1
Computational Markets
15
2.1.2
Agent-Mediated Electronic Commerce
2.1.3
Extensible Agent Architectures
. . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . .
16
. . . . . . . . . . . . . . . . .
17
Magenta Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
2.2.1
Clusters, Domains, and Conversations
. . . . . . . . . . . . .
18
2.2.2
M essages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.2.3
A gents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
2.2.4
Traditional Security Issues . . . . . . . . . . . . . . . . . . . .
20
Sum m ary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3 Payment System Design and Implementation
21
23
3.1
Previous work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.2
Payment System Desiderata . . . . . . . . . . . . . . . . . . . . . . .
24
3.3
B anks
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
3.4
Credit and Debit Cards . . . . . . . . . . . . . . . . . . . . . . . . . .
27
3.5
Direct Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
3.6
Micropayments
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
CyberCoin . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
3.6.1
4
3.7
3.8
3.9
4
3.6.2
IBM Micropayment System
3.6.3
eC ash
3.6.4
MilliCent
. . . . . . . . . . . . . . . . . . .
31
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
Evaluation and Adaptation of Existing Systems . . . . . . . . . . . .
36
3.7.1
37
On-line Clearing vs. Off-line Clearing . . . . . . . . . . . . . .
Payment System Implementation
. . . . . . . . . . . . . . . . . . . .
38
3.8.1
Supported Protocols
. . . . . . . . . . . . . . . . . . . . . . .
38
3.8.2
Bank Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Solutions to the Thousand-Merchants Attack
42
4.1
Required Identity . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.2
Random Clearing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
4.3
Random Clearing with Termination . . . . . . . . . . . . . . . . . . .
47
4.4
Random Clearing with Reputation
. . . . . . . . . . . . . . . . . . .
52
4.5
Game Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
54
4.5.1
58
4.6
Solving the social dilemma . . . . . . . . . . . . . . . . . . . .
Summary
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 Managing Merchant Dishonesty
60
62
5.1
Transaction Order
. . . . . . . . . . . . .
. . . . . .
63
5.2
Certification . . . . . . . . . . . . . . . . .
. . . . . .
63
5.3
Escrow Agents . . . . . . . . . . . . . . . .
. . . . . .
64
5.4
Reputation Agents
. . . . . .
66
5.5
Ramifications of Reputation Usage Modes
. . . . . .
67
5.6
6
41
. . . . . . . . . . . . .
5.5.1
Negative Reputation . . . . . . . .
. . . . . .
67
5.5.2
Positive Reputation . . . . . . . . .
. . . . . .
69
. . . . . . . . . . . . . . . . . .
. . . . . .
70
Summary
Conclusions and Future Work
6.1
72
Future Work and Open Problems ....................
5
73
6.1.1
Reputation Systems
. . . . . . . . . . . . . . . . . . . . . . .
73
6.1.2
Payment Systems . . . . . . . . . . . . . . . . . . . . . . . . .
74
6.1.3
Legal Issues . . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
6
List of Figures
4-1
Average Cost vs. Clearing Frequency . . . . . . . . . . . . . . . . . .
50
4-2
Average cost vs. clearing frequency, for different values of D . . . . .
50
4-3
Average cost vs. clearing frequency, for different values of S
51
4-4
Average cost vs. clearing frequency, for different values of C . . . . ..
51
4-5
Average cost vs. clearing frequency, for different values of C . . . . ..
55
4-6
Average clearing probability of adaptive merchants vs. time
. . . . .
59
4-7
Cumulative system-wide loss for adaptive merchants vs. tax rate . . .
60
7
. . . . .
List of Tables
3.1
Properties of Existing Electronic Payment Mechanisms . . . . . . . .
36
4.1
Experimental cost matrix for random clearing with termination
. . .
57
8
Chapter 1
Introduction
The Internet is going through major changes. What was once a medium for scientists,
academics, and government agencies to exchange information is now the business tool
of the next milennium. Production of Internet content is now a for-profit business,
and "electronic commerce" is a buzzword for the latter half of the decade. People
can now shop and purchase things entirely on-line, without interacting with a single
human on the other end of the transaction.
Software agents take this last idea a step further. Agents are computer programs
that act autonomously on behalf of their owner to meet some goal. These agents can
conduct exchanges with each other, without any human intervention on either side of
the transaction. An agent may have the goal of gathering information from the Internet, filtering it with respect to some programmed quality metric, and returning the
results to its owner. Another agent may have the goal of completing a computation.
Agents can exchange information and computing power by communicating with one
another.
A certain class of agents, known as economic software agents, are imbued with
some notion of "wealth" or "cash". Economic agents can buy and sell goods from
other agents. Agents can buy or sell services as well; for example, certain agents may
sell bandwidth, usage of an algorithm, or storage space. We define an agent economy
to be any number of economic agents, each of which has the capability of engaging
in trade with one another.
9
This thesis explores problems related to fraud and dishonesty that may arise
when an agent economy is an open system, like a human economy or the Internet,
in which anyone can enter the system. Specifically, we consider these problems in
the context of information economies, or agent economies in which the goods and
services traded are entirely electronic, with no physical delivery process. When small
pieces of information are traded, the dollar value associated with each transaction
may be very small; this affects the design of an agent payment system, discussed in
Chapter 3. Also, the lack of physically tangible goods and services influences the kinds
of mechanisms that can be used to prevent fraud and dishonesty; this is discussed
further in Chapter 5.
In open systems, one must not rule out the possibility that actors in the system
are malicious1 [32]. Furthermore, an observer cannot always predict a priorihow an
agent will behave in all situations; thus, it is not always possible to simply deny a
maliciously programmed agent entry into the agent economy.
"Malicious" agents may engage in various types of fraudulent or dishonest behavior. Such behaviors include:
* Counterfeiting: Agent A arbitrarily creates additional currency for itself.
* Payment fraud: Agent A pays for an item using agent B's money.
" Incorrect delivery: Agent A pays agent B for an item X and agent B delivers
item Y
#
X.
" Non-delivery: A special case of incorrect delivery, where Agent A pays agent B
for something and agent B gives nothing in return.
" False advertising: Agent B misleads A into purchasing item X by misrepresenting its value.
'Agents are just computer programs and are neither inherently "honest" nor "dishonest," but
are programmed to behave in certain ways by their owner. In an economic system, this behavior
ultimately affects other human agent owners, who may percieve this behavior as "dishonest." In
this thesis we will use the word "dishonest" to describe an agent if it is programmed to ultimately
deceive or cheat another agent or human, whether this is intentional or unintentional on the part of
the agent's programmer.
10
Since it is not possible to simply prevent agents from engaging in such behaviors
in an open system, we must consider social control [32] measures in order to limit the
effects of malicious agents. We define a social control mechanism to be any security
measure that has the goal of limiting fraud and abuse by detecting it after the fact,
rather than attempting to prevent it outright.
Social control differs from "hard security" mechanisms, such as password protection, encryption, etc., which are the most common types of security mechanisms in
computer networks today. Hard security mechanisms often take the form of centralized barriers that allow only those users who posess some secret (a password or
encryption key) to enter or access data in a system. These barriers make it difficult
to access such a system unless the user possesses the secret, thus limiting access to a
known (and trusted) set of parties. Social control mechanisms, however, are generally
deterrants rather than barriers; they limit the extent of the damage that untrusted
parties can perform, rather than attempt to prevent it completely.
Social control mechanisms also differ from hard security mechanisms in that hard
security mechanisms generally have a single point of failure; if a password or encryption key is revealed, there is nothing that prevents system abuse once a user
has gained entrance to a system. Social control mechanisms, though, can often still
function even if a hard security barrier is circumvented.
Human economies use a mix of both hard security and social control. For example, a retail store cannot physically prevent all people from shoplifiting, but it
can discourage such behavior by putting alarms on products that will sound when
removed from the store, increasing the probability of a shoplifter being caught and
then fined or sent to jail. The overwhelming majority of automobiles sold in the world
have locks on the door and on the ignition to prevent car theft, but in addition there
are laws in most of the civilized world that send people to jail for stealing cars if this
hard security mechanism breaks down.
Economic agents, like humans, should make use of both hard security mechanisms and social control. Agents can use encryption to protect their communications from eavesdropping; they can use signatures and certificates for authentication
11
[24]; and they can use various cryptographic constructions for electronic currency [7].
These mechanisms, however, cannot prevent all types of abuse in agent economies.
In particular, hard security systems cannot prevent dishonesty in situations in which
computers cannot easily determine whether a particular transaction was conducted
dishonestly or not. Thus, to maintain honesty in an agent economy, both hard security and social control mechanisms should be used.
1.1
Guide to Thesis
In this thesis, I explore various types of honesty issues that arise in agent economies,
and discuss and evaluate some possible solutions that I have designed and implemented in the Magenta architecture, a multi-agent research platform developed at
IBM Research and described in Chapter 2. These solutions will combine aspects of
both hard security systems and social control. The primary questions I attempt to
answer are:
1. How can agents conduct payments securely and efficiently? The goods agents
will trade will often be information rather than physical goods. When delivery
is entirely on-line, delays from a payment system become a significant portion
of the latency for the entire transaction process. Any payment system used by
agents must also have a very low financial overhead for each transaction, since
many agent transactions will have small dollar-values. In Chapter 3 I evaluate
a number of existing payment systems in this context, and describe the design
and implementation of a payment system in iMagenta.
2. How can the extent of the thousand-merchants attack be limited? The payment
system that best meets all the needs for an agent economy suffers from the
thousand-merchants attack [25], the electronic equivalent of sending a thousand
checks for a dollar apiece to each of a thousand different mail order companies
when one has only a hundred dollars in his bank account. In Chapter 4 I discuss
the design and implementation of a number of randomized mechanisms that
12
succeed in limiting the risk to merchants that use this payment system. Many
of these mechanisms require cooperation on the part of competing merchants;
I discuss game-theoretic reasons why such cooperation would not arise on its
own, and a taxation mechanism to encourage cooperation.
3. How can merchants be discouragedfrom failing to deliver promised value? Although it is impossible to completely eliminate dishonesty among merchants,
social control may help limit or discourage such behavior. The implementation
of an escrow protocol and a reputation service are described in Chapter 5, along
with their ramifications and trade-offs.
13
Chapter 2
Magenta Architecture
All of the implementation work in this thesis was performed in the Magenta (Marketoriented agent architecture) environment, an object-oriented agent development platform prototype developed by IBM Research for UNIX in C++. Both this thesis and
Magenta define agent to be an autonomous computer program that can communicate
with other such agents. Further, an economy of agents is defined as any group of
agents that can communicate and trade goods and services with each other.
The goals of Magenta are:
e To provide an efficient platform for implementing large (hundreds or thousands
of agents) multi-agent systems.
e To provide transparent communications between agents whether they are running on the same machine or different machines, connected by TCP/IP.
* To be both an open system where any user may add agents to the economy and
extensible in the sense that any user may introduce a new type of agent or agent
behavior. Agents belonging to different users may have conflicting goals.
* To provide the infrastructure for a multi-agent system comprised of economic
software agents, where even the most basic services (matchmaking, communication, etc.) are provided by agents themselves, possibly for a fee. These agents
may face competition from other service-providing agents.
14
* To be mobility-neutral; mobile agents are not currently supported, but could
be in future versions.
2.1
Related Systems
Magenta has many aspects in common with other existing multi-agent systems, and
combines different features from different systems. While many existing systems
achieve one or more of the above goals, no current system achieves all of them.
2.1.1
Computational Markets
Several computational market systems have been developed to study the application
of economic forces to problems in computer science. In these systems, agents use
some token or "currency" as a common exchange medium, but this currency is not
linked to legal tender. These systems differ from Magenta in several ways: they are
not "open" (arbitrary people cannot add agents to the economy); the players in these
systems are expected to be trustworthy; and in many cases are all assumed to be
cooperating to achieve the same end result.
An example of such a system is the WALRAS algorithm [17]. WALRAS is a deterministic algorithm to find competitive equillibria in resource-allocation markets in
a distributed fashion. WALRAS is not an "open system" because all of the economic
players are known a priori; since WALRAS is only an algorithm, it does not address
trust and honesty issues.
Another example is SPAWN [37], which uses an economic mechanism to distribute
computation across idle machines. In this system all agents are assumed to be trusted,
and security is not a goal of the system. The SPAWN system has a single goal of
balancing the load of computation. The MIT Media Lab's Challenger system [16]
is a similar system, which explicitly uses the word "agent" to describe the entities
engaged in exchange; again, all agents in this system cooperate to the common goal of
load balancing, though it is accomplished through each agent having the conflicting
goal of maximizing its own profit. But, neither system is tied to real money. The
15
computational economies of Miller and Drexler [28, 29] are based on similar ideas and
also not tied to real money.
The focus of Nathaniel Bogan's Master's of Engineering thesis [10] is similar to that
of the Challenger system, that is, to use a computation market to allocate processor
time. Bogan's system is also not tied to real money. Bogan, however, acknowledges
that there is no a priori reason to believe a computation market must be "fair"
unless the model specifically disallows such behavior.
He gives the example that
certain markets might not explicitly prohibit agents from coining their own money,
and leaves this as an open problem.
2.1.2
Agent-Mediated Electronic Commerce
Several multi-agent systems exist where agents function as matchmakers between
people wishing to buy and sell things, and carry out price negotiation on behalf of
their owners. Generally, these systems allow users to create agents through a Web
interface, and then the agents communicate with other agents in the system. These
systems differ from Magenta because the agents in the system do not actually carry
out any exchange; exchanging the actual goods and payment must happen externally
between the human users, and agents are only mediators in the exchange.
Also,
these systems are not necessarily "extensible"; while they may be "open" because any
person may add agents to the system, agent behaviors within the system are generally
predefined. Because of this, the agents themselves can all be trusted, although the
people responsible for the final exchange of goods might not be.
One such system is Kasbah [15], developed at the MIT Media Lab. Kasbah allows
people to create agents to exchange books and CDs online, and the agents negotiate
prices among themselves. Users cannot define agent behaviors that are not already in
the system; all types of inter-agent communication are also predefined. To address the
fact that human agent owners might possibly be dishonest, Kasbah includes a facility
for users to rate each other based on satisfaction with the transaction. Another similar
systems is AuctionBot [38], which allows people to set up automated auctions on the
16
Internet. The eBay' system also allows users to set up on-line auctions for goods.
2.1.3
Extensible Agent Architectures
There is a class of agent architectures similar to Magenta that allow users to create arbitrary types of agents. Whereas systems that fall into the class described in
Section 2.1.2 are economic but not extensible, these systems are extensible but not
economic.
D'Agents, developed at Dartmouth University, is a programming structure for
building mobile agents of arbitrary functionality.
Formerly known as Agent Tcl
[23, 24], the architecture provides the functionality for communication and mobility for agents written in existing interpreted programming languages such as Tcl,
Java, and Scheme. D'Agents is extensible, since no agent behavior is pre-defined.
The architecture also provides some basic security measures, such as authenticating the machine from which an agent migrates, and encrypting state data sent over
the network. Agents have a hierarchical namespace, and the lookup functionality is
provided by a yellow pages agent.
JAFMAS[12] is another extensible agent architecture. It consists of a set of Java
classes that can be extended to build agents and carry out communications between
them. Agent behaviors are not predefined, although the structure of communication
is tied to a LISP-based language called COOL. Communications are handled through
conversation objects. An agent may communicate concurrently with several other
agents, since each conversation runs in its own thread. JAFMAS does not consider
any security or trust issues.
KaOS[11] is also an extensible agent architecture. It does not predefine agent
behavior, nor does it require the use of any specific language for communication between agents. It carries out conversations through objects called conversation policies,
which capture a sequence of interactions between agents. A core set of conversation
policies is provided, and users may make new policies to extend the set.
lhttp://www.ebay. com
17
2.2
2.2.1
Magenta Architecture
Clusters, Domains, and Conversations
The functional units under which Magenta agents exist are called clusters and domains. (A domain bears no relation to Internet domain names or DNS.) A cluster is
a group of agents running in a single process, and each cluster is owned by the user
who started it. Multiple clusters, owned by either the same or different users, may
run simultaneously on the same machine. A domain is a self-contained community
or economy of agents that can all communicate with each other; each agent can only
be in a single domain. Domains can include multiple clusters on multiple machines.
Within a single cluster process, each agent runs concurrently in its own thread.
When an agent wishes to communicate with another agent, it opens a conversation
with the other agent. As in the JAFMAS system, each agent starts a new thread for
each conversation in which it is engaged. An agent may engage in multiple conversations concurrently.
Agents are referred to by their location in a hierarchical namespace, as in JAFMAS
and D'Agents; each agent's location in the namespace consists of its domain, canonical
machine name, cluster, and a unique agent ID, assigned by the cluster process. Like
in D'Agents, each agent also has a flat pseudonym or social name that is registered
with a yellow pages agent, which converts social names to elements in the hierarchical
space. Since an agent's identity in the hierarchical name space is linked to its physical
location, agents cannot easily change this identity "on the fly."
Magenta is truly an open system because any user may start a cluster process
anywhere on the Internet, and, provided that the user knows where to look for other
agents, the agents in this new cluster will be able to communicate and trade with
existing agents elsewhere. Nothing needs to be done to give additional users accessone only needs the software. It is also a fully extensible system, since people may
define their own new types of agents to the system as well. This creates several
interesting security issues, which include both issues of agent honesty, as discussed in
Chapter 1, and more traditional issues discussed in Section 2.2.4.
18
2.2.2
Messages
Magenta includes a predefined message form. This message form consists of a conmand or verb followed by an arbitrary number of attribute-value pairs; these values
may be messages themselves, which allows for arbitrarily complex messages. There
are several predefined verbs to facilitate communication, but users are free to create
their own idioms as well.
When convenient to express the contents of messages in this thesis, the following
notation is used:
MessageName (argi, arg2 , ... , argn), where MessageName is the name of the message or
"verb," and argi...args are the parameters of the message. The arguments may be
messages themselves.
Magenta also contains objects similar to KaOS's conversation policies, which encapsulate several message exchanges into a single operation.
2.2.3
Agents
The following is a non-exclusive list of agents currently implemented in Magenta.
" Yellow Pages: The YP agent maintains the locations of registered agents as well
as a searchable description of their type and capabilities.
" Forwarding Agent:
The forwarding agent sends messages between clusters.
When an agent sends a message to an agent in another cluster, the message
is sent to the forwarding agent in the sender's cluster, the forwarding agent
sends the message to the forwarding agent in the other cluster, and this forwarding agent sends the message to its final destination.
" Bank Agent: This agent maintains accounts for agents and mediates payment
protocols. When Magenta is deployed, Bank agents will also be the interface
between the agent economy and the existing banking system.
" Escrow Agent: The escrow agent implements a simple protocol to offer a non-repudiation service and a guarantee that a transaction will only complete if both
19
parties uphold their end of the deal.
* Reputation Agent: The reputation agent maintains a list of complaints and
commendations about agents, and allows agents to query this information. The
reputation agent allows agents to share information or "gossip" about each other
" Sheriff Agent: The sheriff has the power to terminate (stop the execution of)
any agent in its cluster.
" Consumer Agent, Merchant Agent: Implemented for experimental purposes
only, the consumer agents and merchant agents have configurable supplies and
demands, and conduct transactions with each other.
2.2.4
Traditional Security Issues
Because Magenta is an open system, where any person with access to the Internet can
create agents in any domain, we must consider several security issues that are common
to all networked systems. In particular, the use of TCP/IP for sending messages
between agents running on different machines allows the possibility of traditional
eavesdropping and replay attacks; denial-of-service attacks ("bombing") may also be
possible.
Eavesdropping attacks could be prevented by using various hard security measures.
These could include a public-key cryptosystem, such as RSA [33], or a hybrid system,
such as PGP [40]; additionally, replay attacks can be prevented with timestamps
or nonces on signed messages. Netscape Corporation's 2 Secure Socket Layer (SSL)
could also be used to protect communications between agents running on different
machines. However, our current infrastructure does not by default encrypt, sign, or
timestamp messages. If we would like to treat security as a commodity which carries
a cost (extra computation time, additional message length), it makes sense for users
and their agents to decide for themselves when it is appropriate and worth the cost
2
http://www.netscape.com
20
to sign or encrypt a message, or when a signature should be required on a received
message.
To facilitate this, Magenta includes a place-holder cryptography library, which
uses the RSA algorithm with very small (32-bit modulus) keys for encryption and
signatures. While not secure, the library effectively demonstrates how agents can
use signatures for authentication and to encrypt private messages. At a later date
this library module could be strengthened or replaced with a stronger library such as
RSAREF [35].
Denial-of-service attacks are also possible within the Magenta architecture. In
particular, a malicious user could flood another agent with bogus messages, preventing
that agent from processing legitimate messages in a timely fashion. Or, specifically in
the inter-machine case where TCP/IP is being used, an adversary could ping-bomb
a cluster's forwarding agent to overload and/or crash it.
There is no clear solution to a ping-bombing attack on the forwarding agent;
maintaining continuity and quality of service in the face of malformed TCP packets,
ping-bombing, etc., is up to the operating system, and is currently an open problem.
However, the economic nature of the system could protect other agents from such
overload in some instances. If forwarding agents charge for their service, an agent
must pay every time it sends a message to an agent in another cluster. Then, there is
less incentive for agents to send superfluous or "spam" messages to agents in another
cluster. Preventing overload from intra-cluster bombing is an open problem, since
there is currently no mechanism in Magenta that can enforce charges for an intracluster message exchange.
2.3
Summary
Magenta is an open multi-agent platform that allows users to construct their own
agents that interact with other agents in the system. Magenta is both open, since
there are no restrictions on which users may add to the system, and extensible, since
there are no restrictions on the types of agents that may be added to Magenta. A
21
number of different agents and interactions between them are currently implemented
in Magenta.
Because Magenta uses TCP/IP for agents to communicate over a network, a
number of security concerns common to all such network systems are addressed.
These concerns includes denial-of-service attacks, eavesdropping, and replay attacks.
Magenta also includes mechanisms for agents to carry out payments with each
other; these mechanisms, and existing payment systems that led to their development,
are discussed in Chapter 3.
22
Chapter 3
Payment System Design and
Implementation
In order to use Magenta to build economic agents that ultimately trade goods and
services in exchange for legal tender, it is necessary to implement a secure inter-agent
medium of exchange, or currency. Many electronic payment paradigms already exist,
so it would be preferable to build on past work and adapt an existing system for use
in agent economies. Since agents and their trading dynamics differ from humans in
many fundamental ways, though [26], the trade-offs involved in any particular system
may be slightly different and the design decisions for any particular system must be
re-evaluated in this context.
In this chapter, I analyze several types of electronic payment systems and discuss
the trade-offs for each when used in an agent economy. This analysis led to the
implementation in Magenta of a protocol similar to the IBM Micropayment Protocol,
formerly known as Mini-Pay [25]. The protocol was simplified and modified slightly;
and, in Chapter 4, I discuss the development of various mechanisms to strengthen
the protocol against a possible attack. Thus, this particular payment protocol as
implemented aims to provide a good balance between security and efficiency.
23
3.1
Previous work
Quite a few electronic payment systems have been developed in the last few years.
There are systems that electronically emulate cash and check transactions [34, 14,
2, 27]; there are systems that allow credit card numbers to be securely transmitted
over an insecure network [6]; and, there are systems that are optimized for making
frequent payments in very small denominations [25, 4]. There are even systems such
as the Java wallet [3] that coordinate several of the above systems, much as a physical
wallet can contain both cash and credit cards.
The analysis in this chapter divides electronic payment systems into three main
categories: card-based transactions, direct fund transfers, and micropayment systems. We describe how a simple debit- or credit-card based payment system uses
cryptography to securely transmit existing credit- or debit-card numbers over the
Internet. Direct funds transfers are also discussed; these are similar to debit-card
transactions except the customer or "buyer" is responsible for communicating the
transaction to the bank, rather than the merchant or "seller." Finally, micropayment
systems are, as the name implies, designed to perform better than card-based and direct fund transfers for low-valued transactions; they involve either cryptographicallyunforgeable "coins," or "payment orders," which are cryptographically-signed forms
and work like checks. The main payment system implemented in Magenta was based
on a micropayment system to allow for the flexibility of low-valued transactions; other
reasons for the selection of the specific protocol used are given later in this chapter.
The goal of this chapter is to describe how to select and incorporate such a payment system into Magenta. Then, Magenta agents may securely exchange real goods
and services for "real money" -currency
that can ultimately be converted into legal
tender.
3.2
Payment System Desiderata
Existing secure-payment systems often have the following goals in common:
24
"
Non-forgeability: Users should not effectively be able to coin their own money.
* Efficiency: The incremental computation and communication overhead of processing a payment operation should be small relative to that for the entire
transaction; and the economic cost of processing a payment should be small
relative to the value of the transaction.
" Integrity: Any use of money must be explicitly authorized by the user. Eavesdroppers or dishonest sellers must not be able to forge payments from the user.
* Privacy: Users should be able to conduct transactions without revealing to
eavesdropping users what was purchased or how much money was spent.
* Non-repudiation: There should be a mechanism to prove at a later time that a
purchase was indeed authorized by the user.
" Fault-tolerance:A system crash should not result in any financial loss.
" Scalability: The efficiency or usability of a payment system should not be adversely affected by its number of users.
Some payment systems also attempt to provide some degree of untraceability,
similar to that achieved with paper money [14]. Untraceable systems prevent a third
party that is indirectly involved in a transaction from revealing the identity of the
participants in the transaction; also, untraceable systems do not require a payer to
reveal his identity to a payee.
Any payment system implemented in Magenta must achieve as many of these goals
as possible. There are often trade-offs between how well each of these properties may
be reached; for example, trade-offs between efficiency, security, and privacy are commonplace in many different types of computer systems. Agents and their economic
dynamics fundamentally differ from people, though, which could result in a slightly
different evaluation of trade-offs involved with a payment system. For example:
25
* Agents, like other things on the Internet, might not always be traceable back
to their (human) owner. Therefore, the security of any agent payment system
should not depend on traceability.
" Agents can conduct transactions much faster than people can. People are limited by the physical speed at which they can exchange bills, swipe a credit card,
or click a mouse. Agents also do not get "tired" in this process. This amplifies
any potential for fraud when agents rather than people are the players in the
economy.
* The goods being traded among agents will often be information (news articles, images, stock quotes, etc.), with no external (non-agent) physical delivery
process.
For these reasons, agents may develop different spending patterns than people, and
the relative emphasis on each of the above payment system criteria may be different
when agents are the players in the economy. Efficiency, as defined previously, is
crucial. When delivery is completely on-line, delays from the payment system are
noticeable, and since transactions may have small dollar values, the payment system
must have a very small financial overhead for usage. Scalability is also very important
for any agent payment scheme, since each user could have a potentially large number
of agents participating in the economy.
3.3
Banks
The electronic payment systems discussed in this thesis assume the existence of some
trusted third party (TTP) to convert legal tender into electronic form and mediate
transactions. It is believed that no network payment system without such a TTP is
possible [29]. This TTP acts as a banking system, which maintains accounts for its
users, and may issue certificates and/or "coins." For our purposes, I define a "bank"
as any trusted third-party that keeps track of another party's currency and converts
between electronic currency and legal tender.
26
3.4
Credit and Debit Cards
Credit and debit cards provide one way of conducting electronic payments. Many
Web sites today accept credit card numbers for payment of physical goods, or for
paying monthly subscription fees for access to pay content.
To carry out an electronic payment using credit or debit cards, the payer gives
its card number to the payee, the payee contacts the issuing bank, and is credited
the amount of the purchase and notified accordingly. The purchase price is either
deducted from the payer's account or billed to the payer later, depending on whether
the card is debit or credit.
One could easily give an agent the capability to directly spend money from an
existing credit or debit card; the agent just needs to possess the card number in
its memory. Of course, to prevent an eavesdropper from obtaining the card number
or replaying it, these messages should be timestamped and sent over an encrypted
channel. SET [6] is another standard proposed for conducting secure electronic credit
card transactions.
Credit card transactions carry a financial overhead; credit card companies usually
charge a service fee for each purchase in order to offset the bank's risk of loss, since
in this model the bank assumes the risk of default for the merchant. This financial
overhead makes this approach inappropriate for small-valued transactions, where the
cost of performing the transaction is significant when compared to the value of the
transaction itself.
Also, unless the payer is strongly trusted, sellers ought to communicate with the
bank to approve each transaction at the time of purchase to ensure the card number
is valid.
One potential problem with credit card transactions in an agent economy is nonrepudiation. Although a payer could prove later that he did indeed make a purchase,
he could not prove that he did not make a purchase. A malicious selling agent could
collect card numbers, then make many false charges to the card. Or, a malicious
merchant could turn around and sell card numbers to other agents at a profit. In
27
human economies, the bank assumes the risk in such cases.
This problem can be overcome with payer-signed digital signatures and timestamps; SET [6] provides many of these safeguards. This would prevent merchant
replay and ensure that a card is only charged when explicitly authorized by the user
for a specific amount. However, this would make the system less efficient by requiring
that a merchant obtain approval for each transaction at time of purchase, and requires
that both the user and bank perform public key operations for each transaction at
the time of purchase.
Credit- and debit-card systems seem to be best suited for use in agent economies
only when the agents are making larger-valued purchases, where the financial overhead
to a merchant is small relative to the cost of the item purchased. In this case, a
merchant may be better off by paying the bank's service fee in order to protect itself
from incurring any loss due to fraud. An electronic credit- or debit- card system is
also difficult to defraud. In credit-based systems, of course, the human ultimately
responsible for paying the credit card bill could walk out without paying, but then
there would at least be a path back to human responsible, and existing legal structures
for dealing with such situations and imposing appropriate consequences.
3.5
Direct Transfers
A direct transfer is similar to a debit-card purchase, wire transfer, or electronic check
in many ways; the main difference is that here the buyer is responsible for telling the
bank to transfer funds, whereas in a debit-card system the seller does this communication with the bank. This is one possibility for how a direct transfer protocol might
work:
1. Buyer and seller have accounts analogous to checking accounts at a bank.
2. Buyer sends signed request for transfer to bank.
3. Bank deducts amount from buyer's account, credits seller's account.
28
4. Bank sends back signed receipt to buyer, which contains the amount paid, the
recipient's account number, and a unique identifier (either a nonce or timestamp). The identifier is necessary to prevent double-spending. Alternatively,
the bank could send the receipt directly to the seller as well.
5. Buyer gives receipt to seller, seller provides goods or services in return.
Aside from the slight differences in the flow of communication and currency, this
protocol is roughly equivalent to a debit-card system with respect to security and
efficiency. This protocol requires about the same amount of communication and
computation overhead as the a debit-card protocol, although checking for doublespending is now the responsibility of each seller rather than the bank.
This system has some advantages over debit and credit cards. A payer could
obtain signed receipts for many purchases in advance as a batch operation, and then
no additional communication or signing needs to be done at time of purchase, resulting
in low communications overhead. In this system the payer agent also has immediate
proof that funds were transfered, whereas in a credit- or debit-card system the user
must wait until the bank issues a statement at the end of a billing cycle. And, the
bank is never' at risk for losing money, as it is in a credit-card system; thus there is
less financial overhead for conducting a transaction in this fashion. Because of the
lower financial overhead, direct transfers might be more practical than credit cards
for small-valued transactions. This system might thus be more useful to agents than
a credit- or debit-card based system.
3.6
Micropayments
As the name implies, micropayment systems are optimized for low-value transactions.
Micropayment systems are the functional equivalent of pocket change for Internet
commerce; such systems originated to satisfy the demand for a way to sell content
on the Web "by the click" profitably. When the value of a transaction is small (for
'Well, hardly ever.
29
example, under US$1), the amount of financial overhead involved in processing the
transaction makes it unprofitable for a merchant to accept credit cards.
Micropayments are generally like checks, in that the merchant accepts the responsibility of loss, if any, due to payment fraud. For small-valued transactions, though,
this expected risk for any individual purchase is probably smaller than the financial
overhead of using a credit card.
Several micropayment systems exist and are in beta-test or production at this
time. In each system, buyers carry out their payments through software which acts
as their electronic wallet, and payments are received by similar software on the seller
side. All of these existing systems are believed to provide integrity and protect against
forging and counterfeiting.
3.6.1
CyberCoin
CyberCoin [1] is a commercial system developed by CyberCash.2 The exact details of
the protocol are uncertain, since it is not believed to be published. However, a highlevel summary of the protocol is available from CyberCash's web page; in general, it
works as follows:
1. The buyer sets up an account at CyberCash's headquarters, which acts as the
system's bank. The buyer puts money into this account through conventional
payment methods (credit card, check, etc.)
2. To make a purchase, the buyer creates a signed purchase order indicating the
amount to be spent, and sends it to the seller.
3. The seller forwards the purchase order to the bank; after verifying the order,
the bank transfers funds from the buyer's account to the seller's and issues a
receipt.
4. Seller delivers goods to buyer.
2
http: //www. cyber cash. com
30
According to CyberCash's web page, the system uses cryptography for authentication and to protect from eavesdropping and replay attacks; the signatures used for
authentication also provide some degree of non-repudiation.
In this system, a consumer's "currency" exists in the central bank and not in its
own software. Thus, the system is fault-tolerant with respect to the user's software.
The system also scales well in space; each extra user adds only an extra bank
account to the system.
However, the system does not scale well with respect to
time. The CyberCoin system is "cleared on-line," which means that the seller must
communicate with the bank at the time of each purchase, before completing each
transaction. The bank then becomes a central bottleneck in the system, and if many
people use the system or people make transactions frequently, the bank can get overloaded, hampering the efficiency of the system.
Further, the system requires that the user perform a public-key signature operation at the time of purchase for each item purchased. Although such operations are
computationally-intensive, the resulting computational overhead is generally small
relative to network latency; and signature re-use could be incorporated into this protocol to reduce the number of public-key operations required [25].
3.6.2
IBM Micropayment System
The IBM Micropayment System, as described in [25], is similar to CyberCoin, except
that payments are cleared with the bank "off-line"; that is, clearing with the bank
is deferred rather than done at the time of purchase. Also, the banks used by the
buying and selling agents may be different; the banks transfer funds between each
other, much like the system for clearing paper checks or credit card transactions
between banks.
The flow of data and currency in the IBM Micropayment System is approximately
as follows:
1. Buyers and sellers have accounts at some bank (TTP); these accounts are analogous to checking accounts. The seller's bank is referred to as the acquiring
31
bank.
2. The buyer's bank issues the buyer a timestamped and digitally-signed "daily
certificate" once per day or other fixed time interval.
The daily certificate
contains a recommended consumer offline spending limit; each individual seller
is advised to verify funds availability if a buyer exceeds that limit with the
particular seller in that time interval.
3. Buyer transmits daily certificate along with a signed purchase request (analogous to a check drawn on the account) to the seller.
4. If buyer has spent more than his recommended off-line spending limit on this
seller, seller checks funds availability with the buyer's bank. (This is referred
to in [25] as the extra-spendingprotocol.)
5. At the end of the day (or other fixed interval), the seller deposits all purchase
orders with its acquiring bank.
6. The seller can request information from its acquiring bank regarding the status
of which purchase orders are cleared, rejected, or pending with the buyer's bank.
Because of the way it uses signatures, the IBM Micropayment system satisfies
the non-repudiation property. Like CyberCoin, currency exists in the user's bank
account until a payment order is cleared with the bank; so, no money is lost if the
user's software crashes.
Since payments are cleared off-line, IBM's system is more efficient than CyberCoin
since it is not necessary to wait for purchases to clear with the bank before completing
a transaction. Like CyberCoin, the user must perform a single public-key signature
operation at the time of purchase; again, according to [25], the time to perform this
operation is not significant compared to network delays, and signature-reuse could
reduce the number of signatures required. There is some additional overhead from
obtaining a certificate, but this overhead is amortized over a potentially large number
of purchases.
32
The IBM system also scales very well. It scales better than CyberCoin in time,
since the bank is not as much of a bottleneck; purchases are cleared off-line, and multiple banks can exist in the system. Clearing off-line also results in smaller latencies
for transactions, since merchants do not need to communicate with the bank after
every purchase.
While off-line clearing alleviates the central bottleneck of communicating with
the bank, it introduces a new and interesting problem. Each seller runs the risk of
losing up to the off-line spending limit times the number of buyers with which it
does business, if a dishonest buyer spends an amount under its offline limit in enough
different places such that it exceeds its available funds. This weakness is called the
thousand-merchantsattack [25]. In a large and busy economy, though, the small risk
may be worth the improved efficiency over an on-line system, and the risk can be
further limited through various randomized mechanisms, as I show in Chapter 4.
3.6.3
eCash
DigiCash's 3 eCash system [2] is based on the work on the work of Dr. David Chaum.
The eCash system is designed to be untraceable, just like paper cash; the act of
depositing money into a bank or showing it to any third party does not reveal any
information about where the money came from. While eCash is not exclusively a
micropayment system, it can be used as such; it also has the property that all parties
in the system can use the same software to be buyers and sellers at the same time.
The eCash system workings are described in [19]. The system is based on "coins,"
which are very long numbers cryptographically signed by a bank. Since the coins are
signed, they are difficult to forge. These coins are stored in the user's purse software.
The flow of data and money in the protocol is as follows:
1. To obtain coins, the buyer creates several long random strings, "blinds" them
[13], and sends the blinded strings to the bank.
3 Since
the writing of this thesis commenced, DigiCash has filed for a Chapter 11 reorganization.
The technology, however, remains relevant to the discussion.
33
2. The bank creates coins from the buyer's blinded strings by assigning a value to
each with a digital signature. The bank sends these blinded coin back to the
buyer.
3. To spend the coin, the buyer unblinds the coin received from the bank, and
sends it to a seller.
4. The seller verifies the validity of the coin by depositing it into the bank before
completing the sale.
Because of the blind signature scheme used, coins are untraceable; when the bank
receives a deposited coin it cannot link it to the user who spent it.
There can be more than one bank issuing coins in this payment protocol, but each
coin must ultimately be deposited at the bank of its origin. Each bank keeps a central
database of coins that are deposited so that a coin may be spent only once.
Although coins are stored in the user's software, the software that runs the bank
does allow the recovery of coins lost in a system crash; thus the system is faulttolerant, although such a recovery requires surrendering anonymity [18].
E-cash is cleared on-line; since coins are untraceable, an off-line system would
create an enormous temptation to write dishonest purse software to double-spend
coins. However, it is possible to create coins in such a way that their owner's identity
is revealed if only if the coins are spent more than once [14]. Nonetheless, off-line
clearing would still allow an attack similar to the thousand-merchants attack described
above.
The main problem with eCash, though, is that it does not scale well [8]. Since
each bank keeps a central database of spent coins to prevent double-spending, this
central database must expand every time a coin is spent, and can never get smaller. In
a large economy with many purchases, this database could explode beyond control.
Alternatively, banks could construct timestamped coins that expire after a certain
time interval; a bank would then only need to keep track of a smaller, finite number
of unexpired coins. This database could still be large, though, and consumers would
34
need to renew unspent coins periodically; renewing unspent coins could result in
significant network usage.
3.6.4
MilliCent
The MilliCent protocol [4], developed by Compaq's Digital Equipment Corp.4 , is
another micropayment protocol.
A description of the protocol is available in [5].
MilliCent uses scrip, which is similar to the electronic coins used in eCash. Each
piece of scrip is a cryptographically-secure, unforgeable string that carries a value,
like an electronic coin; each piece of scrip is only usable with one particular seller,
though. Pieces of scrip can thus be thought of as electronic "IOUs" with small dollar
values. Purchases are made with MilliCent as follows:
1. Buyer purchases scrip from a scrip broker for each seller with which he wishes
to do business. This is similar to buying coins from a bank, except the act
of buying scrip actually transfers money from the user to a particular seller's
account. Since the funds transfer has already occurred, the seller will not need
to communicate with the bank to receive payment after the transaction.
2. To make a purchase, the buyer sends scrip to the seller.
3. The sellers verify their scrip and complete the transaction. Again, since the
funds were already transferred during the scrip purchase, the seller does not
have to clear the transaction with the bank.
According to [5], MilliCent is not fault-tolerant; if the user's wallet software
crashes, the value of the scrip is lost. For this reason, the software currently only
allows each user to hold US$50 in their wallet at any given time, to reduce this
possible loss.
MilliCent scales well, like CyberCoin and the IBM Micropayment System. It is
also efficient, because it does not require the user to perform any signature operation
4
http: //www.digital. com
35
Property
Cards
Direct
CC
IBM
MC
eCash
Y
Y
Y
Y
N
Y
On/Off-line
N/A
N/A
On
Off
Mixed
On
Signature operations
> 2
3
2
< 1
< 1
1
Scales well?
Y
Y
Y
Y
Y
N
Fault-tolerant?
Y
Y
Y
Y
N
Y
N
> $5
N
> $5
N
$0.25-$5+
Y
$0.01-$5+
Non-repudiation
Vulnerable to TMA?
Transaction Size
N
1 $0.001-$5+
N
"any"
Table 3.1: Properties of Existing Electronic Payment Mechanisms
CC: CyberCoin; IBM MP: IBM Micropayment System; MC: MilliCent; TMA:
Thousand-Merchants Attack. All dollar amounts are US currency. The eCash system
is assumed to be cleared on-line.
at time-of-purchase, nor does it require the seller to communicate with anyone to
verify it. However, this lack of a clearing process means that non-repudiation is not
possible; that is, it is not possible for a consumer to prove that a payment was indeed
made.
Since scrip is only good with one particular seller, the thousand-merchants attack
on off-line cleared systems is avoided. However, if the user makes a few purchases
with many sellers, it essentially becomes an on-line system, and therefore less efficent;
since the user must communicate with the scrip broker once for each merchant with
which it wishes to do business.
3.7
Evaluation and Adaptation of Existing Systems
Of the existing payment systems examined and summarized in Table 3.1, it seems
that a micropayment system is better suited for use in an agent economy, because it
allows small-value (under US$5) transactions with little financial overhead. Creditand debit-card systems are appropriate for larger-valued transactions. In practice,
different payment systems can peacefully co-exist, and in a truly open economy of
agents, market forces would determine which systems would be used in any given set
of circumstances.
36
The IBM Micropayment System and CyberCoin seem to be the best suited for
use in an agent economy. eCash is not appropriate because of its poor scalability.
However, some agent owners may wish to have a system like eCash at their disposal
when they specificially wish to perform untraceable transactions. MilliCent is not
appropriate because of its poor fault tolerance and lack of non-repudiation.
Since the details of the CyberCoin protocol are not known at this time, the main
payment system implemented in Magenta is based on IBM's system. However, one
may also create a payment system similar in spirit to CyberCoin by making an online clearing version of IBM's system. The system implemented in Magenta allows
merchants to decide for themselves how often agents should clear orders.
3.7.1
On-line Clearing vs. Off-line Clearing
There are substantial trade-offs between clearing on-line and off-line. Off-line clearing
provides significantly better efficiency because there is no single-point bottleneck at
time of purchase. Off-line systems also ensure that a transaction can be completed
even if the connection to the third-party bank fails. On the other hand, off-line
systems also involve a risk of loss on the seller's side due to fraud. This risk of loss is
the thousand-merchants attack described previously.
If a buyer were to mount the thousand-merchants attack, it would be caught when
the sellers do clear all of their payment orders or coins and discover that their orders
"bounced" due to insufficient funds or double-spending. Then, the bank would refuse
to issue another certificate or more coins to the buyer, preventing the buyer from
further using the system until the buyer paid the amount defrauded from the sellers,
plus a possible additional penalty.
Agents, however, escalate the potential risk from the thousand-merchants attack.
First, they can make purchases much faster than people, and from many different
places simultaneously, whereas the human-computer interface is inherently serial and
limited by relatively slow physical processes such as the human nervous system; this
limits the amount of money that a person can spend through low-value purchases,
fraudulently or otherwise. Second, since agents are computer programs themselves,
37
they do not need an interface to a payment protocol, but may implement the payment
protocol directly; and since agents directly send messages to each other, they may directly create and send unredeemable payments since they have no interface restricting
what messages they can send. Therefore, there is a considerable risk involved with
using an off-line payment system in an agent economy.
However, if the majority 5 of agents in the system are honest, agents are better off
clearing small-valued purchases off-line, when the risk of loss on any given transaction
is very small compared to the overhead of clearing it on-line. On-line clearing may
then be reserved for larger-valued purchases. From CyberCoin's 6 and IBM's 7 web
pages, it appears that any purchase with a smaller value than US$0.25 should be
cleared off-line.
Since the risk of loss due to even such small-valued transactions
could still add up to a significant sum, in Chapter 4 I discuss possible ways to further
limit the effects of the thousand-merchants attack with randomized mechanisms.
Payment System Implementation
3.8
3.8.1
Supported Protocols
I implemented a set of common message forms in Magenta so that our agents can
conduct payments using both a direct-transfer system (Chapter 3.5) and a micropayment system similar to the IBM Micropayment System described in Chapter 3.6.2.
In addition, a bank agent was also implemented to act in these payment protocols.
The direct transfer protocol is implemented exactly as described in Chapter 3.5.
The micropayment protocol is implemented almost as described in Chapter 3.6.2,
with some notable exceptions.
e Both parties involved in a transaction must have an account at the same bank.
This obviates the need for an inter-bank clearing protocol and also allows im5 If this were not the case, then no one would ever make money by selling anything, and the
economy would not be of much use to anyone
6
7
http: //www. cybercash. com
http: //www.hrl. il. ibm. com/mpay
38
mediate verification of deposits.
" There is also no system-wide requirement or policy regarding when selling agents
must clear their collected purchase orders. Sellers are free to program their
agents with arbitrary clearing strategies. The test sellers I implemented have
easily-configurable on-line clearing frequencies, and clear all other orders upon
receiving a signal that the current simulated time period has ended. This variability in clearing frequency allows the implementation of the randomized clearing strategies discussed in Chapter 4.
" Upon discovering that an account is overdrawn, the bank agent may send a
message to the Sheriff agent to terminate the offending agent's execution if
possible, and/or the Reputation agent to publish this information.
A typical transaction between a buyer B and seller S using the micropayment
system as implemented is as follows.
X -+ Y denotes a message transfer from
agent X to agent Y. The GetPrice (x) message is a request for the price of item x;
PurchaseItem(x) initiates a purchase of item x. The RequestForPayment from the
seller tells the buyer about the purchase price and the payment methods accepted,
and the buyer sends the payment in a Payment message.
1. B --+
: GetPrice (news)
2. S -+B :Price(news,
3. B
-
$0.04)
S: PurchaseItem(news)
4. S
B : RequestForPayment($0.04, (micropay, BankName, AccountB),
(direct, BankName, AccountB), (cash))
5. B -S S: Payment (micropay, certificate, order)
6. S -B:
Item(news,
"I am a news article...")
7. (At some later time) S -+ Bank : Deposit (orderi, ..., order, order,+, ... )
39
In this example, A is buying an item called news from B for $0.04. After completing the purchase, the merchant agent clears the purchase order with the bank at
some arbitrarily soon point in the future.
3.8.2
Bank Agent
Agent economies need a mechanism for transforming real money from their human
owners into agent currency, and a trusted third party to mediate currency transactions. The solution is to have a bank, like the banking systems discussed above, which
is an agent itself, or at least possesses agents in the system so that the bank appears
to be "just another agent" from an agent's perspective. In an agent economy, just as
in a human economy, there may be multiple banks in competition with each other,
offering services such as loans and interest-paying savings accounts to other agents.
I implemented a bank agent to maintain accounts for agents in the system. Accounts are indexed by an account number, and each account has a public/private key
pair associated with it. Accounts belong directly to the agents themselves, and to
their owner indirectly; however, it is possible for multiple agents to share a "joint"
account if each agent possesses the account number and private key in its internal
store. All requests to the bank agent are signed with the account's associated private
key. The bank itself has a public/private key pair for setting up encrypted private
channels and authenticating itself to other agents.
Since at present Magenta is just a research prototype, there is no connection to
real money at this time.
So, for experimental purposes, at this time the system
operators can put arbitrary amounts of money in each agent's account.
In practice, a user would transfer wealth to his agents by providing the bank agent
with billing information, either a credit/debit card number or a checking account
number, or by transferring funds from another bank agent. This initial transfer of
wealth into the agent economy would, under normal circumstances, reveal the identity
of the human agent owner, unless the bank agent accepts cash deposits or transfers
from anonymous ("Swiss") bank accounts. When there are multiple bank agents, an
agent owner could anonymize or "launder" money by transferring funds directly from
40
one bank agent to another; the first bank does not necessarily reveal the identity of
the human owner to the second bank. Under such circumstances, there is still a trail
back to the human owner; following it, however, requires the cooperation of more
third parties.
3.9
Summary
There are currently two payment mechanisms implemented in Magenta: a micropayment system based on IBM's Micropayment System, and a direct-transfer system.
Many existing payment systems were explored and evaluated in the context of an
agent economy. IBM's system was used as a model because of its efficiency, with
respect to both purchase time latency and low financial overhead with small-valued
transactions, and its scalability. The direct-transfer system would be more appropriate for larger-valued transactions. The required infrastructure for both systems was
implemented in Magenta; this included a set of message forms and a bank agent.
41
Chapter 4
Solutions to the
Thousand-Merchants Attack
Sellers using the implemented micropayment scheme face a risk from the thousandmerchants attack if they do not clear purchases on-line. This attack occurs when
a dishonest consumer agent spends an amount under its recommended offline limit
with enough different sellers such that some purchases will be unredeemable due to
insufficient funds.
In this chapter, I discuss a number of different social control mechanisms for improving the limit on each merchant's risk due to fraud in IBM's micropayment system,
while preserving the efficiency of off-line clearing. These schemes do not completely
eliminate fraud, which could be accomplished with on-line clearing at the expense of
increased transaction delay; rather, these schemes aim to detect agents conducting
fraudulent transactions and to stop them from conducting further transactions.
Such schemes would be valuable not only to protect merchants, but also to protect
customers. By limiting the number of unredeemable transactions that a consumer
agent could conduct, one also limits the extent to which a user's buying agents can
accidentally overdraw an account, perhaps due to a programming error. Such an
error, if unchecked, could result in substantial financial loss for the customer.
42
4.1
Required Identity
Merchants could limit their risk from the thousand-merchants attack simply by choosing to engage in off-line cleared commerce only with banks that can (and will) trace
the identity of human agent owners in the event that payment orders bounce. Then,
in the event that agents overdraw their accounts, their owner can be located and
required to pay all the bounced payment orders and possibly an additional fine or
penalty. There are existing remedies in the human legal system for such situations,
provided the user's identity can be established.
This restriction is a form of social control, since it does not eliminate the possibility of attack; rather, such a restriction would deter people from programming
their agents to engage in such behavior. There are several shortcomings with this
solution, however. First, since the agent economy is an open system, agents and their
human owners may cross both state and international boundaries, which might make
it difficult to rely on existing legal systems. Second, such a scheme eliminates the
possibility of making unconditionally anonymous transactions. Third, the overhead
of tracing an agent's human owner and then recovering the loss due to fraud from it
might not be worthwhile if each individual dishonest agent owner only contributes a
relatively small amount of fraud to the economy. Thus it did not seem worthwhile to
implement such a policy in Magenta.
4.2
Random Clearing
I designed and implemented a system where each seller clears a randomly-selected
portion of their received purchase orders on-line, which could limit each seller's risk
to less than the recommended off-line limit for each consumer agent. This system is
also a form of social control because it does not completely eliminate fraud; rather,
this system attempts to detect fraud in progress and prevent the responsible agents
from performing further transactions.
Although there is a cost associated with any on-line clearing, only a fraction of
43
each merchant's transactions are cleared on-line. Since funds are deducted from an
agent's account with some probability on transactions with any selling agent, it may
be possible for a individual selling agent to detect a fraud in progress and then refuse
to accept further orders from that consumer. This could limit the risk for each seller
below the recommended off-line limit for each consumer.
Let us analyze what happens in the above scheme when executed over a finite time
interval. Assume that consumers each engage in a certain number of transactions
in this interval, and pick a merchant for each trade at random.
Let there be D
dishonest consumers in the system at the start of this interval, and S sellers, each
of which completes T total transactions. The number of transactions T that each
seller completes is directly proportional to the total number of consumer agents in the
system; thus the number of total consumers in the economy is not explicitly referenced
in the analysis. Let us make the simplifying assumptions that all goods have the same
purchase price Cf, and that attempting to clear an individual transaction always costs
C.
Assume that each merchant agent "cooperates" in the scheme by clearing any
given transaction with probability pc. Each transaction is an independent trial.
A merchant would like to minimize both its loss due to fraud and its cost of
managing fraud. The total cost is the sum of costs incurred for clearing transactions
and the losses due to each dishonest agent's unredeemable orders. Because of independence, the average loss incurred by each merchant agent for clearing transactions
is
Costclear = TpcCc.
(4.1)
A selling agent "catches" a dishonest consumer when a merchant attempts to
clear a purchase order after the issuing consumer agent's bank balance has been run
down to zero. In the meantime, though, each merchant retains the greater portion
of purchase orders from this consumer for later clearing; many of these orders will
ultimately be unredeemable. Merchants discover these orders are unredeemable upon
a later attempt to clear with the bank.
44
Let us calculate the amount of loss that a single merchant experiences due to these
unredeemable orders from a single dishonest consumer agent. These orders can be
divided into two sets and combined later: the first set consists of those orders issued
before the consumer agent's balance has been used up, and the second set consists of
those issued afterwards.
First, we calculate the number of unredeemable orders in the first set. Let B
be the number of purchases that a particular consumer can have cleared before its
balance runs out; again, for this analysis, we make the simplifying assumption that
B is the same for all dishonest consumers. Since merchants clear any given purchase
with probability pc, each dishonest consumer can then expect to make B/pc total
transactions before its balance runs out.
Because each purchase is made with a
uniformly and randomly selected seller, each seller will have saved B/Spc of these
purchases for later clearing in the first set.
Next, we calculate the number of unredemable orders in the second set. Each
seller will still continue to accept purchases from this consumer after its balance
runs out until the individual seller performs a clearing operation with the bank and
discovers that the consumer has no money. Since each seller clears any transaction
with probability pc, the seller then expects to enqueue 1/Pc transactions in the second
set.
Adding the two sets results in each seller expecting to allow B/Spc +1/Pc unredeernable transactions from each dishonest consumer agent. Given that there are D
dishonest consumer agents, and the loss to any given unredeemable payment order is
the purchase price Cf, the total expected loss that one particular merchant will incur
over the time interval, for all dishonest agents in the system, is
DCf
f (B/S + 1).
(4.2)
Pc
In practice, this quantity would not exceed DLd, where Ld is the recommended offline
spending limit for each consumer. The only value for pc that would result in exceeding
DLd that is germane to the analysis is Pc = 0. Any other such value will result in a
45
greater clearing cost with no benefit to the merchants in the economy.
The total expected loss to clearing and fraud is the sum of formulas 4.1 and 4.2,
because of independence. Thus the total average cost per merchant is
Cost
=
TpcCe + min( PC (B/S + 1), DLd).
pc
Now, we find the optimal value for Pc. This equation is of the form y = ax+b/x+c,
which has a single minimum over the interval x > 0 where y' = 0. We find the optimal
pc by solving this differential equation and comparing the resulting cost (if there is a
solution over 0 < x < 1) with the cost at Pc = 0 and Pc = 1. Solving y' = 0 yields
x
=
ba, which is
DCf(B/S + 1)
TCc
First we consider the case where x < 1. Plugging Pc
=
x back into the cost formula,
the expected total cost per merchant is
Costmin = 2VDTCcCf(B/S + 1).
The expected cost to each merchant agent if Pc = 0 is DLd, where Ld is the recommended off-line limit per dishonest consumer; if Pc = 1, the cost is TCc. Algebraically,
it is worthwhile to use this scheme (i.e., pc,
= x) if and only if
2VDTCcCf(B/S +1)
TCeCf B
< DLd
TCCf5
SD
D
and
2VDTCcCf(B/S+1) < TCc
2 DCf B
STC
DCf
TCe
46
Since we assume that always clearing on-line is expensive, the second half of this
condition should almost always be met.
Similarly, if x > 1, p,,t = 1 if TCc < DLd, and 0 otherwise.
It can be seen from the above formula that this random-clearing scheme is worthwhile if a large number of merchants participate, or if there are many dishonest
agents in the system. However, in the likely event that T/D is large, the scheme is
not worthwhile participating in regardless of how many other merchants are involved.
Also, it is important to note that the optimum probability is dependent on quantities
(T, D, B) that are initially unknown, and must be measured or "learned" over time.
We also observe that, if p,,t > 0, the cost under this scheme scales with the square
root of D, whereas the maximum cost with no clearing scales linearly in D. Thus
this scheme succeeds in improving upon the cost of managing fraud asymptotically.
4.3
Random Clearing with Termination
The above scheme can be further strengthened if there is a Sheriff agent that can
terminate agents that attempt to bounce payment orders on behalf of the Bank agent.
This would make a random-clearing scheme more beneficial, because merchants do
not individually have to catch each dishonest consumer through clearing-once any
merchant detects a fraud in progress, the consumer agent is immediately prevented
from carrying out further transactions with any merchant.
Theoretical Analysis
Analysis of this scheme is identical to the original random clearing scheme, except the
(B/S + 1) term becomes B/S. A dishonest consumer is effectively removed from the
economy when any merchant attempts to clear one of its fraudulent purchases; the
'If T/D were not large, then there would be little incentive for people to put agents in the
economy in the first place.
47
dishonest consumer does not have to be "caught" by each individual merchant. Thus,
each dishonest consumer can now only expect to make B/Spc transactions with each
seller. There are zero transactions in the "second set" described above.
The total cost as a function of clearing probability is now
Cost = TpcCe + min(DCf (B/S), DLd).
Pc
The optimum Pc is now either 0, 1, or (, where
DCf B
STCc
Plugging in pc =
results in a cost of
Cost =2
DTCCf5B/S.
Again, the minimal loss under this scheme scales with the square root of D rather
than linearly. Similarly, the system is worthwhile if and only if
2 DTCeCfB/S < DL,
2 TCcCf B
-2
SD
< Ld
and
2 DTCcCf B/S
2
If both conditions are met, then pe=
< TCc
CfB <
STCc
1
-2
<
1
==-
<
1/2.
(, and the scheme is worthwhile. If the first
condition is not met, then p,,, = 0, and the scheme is not worthwhile. If the second
is not met, pc,,, = 1, which means that always clearing off-line is better than random
48
clearing. As before, if (> 1, pcopt
1 if DLd < TCc and 0 otherwise.
From this analysis, one can see that the scheme is worthwhile if S is large. Regardless of what all other system parameters are, there is always some value So for
which the scheme is worthwhile if S > So. This means that this scheme is more
generally useful than the pure random clearing scheme in Section 4.2.
Experiments
I evaluated both the above random-clearing with termination scheme and the randomclearing with reputation scheme discussed below by simulating a Magenta cluster with
the required service agents (Bank, Yellow Pages, Sheriff) and merchant and consumer
test agents, which engaged in trade using the implemented micropayment system. The
value of pc for each selling agent could be configured by the operator of the simulation;
consumers had configurable initial balances and could be configured to be "honest"
or "dishonest." The agents were instrumented to report how much money they lost
to fraud, and how much they spent performing on-line clearing operations. I assigned
a cost to a single act of on-line clearing to simulate the financial loss associated with
slowing business due to the overhead of clearing. The parameters B, Cf, Cc, and T
are random rather than fixed, and are generated independently with each transaction
from binomial or Gaussian distributions.
The experiments verify the analysis of the scheme's viability; given fixed average
system parameters for some time interval, we measured the combined loss due to fraud
and the cost of clearing as a function of clearing probability. In this experiment, all
merchant agents cleared with the same probability. The results of this experiment
are shown in Figure 4-1; the experimental result is remarkably close to the simplified
theoretical expectation in spite of discretization and randomization effects. I also
experimentally verified the effects of varying D (Figure 4-2), S (Figure 4-3), and C,
(Figure 4-4).
49
70
60
50
0
a
40
30
20 -
10
0
0.05
0.1
0.15
0.2
0.25
0.3
AverageSystem-Wide Clearing Probability
0.35
0.4
Figure 4-1: Average Cost vs. Clearing Frequency
Total average cost of managing fraud (cost of clearing plus remaining loss to fraud) per
merchant agent vs. system-wide clearing probability. Horizontal line is the average
loss with no clearing. Experimental parameters were T 200, D = 16, S = 100, Cc =
0.5, Cf = 1, B = 4; o(T)
14.07, o-(Cf) = 0.33, o(Cc) = 0.15, o(B) = 2. Theoretical
pe,,P= 0.08.
160
Experimental,
0 = 48 -eExperimental,
0 = 32-+D = 16 -1-Experimental,
140 -
120
100
80
a) ~- 80
<
-
60
40 -a
k
20
-
.....--------
-- ------------------------------oE__
0
0
0.05
0.1
0.15
0.2
0.25
0.3
AverageSystem-Wide Clearing Probability
0.35
0.4
Figure 4-2: Average cost vs. clearing frequency, for different values of D
The average loss each seller experiences increases linearly with D when pc = 0. However, minimal loss to each seller only increases with the square root of D. Increasing
D also increases the optimal pc.
50
70
60
50
t
40
C)
30
..--
20 -k
- ~
..- ......
10 -
0
0
0.05
0.1
0.15
0.2
0.25
0.3
Average System-Wide Clearing Probability
0.35
0.4
Figure 4-3: Average cost vs. clearing frequency, for different values of S
Increasing S decreases the optimal pe, and also lowers the minimal cost to each
merchant. The value of S does not affect the cost to each merchant when pc = 0.
140
120
100
0
a)
80
tM
60
40
a--- -
----
---
. --
0
0
0.05
0.1
0.15
0.2
0.25
0.3
Average System-Wide Clearing Probability
0.35
0.4
Figure 4-4: Average cost vs. clearing frequency, for different values of C,
Increasing Ce decreases the optimal pc, and raises the minimal cost to each merchant.
51
4.4
Random Clearing with Reputation
There may be certain circumstances where terminating dishonest consumers may not
be possible or desireable.
For example, a Magenta cluster may lack an "honest"
sheriff agent that responds appropriately to signals from a bank. Or, it may simply
be undesireable to stop an agent from all forms of computation when the goal is only
to stop that agent from creating more unredeemable payment orders. The following
scheme attempts to achieve the same goal of limiting both fraud and the cost of
managing it, by taking a less direct action against dishonest consumers.
Let us consider the case where, again, selling agents clear some fraction of purchase
orders at time of purchase; but, rather than having the bank terminate a dishonest
consumer agent when "caught," the bank instead reports to a reputation agent. Selling agents can then, with some probability pr, issue the reputation agent a simple
query asking whether or not a particular consumer agent has run out of money.
Verifiying a consumer's solvency still carries some cost Cr, though this should
be a less costly operation in the general case than clearing with a bank. First, this
check is a simple read-only operation, whereas clearing with a bank is a combined
read-and-write operation. Second, this "reputation" information can exist in multiple
locations, to reduce network congestion. In contrast, clearing operations necessarily
involve a specific bank agent. Thus, we can make the assumption that C, < Cc.
The reputation agent in this scenario acts as a negative reputation system or blacklist, where merchants assume that a consumer is solvent unless the bank has reported
otherwise. The success of such a negative reputation system depends on it being difficult for an agent to change its identity [29]; for the purposes of this payment system,
an agent's identity is the account number on its bank-issued certificate. Changing this
identity would require moving funds to a new bank or account, and receiving a new
certificate. For this reason, banks could prevent such identity changes in practice by
not allowing such a direct funds transfer while there is a valid outstanding certificate
on an account.
Intuitively, if C, is close to Cc, this scheme performs identically to the random
52
clearing scenario in Section 4.2. Likewise, if C, is very small relative to Cc, the scheme
performs similarly to the random clearing with termination scenario (Section 4.3).
The removal of dishonest consumers from the economy is equivalent to the ability
for merchants to check for free whether or not any given customer has ran out their
balance. Of course, the latter checking operation can never be truly free, since it
requires some action on the part of the merchant, whereas termination is passive,
requiring no action.
Analysis
The analysis is again almost identical to that in Section 4.2 and 4.3, except that
now there are two concurrent random processes. Merchants attempt to clear each
transaction with the bank with probability pc; if a merchant does not elect to try
clearing a given transaction, it will check the customer's zero-balance condition with
a reputation agent with the conditional probability pr.
Processing T transactions
now results in an expected loss of T(pr(1 - pc)C, + pcCc).
The expected amount that each selling agent will lose to each dishonest consumer
due to fraud until catching it is, again, the sum of the expected loss until the consumer's balance is run out, plus the expected loss between the consumer's balance
being run out and the discovery of the condition. The expected loss that a single
merchant will experience due to a single dishonest consumer until its balance is run
out is, as before, Cf B/Spc. The probability of detecting the zero-balance condition
after it is reached is Pd, where Pd is the probability that, on a particular transaction
from a consumer with a zero-balance, the merchant will either clear with the bank, or
check with a reputation agent. Thus Pd = Pc + Pr - PcPr. Therefore the expected loss
for a single merchant resulting from a single dishonest consumer between balance depletion and detection is Cf/(Pc+Pr-PrPc).Again, this total loss due to unredeemable
orders is bounded by Ld for each dishonest consumer. Because of independence, the
total expected loss experienced by a single merchant as the result of all dishonest
53
consumers in the economy is
Cost =T(Crp,(1 - pc) + Cepe) + min(CfD(
B1
Spc
+ PrDL-).
Pc + P, - prpe
It is possible to optimize the cost for Pr in terms of pc; the optimal Pr will either
be an endpoint of the interval [0, 1], or a solution to dc"ot
= 0, which is
dpr
DCf
p t =
TCr(1
Pc)
-
Pc
1
pc(
(4.3)
Solving for both optimum probabilities simultaneously is difficult because a quartic
equation results. This makes it difficult to make the same kind of cost-benefit analysis
shown in previous sections. However, it is possible to confirm our intuition above from
the cost formula. If we take the limit of the total cost as Cr goes to 0, the optimal
dthe optimal pc is
Df
B
Propt =1, and teoimlpisVSTCC'I
the same as it was in Section 4.3. Figure 4-5
shows the results of an experiment to validate this intuition.
In closing, if the cost of checking a consumer's reputation is very small, reporting a
consumer's intent to overspend its balance to a reputation agent is a viable alternative
to termination.
4.5
Game Theory
The analysis of the three above random-clearing schemes all assume the cooperation
of all sellers in the economy, where a selling agent "cooperates" by clearing with
the optimal probability defined in each section. This frequency is, however, a social
optimum, or the optimal clearing frequency for an individual seller assuming that all
other sellers clear with the same frequency. An individual seller may, however, incur
a smaller loss to managing fraud (and thus earn a greater profit) by "defecting," or
clearing less frequently.
In the pure random-clearing scheme, an individual selling agent's best strategy
depends on what all the other selling agents in the economy do. There is no incentive
to be the first seller to cooperate in this scheme, since the benefit to that particular
54
100
With termination(Cr = 0) -o-Cr =0.01 Cr 005 oCr= 01 x
Cr =0.15-~
Cr 02
1
Maximumwithno clearing
80
40
20 --
--
-
40
....
.....
.. ......
.
.....................
..........
20
20
0
0.1
0.4
0.2
0.3
Average System-Wide Clearing Probability
0.5
0.6
Figure 4-5: Average cost vs. clearing frequency, for different values of C,
This experiment uses similar parameters as shown in Figure 4-1 except Cc = 0.1;
o-(C,) = C,/10; and the optimum p, as a function of pc, given by Equation 4.3, is
always used. When C, is very small relative to Cc, the minimal cost as a function of
clearing frequency is almost identical to the termination case (C, = 0). Higher values
of C, result in a higher minimal cost, which may still be smaller than that with no
on-line clearing. Raising C, beyond some threshold renders the scheme unprofitable.
Note that the empirical pe,,c does not appear to vary much with C, provided that
peo,, > 0; thus peopt could be approximated with the boundary case (C, = 0) in
practice.
55
agent does not outweigh the cost if no other agents cooperate. On the other hand,
if a critical mass of other selling agents in the system cooperate, it is in the best
interest of an undecided merchant to also cooperate, since it will then do better than
by not clearing at all. If we treat an individual agent's clearing decision as a game
between the agent and all the other agents in the economy, where the players must
decide between cooperating and defecting, as defined above, then there are two purestrategy Nash equilibria [36] in the game: either all agents cooperate, or all agents
defect. There may also be mixed-strategy Nash equilibria in this game; this is an
open question for future research. Since merchants are each trying to maximize their
own profits, though, no merchant programmed to act rationally will be the first to
cooperate in this random clearing plan, and the all-cooperate Nash equilibrium would
probably not be observable in practice.
The random clearing schemes with termination and reputation create social dilemmas [22] or free-rider problems [36] for the selling agents in the economy. Unlike the
pure random clearing scheme, in which an agent must cooperate to enjoy the benefits
of other agents cooperating, a defecting agent becomes a free-rider in these schemes
and may profit from other agents cooperating, without incurring the cost for cooperation itself. But if all agents choose to be free-riders and defect, they all do worse
than if they had all cooperated.
For example, in the case of termination, dishonest consumers are effectively removed from the economy when caught; sellers are thus protected from these consumers
whether or not they aid in the policing effort. In the case of reputation, the same holds
true for the clearing decision; although there is still a cost for checking reputation, a
seller only benefits from the cooperation of other sellers if it individually verifies its
customers. In this scheme there would be a temptation for selling agents to use only
the reputation agent and not to clear any purchases with the bank.2 An individual
selling agent thus always turns a higher profit in these schemes by defecting from the
clearing decision no matter what all other selling agents do. If the clearing decision
2
Note that checking reputation is a read-only operation that does not affect other sellers'
strategies.
56
All other agents
Cooperate
Defect
Agent A Cooperates
15.53
57.37
Agent A Defects
7.73
47.21
Table 4.1: Experimental cost matrix for random clearing with termination
This experiment used the same parameters as given in Figure 4-1. Each element in
the table shows how much an individual agent A spends to manage payment fraud
(clearing cost plus loss to fraud) depending on whether it "defects" or "cooperates"
in the random-clearing scheme, and whether all other agents defect or cooperate. The
experiment shows that the individual agent A is always better off defecting regardless
of what the other agents do.
is again treated as a game, the only pure-strategy Nash equilibrium is for all agents
to defect; but again, if all agents defect, they all do worse than if they all cooperated.
This can be demonstrated mathematically. Consider the random clearing with
termination case, where all selling agents but one cooperate. The average system-wide
probability that any given transaction is cleared is SjpPcopt. Now, the "defecting"
agent (one who does not participate in the clearing scheme while other agents do
participate) will only incur a cost of
DCfB
COstdefect =
=
Sc
DCfB
(S - 1) DbC5 B /STCc
=
DTCfCeB
S
-
.
It is thus beneficial to defect if
DTCfCcB
S-1
<
\/5
VDTCcC5B,
which is always true if S > 2. Thus merchants benefit by defecting from this scheme
in every non-trivial economy. The results of an experiment illustrating this are shown
in Table 4.1.
57
4.5.1
Solving the social dilemma
Since competing merchants are unlikely to cooperate to implement the sociallyoptimal solution to managing fraud on their own, we consider how they could be
encouraged to do so. This involves changing the payoffs in the merchant clearing
game, to make it less profitable to be a free-rider. The bank may take an active role
in changing the payoffs for selling agents. Some strategies that the bank may consider
in light of this issue include:
* Reward: The bank can reward merchants who catch dishonest consumers in the
act.
" Taxation: The bank can set some "optimal" clearing frequency and penalize
merchants who do not cooperate.
" Laissez-Faire:The bank could do nothing.
Of these possibilities, a taxation scheme seems the most promising. A reward
scheme requires that the reward money come from somewhere else, which would be
problematic if all selling agents cooperate. A laissez-faire approach is a valid strategy
on the part of the bank, but it is not a solution.
Experiments
I tested a taxation scheme in a simulation, where selling agents were taxed by the
bank based on the difference between a mandated clearing frequency and their actual
clearing frequency. The actual tax computed and charged for each selling agent was
T(pcopt - Pcactuai)K, where K is a tax rate constant.
When the simulated economy is run for multiple successive time intervals, it is
possible to program agents with an adaptive algorithm that adjusts its pc to minimize
its individual loss. The algorithm used here starts by clearing as infrequently as
possible and then adjusts pc to minimize the individual seller's loss. The selling
agents are aware only of their own profit or loss and do not have access to other
agents' clearing frequencies. Without a tax (K = 0), selling agents have no incentive
58
0.14
0.12 -
Social Optimum ---
0.1 -
0.08
0.04
0.02
0
100
200
300
400
Time
500
600
700
800
Figure 4-6: Average clearing probability of adaptive merchants vs. time
This experiment used the same parameters as those in Figure 4-1, and shows the
average clearing probability of merchant agents in the system as a function of time
with different tax rates. Random variations in the experiment cause the average
clearing probability to converge to a non-zero but small value with no tax. Small
tax rates result in convergence to sub-optimal frequencies, higher tax rates result in
faster convergence to the optimum, and still higher tax rates result in overshooting
the optimum.
to clear any orders on-line. When K > 1, selling agents have an incentive to clear
with the socially-optimal frequency, and the average system-wide clearing frequency
should converge to the optimal value. This behavior can be seen in Figure 4-6.
The highest tax rate tested in the above experiment resulted in overshooting the
optimal pc, but it also resulted in the lowest cumulative cost of managing fraud in
the economy. Of course, if the bank reports this optimum frequency value, agents
that voluntarily abided by this clearing frequency rather than starting with a clearing
frequency of zero and adjusting it until finding the optimum, would have the lowest
cumulative loss, since they would not incur any tax (Figure 4-7).
The above experiments validate the argument that a taxation scheme effectively
discourages defection, by introducing a strong incentive to cooperate.
59
48000
40000
E
38000
36000
34000
32000 11
0
_ _
1
_
2
3
Tax Rate
4
5
Figure 4-7: Cumulative system-wide loss for adaptive merchants vs. tax rate
After 400 time steps, the highest tax rate causes adaptive agents to lose the least to
managing fraud system-wide. But an economy where agents voluntarily abide by the
social optimum (tax rate = 2) does even better (horizontal line).
4.6
Summary
A number of different policies to alleviate the thousand-merchants attack were discussed. The policy of requiring the ability to establish the identity of a consumer
agent's owner on request was deemed inadequate to solve the thousand-merchants
problem. Thus, several different varieties of random clearing schemes were discussed
to protect selling agents from this attack.
All three random clearing schemes discussed succeed in asymptotically curbing
each seller's maximum expected loss due to fraud; with no clearing, this loss scales
linearly in D, whereas with all three random clearing schemes the total cost of managing fraud scales with the square root of D. All three schemes are beneficial under
certain circumstances. The random clearing with termination scheme is beneficial under less restrictive conditions than the pure random clearing scheme, but the former
might not be desireable or possible to implement in practice. The random clearing
with reputation scheme is a compromise between the two other schemes. The pure
random-clearing scheme will not benefit any selling agents unless they cooperate and
share the cost of implementation; the other two random clearing schemes create a
60
social dilemma for the selling agents, and cooperation must be encouraged through
a taxation scheme. By using these random clearing schemes, selling agents may enjoy the efficiency of off-line clearing while limiting their potential risk due to the
thousand-merchants attack.
61
Chapter 5
Managing Merchant Dishonesty
In this chapter I will describe the implementation of mechanisms that can be used to
discourage merchants from intentionally programming their agents to accept payment
and subsequently fail to deliver promised value. Such behavior would include nondelivery, delivering the wrong merchandise or garbage, or misrepresenting the value
of an item. Agents implementing such behavior shall, for the purposes of discussion,
be considered "dishonest."
There are existing structures in human economies to prevent these behaviors. For
example, when a person buys something through mail order or over the Web, he uses
a credit card or check to pay for the merchandise, which is then delivered by some
common carrier. A side-effect of this delivery process is the existence of a (trusted)
third party who can later be called upon to verify that merchandise was or was
not received by the customer; this ability for a third-party to retrospectively verify
delivery is known as non-repudiation. A customer's credit card company may assume
liability for non-delivery or defective merchandise, and has the power to discourage
merchants from engaging in these practices by threatening to end the merchant's
ability to accept the card.
Managing these issues is complex in agent economies where agents only trade
information. When there is no external delivery process, it is difficult to prove in
an unmediated transaction that a particular piece of merchandise was or was not
received. It may also be occasionally difficult for agents to determine that the value of
62
an item was misrepresented (false advertising) [28], or distinguish between a valuable
piece of information and one of poor quality. Non-delivery can be seen as a special case
of this instance, where the quality of the received data is zero; however, agents can
always detect non-delivery without intervention from their owners, while on occasion
humans must serve as the ultimate judges of information quality.
In general, it is impossible to completely eliminate fraud in an agent economy
[28]. However, it may be possible to limit the extent of such fraud. The remainder of
this chapter will explore mechanisms that could be used to limit the above types of
seller-side dishonesty in agent economies.
5.1
Transaction Order
Without loss of generality, we assume that in normal currency-for-merchandise transactions between agents, the currency is transferred first. This is also the case in
human economies; since consumers are so much more numerous and more difficult to
link with an identity, they are inherently less trustworthy.
The same is true for economic agents. A consumer could, of course, prevent all
forms of merchant dishonesty by waiting for the seller to transfer the merchandise
first. Few sellers would be expected to take a customer up on the offer, though. If
the merchandise were transferred before the currency, dishonesty on the part of the
merchant would cease to be an issue, but all of the same issues that previously applied
to merchants would now apply to consumers (although with greater frequency), in
addition to the issues regarding secure payments as discussed in Chapter 3.
5.2
Certification
Consumers could protect themselves from dishonest merchant agents by programming their own agents to do business only with selling agents that bears a revokable
certificate signed by some trusted third party. This would guarantee the identity of a
selling agent's owner, and thus allow a consumer to choose to do business only with
63
the agents of business with a recognized and established name.
Much work has already been done on certification mechanisms [30, 20]. Several
organizations, such as VeriSign 1 , provide certification services to Web sites; others
organizations, such as TRUSTe 2 and the Better Business Bureau3 provide electronic
"seals" verifying the reputability of electronic commerce Web sites. The Magenta
project thus did not focus on certification mechanisms, and certification is not currently supported in Magenta.
Certificates only guarantee identity, and do not on their own guarantee the reputability of the certified party. For certificates to function as a social control mechanism, or a deterrent to merchant dishonesty, there would have to be an enforcement
mechanism. This requires guilt establishment, which is not always easy in an information economy. Certificate authorities could, however, police the economy by using
their own agents to test the services of certified agents in question. This would involve expense on the part of the certificate authority, though; this cost would then be
passed on to certificate bearers. If certificates are revoked when their bearers engage
in fraudulent activity, then it may be more profitable for an agent to engage in honest
business than to obtain a new identity through a new certificate.
There is an economic inefficiency to certification. Certification involves a high
start-up cost for agents entering the economy, since the TTP certificate authorities
are also economic entities and must be paid for their service. If consumers only do
business with certified merchants, casual sellers who wish to use agents to trade on a
limited basis may find it difficult to do business in the economy.
5.3
Escrow Agents
Magenta provides an escrow service through a trusted third-party escrow agent. The
escrow agent mediates transactions of information between two other agents, holding
goods and payment in escrow until both halves of the deal are fulfilled. At that time,
ihttp://www.verisign.com
2
http: //www.truste. org
3
http://www.bbb.org
64
the escrow agent sends the goods or payment to their final destination. If either half
of the deal is not fulfilled, then the escrow agent returns the payment or merchandise
to its original owner. Thus the escrow agent guarantees that either both halves of a
mediated deal are completely fulfilled, or there is no deal. The escrow agent can also
serve as a non-repudiation service, since it can verify or refute claims that information
items were or were not delivered.
Since the escrow agent is another agent in the economy, and uses public resources
to exist, it must charge enough for its service to at least break even. It may choose
either to charge both parties in the transaction, or to charge only the merchant with
the expectation that the merchant will pass this cost along to the customer.
There are several limitations and drawbacks to the use of escrow agents. First,
while escrow agents are useful for preventing non-delivery and establishing nonrepudiation, they cannot always verify that the goods delivered are those that the
customer requested. Without an infinite (or very large) knowledge base, it may occasionally be possible for a seller to generate worthless information goods that are
indistinguishable from valuable ones. And even if escrow agents could always verify
the quality of information, doing so would require examining the information itself,
thus resulting in a loss of privacy.
The main drawback to the use of escrow agents is congestion. Even if there were
a large number of distributed escrow agents in the agent economy, each transaction
would use up to twice as much bandwidth as an unmediated transaction; the actual
information and payment being traded all have to travel an extra distance through
a third party. This makes escrow particularly impractical for transactions of small
pieces of information.
The other drawback to the use of escrow is the introduced economic inefficiency.
If a consumer's expected loss from using the escrow agent (the fee for usage) is greater
than the expected loss from not using it (the probability that any given merchant is
dishonest times the amount that would be lost if cheated in this case), there is no
reason to use the escrow agent.
Nonetheless, an escrow agent can still provide some useful service to other agents.
65
It can serve as a non-repudiation service, as previously stated; and it can be used as
a promotional tool for new sellers in the economy [32], and as a means of building up
trust.
5.4
Reputation Agents
Reputation agents allow agents to share information about their experiences with
other agents; they are a repository for information analogous to the "word-of-mouth"
knowledge that people share about other people or businesses. Reputation agents
provide a form of social control, because reputation information does not strictly
prevent dishonesty. Rather, reputation deters dishonest behavior by making it more
profitable for an agent to be honest [31].
Like the escrow agent, the reputation agent is also an economic entity and will
charge for its services.
I implemented a simple reputation agent in Magenta. It is both a positive and a
negative reputation agent in the sense that agents can register both complaints and
commendations with regard to other agents. The reputation agent that I implemented
keeps track of the complaints and commendations received about other agents, along
with an optional space for comment. Agents could then be programmed to avoid
doing business with other agents for which specific complaints have been registered.
It was previously stated that negative reputation agents will fail whenever it is
easy to change one's identity, since complaints would not be traceable to the responsible agent [29]. Thus, the reputation agent implemented in Magenta keeps track of
other agents by their location in the hierarchical name space rather than by social
name, since this identity cannot easily be changed by the agent itself. In order to
effectively change an agent's identity in this name space, the agent's human operator must manually stop the agent and restart it. Since identity changes are difficult
in Magenta, the reputation agent may be used successfully as a negative reputation
system. Should Magenta ever allow agent mobility, though, agents could effectively
change their identity by migrating, and negative reptuation would then not be useful.
66
In this case, however, a Magenta cluster could prohibit an agent with a bad reputation from migrating into it; this could possibly create a market for clusters that take
"bribes" for allowing agents with a bad reputation to migrate.
Using a reputation agent results in a different congestion problem than using an
escrow agent.
Since the actual information and payment being traded would not
have to travel any extra distance, querying the reputation agent requires much less
bandwidth than using an escrow agent. An escrow service is more easily distributed,
however; when there are multiple reputation agents in the system, not all of them
would contain the same information, and reputation information would also have to
propagate over the network.
The existence of multiple reputation agents in the economy could also possibly
create a market for metareputation information, or reputation information about the
It would also be possible for reputation
quality of reputation agents themselves.
agents to buy and sell information from each other in order to maintain the quality
and relevance of their reputation information.
5.5
5.5.1
Ramifications of Reputation Usage Modes
Negative Reputation
When the reputation agent is used as a negative reputation system, there may be
some optimal frequency for verifying a merchant's reputation. The following parallels
the analyses in Chapter 4 on random clearing systems.
Consider a case example where agents report to the reputation agent immediately
when they are cheated by a merchant agent. Assume that consumer agents always
report fraud honestly; that is, they always report fraud immediately when it occurs,
and never report a fraud when it does not occur.
In this example, assume there are M total merchants in the economy, D dishonest
merchants, and C consumers; the cost for checking a merchant's reputation is Cr, and
a consumer agent loses Cf for each transaction conducted with a dishonest merchant.
67
Again, assume that C, and Cf are constants throughout the example.
Over a finite time period, consumers perform T transactions, picking a merchant
at random for each transaction independently, and checking the reputation of this
merchant with probability pr independently on each trial. If a merchant has a "bad"
reputation (reported by another agent as cheating) another merchant is selected.
Determining whether an individual transaction is fraudulent immediately after
purchase carries a checking cost. In many instances it may be possible for an agent
to cheaply determine if it was defrauded at the time of purchase. In other instances,
it may be necessary to consult the agent owner, which is a more expensive operation
as it requires a human's immediate attention. And in either case, if fraud is detected
on a given transaction, reporting this fraud carries a cost as well. To simplify this
analysis, let Cc be the average cost for a consumer agent to check whether it was
cheated on an individual transaction, and report fraud if necessary. Assume each
consumer agents checks such transactions independently with the probability pc; if a
consumer agent elects to check any given transaction, the consumer agent does not
also look up the merchant's reputation before the transaction. If a transaction is
checked and determined to be fraudulent, the consumer immediately reports to the
reputation agent and "remembers" not to go back to the dishonest merchant.
Each consumer is expected to lose the amount spent checking reputations and
transactions, plus plus the amount actually lost to dishonest merchants. The probability that an agent checks any given transaction for fraud, a consumer should lose
on average T(pr (1 - pc)Cr + pcCc) to all checking operations.
Since a consumer agent checks any given transaction for fraud with probability
pc, each dishonest seller expects to make 1/Pc fraudulent sales on average before some
consumer agent detects it and reports to the reputation agent. If consumers select
sellers at random on each transaction, each consumer agent expects to have made up
to 1/Cpc of these transactions. Then, a consumer will not stop making purchases
from a particular dishonest merchant until the consumer individually discovers that
the merchant is dishonest either through examining a purchase or receiving word of
bad reputation. Each consumer expects to make up to 1/(Pr + Pc - PrPc) purchases
68
from each dishonest merchant after some other merchant "catches" it. Any individual
consumer's risk is limited by the total number of purchases that it could have made
with all the dishonest agents in the system, or DT/M.
Thus, the total expected cost to each consumer agent in this example is
1
Cost = T(p,(l - pc)C, + pcCc) + max(DCf ( 1+
CPc
1
1
Pr + Pc - prpc
)
DT
)
M
This cost function behaves identically as the one derived in Chapter 4.4; only the
constants are different, which reflects the r6le reversal from the random clearing with
reputation example. Thus, it can be seen that the dynamics of random fraud and
reputation checking to limit merchant dishonesty are very similar to the dynamics of
a random-clearing system to limit the thousand-merchants attack.
It is also interesting to note that if Ce is close to 0, then there is no benefit to
randomly checking reputation; if agents can cheaply determine if a merchant failed to
deliver promised value immediately after the transaction, either propt = 0 or Pro=pt
1.
It is much more likely for Ce to be small here than it was in Chapter 4.4 because an
agent may implicitly check the validity of information merchandise through usage
immediately after purchase.
Another consequence of negative reputations is the temptation for merchants to
"badmouth," or submit a false complaint about, a competing merchant. This, however, is another social dilemma; since a badmouthed merchant could retaliate simply
by badmouthing its own competitors, merchants are better off by not badmouthing
at all in the first place.
5.5.2
Positive Reputation
Positive reputation is arguably a stronger mode of usage for the reputation agent
since it eliminates the problem of fixing agent identity, and would continue to work
in a mobile-agent system assuming agents maintain their identity after migrating. It
is believed the analysis of optimum verification probabilities in a positive reputation
system would be similar to the above analysis; this is an open question for future
69
research.
There are, however, a number of issues to consider with positive reputation systems. First, a new agent in the system has no reputation, which, according to [39],
should be equivalent to the worst possible reputation so that agents are discouraged
from cheating their customers and then changing their identity. In this sense, a positive reputation is an asset that is developed over time; it is more profitable for an
agent to maintain its reputation than to go for the "quick buck" by cheating [21]. A
positive reputation could be seen as a certificate of identity with an associated continuous value, whereas the certificiates discussed in Chapter 5.2 are boolean-valued;
losing the value of a positive reputation would be similar to having a certificate revoked. Reputations, however, do not need to be controlled centrally.
A new agent in the economy with no reputation may offer some promotion, such
as a lower price, or a money-back guarantee (made possible with a trusted thirdparty escrow agent) to encourage consumers to take what they might perceive as a
risk [31]. This sort of "dues-paying" makes it possible for a new agent to acquire a
positive reputation [21].
Second, while merchants may give incentives for customers to take a perceived risk
with a new merchant, there is no incentive for agents to report reputation accurately,
or at all. Merchants may promote themselves under this system, for instance. (If
reporting reputation carries a cost, self-promotion would be effectively equivalent to
advertising.) This situation is a social dilemma, where reputation is a public good
that agents must cooperate to produce [9]. As with the social dilemma that arose in
some of the random-clearing schemes, a taxation and reward system could be used
to encourage honest and accurate reporting.
5.6
Summary
A number of different mechanisms to help prevent merchant dishonesty in agent
economies were considered. An escrow agent and reputation agent were both implemented in Magenta. The escrow agent mediates transactions and ensures that deals
70
between agents are either completed bilaterally or cancelled; the escrow agent can
also later non-repudiate transactions. The reputation agent deters dishonesty on the
part of merchants by making it more profitable in the long run to be honest.
Both escrow and reputation mechanisms carry costs for their use. There are direct
costs to fund the third-party escrow and reputation agents, and there are implicit
costs for communications overhead. Agent owners would ultimately have to decide
for themselves in what situations using such services is profitable.
It was shown
that there may be some optimal probability for using a reputation service randomly,
provided there is a mechanism to encourage honest reporting of reputations.
71
Chapter 6
Conclusions and Future Work
The Magenta system is an open and extensible multi-agent system, in which I designed and implemented both hard security and social control mechanisms to enforce
or encourage honesty in Magenta agent economies. A payment protocol based on
IBM's micropayment system, as well as a direct transfer protocol, was implemented
in Magenta; both of these protocols rely on hard security measures such as signatures
to prevent counterfeiting and protect integrity. The implemented payment protocol
allows an attack known as the thousand-merchants attack; I designed and evaluated
various randomized socially-controlled mechanisms that succeed in achieving at least
an asymptotic improvement (and under many circumstances, an absolute improvement) in the risk that merchants take by using such a system. Lastly, I designed and
implemented some social control mechanisms to encourage honest behavior among
merchant agents. While it is impossible to completely eliminate fraud from an agent
economy, I found that, by using a combination of hard security mechanisms and social
control, it was possible to construct mechanisms that would help limit the extent of
fraud and dishonesty in agent economies.
72
6.1
6.1.1
Future Work and Open Problems
Reputation Systems
Reputation systems are an open research area, and there are several reputation systems under development that are more sophisticated than the reputation agent currently implemented in Magenta. There are several such systems under development
at the MIT Media Lab, such as Histos and Sporas [39]. These systems involve a pairwise rating system, where one's complaints or commendations are weighted based on
one's own reputation in the system. These systems also limit each individual's ability
to affect the reputation of others, and prevent self-promotion. Therefore, information acquired by a reputation agent using one of these systems would likely be more
accurate than that acquired through the reputation agent currently implemented in
Magenta.
The presence of a reviewer agent, as suggested in [31], could also be useful. Like a
reputation agent, a reviewer agent supplies reputation information for a fee. However,
the reviewer agent also uses its funds to be a consumer in the economy and generates
its own reputation information. The reviewer agent could thus be seen as a reputation
agent that verifies the claims of other users. It could also use its revenue to explore
merchants on its own and generate positive reputation information that it would not
have received otherwise.
Implementing a taxation and reward system, similar to that in [9], to encourage
consumers to explore and evaluate new merchants also warrants some future consideration.
Pull vs. Push Systems
The reputation agent currently implemented in Magenta is a pull system, since individual agents "pull" information from the reputation agent by issuing queries, to
which the reputation agent responds. However, a push system might disseminate
reputation information more efficiently in a large agent economy. In such a system,
individual agents would "subscribe" to a set of reputation agents and the reputation
73
agents would then "push" relevant reputation information to their clients. This might
alleviate some network congestion because there is no longer any need for queries, and
because the reputation agent would presumably only push new or changed information; in a pull system, individual agents would still have to make a full query to check
if there is any new reputation information since some time.
6.1.2
Payment Systems
In the future, the implemented micropayment system should be expanded to include
inter-bank clearing, so that merchants and consumers who do not have accounts at
the same bank may conduct business.
To a significant extent, the potential for such an economy of agents discussed
throughout this thesis becoming a reality depends on the public's acceptance of electronic payment systems. More specifically, the information economy envisioned in this
thesis depends on the acceptance of micropayment systems for small-valued transactions. So far, although a number of such protocols exist, they have not achieved
widespread acceptance or usage at the time of writing. Much of the information
transactions on the Internet are still subscription-based, using a credit card for funds
transfer. It remains to be seen whether micropayment systems will catch on.
Also, we should consider the possibility of hardware-assisted (e.g., smart-card)
electronic payment systems. Perhaps we could construct a version of the micropayment system implemented in Magenta that relies on a piece of secure, tamper-proof
hardware to generate and sign payment orders. Such a piece of hardware might have
a smart-card reader, so that different people could use the same piece of hardware at
different times.
An electronic payment system using a piece of trusted hardware would have an
important advantage over all the payment systems discussed in this thesis: the main
obstacle to off-line cleared payment systems, the thousand-merchants attack, would be
practically eliminated. Although Chapter 4 gives several mechanisms that can reduce
the impact of the thousand-merchants attack, these mechanisms could easily be less
profitable in practice than relying on trusted hardware. Trusted software is another
74
possibility, though in general it is much easier and cheaper for an attacker to defeat
secure software than hardware. Unfortunately, this special hardware would be an
additional cost to entering the information economy; however, with mass production
and the economy of scale, this cost could become insignificant with in comparison to
the cost of buying a personal computer.
6.1.3
Legal Issues
The legal status of agents and their transactions at present is unclear. There are
many unsettled legal questions that need to be answered before people could use
agents for any non-trivial amount of commerce. Most importantly, are the contracts
that agents enter on behalf of their owner legally binding? Can a person be held
liable for a contract that one of his agents entered accidentally, possibly as the result
of a bug or programming error? How can we structure the legal system so that there
are adequate deterrents against intentionally breaking contracts formed by agents,
without discouraging usage of agents due to fears of legal repercussions that might
occur because of something as innocent as a typographic error? What sorts of legal
action can be taken against a con artist in another country with possibly different
legal standards? Until these questions are answered, it is unlikely that consumers
and businesses would feel comfortable relying on agents for any significant portion of
their participation in the economy.
75
Bibliography
[1] CyberCoin. http://www.cybercash.com.
[2] DigiCash: Solutions for security and privacy. http: //www. digicash. com.
[3] Java wallet user interface functionality (white paper).
http://java.sun.com/products/commerce/docs.
[4] MilliCent: Digital's microcommerce system.
http://www.millicent.digital.com.
[5] MilliCent wallet documentation.
http://www.millicent.digital.com/discover/community/documentation/index.html.
[6] SET: Secure electronic transactions. http://www.mastercard.com/set.
[7] N. Asokan, Phillipe A. Janson, Michael Steiner, and Michael Waidner.
The
state of the art in electronic payment systems. IEEE Computer, 30(9):28-35,
September 1997.
[8] Petri Aukia and Jean-Baptiste Lehmann. Mechanisms in electronic commerce
using micropayments. http: //studwww
. eurecom.
fr/~lehmann/study.
[9] Chris Avery, Paul Resnick, and Richard Zeckhauser. The market for evalutations.
To appear in the American Economic Review, 1998.
http://www.si.umich.edu/~presnick/papers/mfe.
[10] Nathaniel Bogan. Economic allocation of computation time with computational
markets. Master's thesis, Massachussetts Institute of Technology, 1994.
76
[11] Jeffrey M. Bradshaw. KAoS: An open agent architecture supporting reuse, interoperabiliby, and extensibility. In Proceedings of the Tenth Knowledge Acquisition for Knowledge-Based Systems Workshop, Banff, Alberta, Canada, November
1996.
[12] Deepika Chauhan and Albert D. Baker.
JAFMAS: A multiagent application
development system. In Katia P. Sycara and Michael Wooldridge, editors, Proceedings of the Second International Conference on Autonomous Agents, pages
100-107, Minneapolis/St. Paul, Minnesota, May 1998.
[13] David Chaum. Blind signatures for untraceable payments.
In David Chaum,
Ronald L. Rivest, and Alan T. Sherman, editors, Advances in CryptologyProceedings of CRYPTO '82, pages 187-197, New York, 1982. Plenum Press.
[14] David Chaum, Amos Fiat, and Moni Naor.
Untraceable electronic cash.
In
S. Goldwasser, editor, Advances in Cryptology-Proceedings of CRYPTO '88,
pages 319-327, New York, 1988. Springer-Verlag.
[15] A. Chavez and P. Maes. Kasbah: An agent marketplace for buying and selling
goods. In Proceedings of the First International Conference on the PracticalApplication of Intelligent Agents and Multi-Agent Technology (PAAM'96), London,
UK, April 1996.
[16] Anthony Chavez, Alexandros Moukas, and Pattie Maes. Challenger: A multiagent system for distributed resource allocation. In Proceedings of the International Conference on Autonomous Agents, Marina Del Ray, California, Februrary
1997.
[17] John
Q. Cheng
and Michael P. Wellman. The WALRAS algorithm: A conver-
gent distributed implementation of general equilibrium outcomes. Computational
Economics, 12(1):1-24, August 1998.
[18] DigiCash Corp. Ecash purse user's manual.
http: //www. digicash. com/ecash/docs/purse-manual.
77
[19] DigiCash Corp. How ecash works.
http://www.digicash.com/ecash/docs/works.
[20] Carl Ellison. SPKI certificates. In DIMACS Workshop on Trust Management in
Networks, South Plainfield, NJ, October 1996.
[21] Eric J. Friedman and Paul Resnick. The social cost of cheap pseudonyms: Fostering cooperation on the Internet. In Telecommunications Policy Research Conference, Washington, DC, 1998.
[22] Natalie S. Glance and Bernardo A. Huberman. The dynamics of social dilemmas.
Scientific American, pages 76-81, March 1994.
[23] Robert S. Gray. Agent Tcl: A transportable agent system. In Proceedings of
the CIKM Workshop on Intelligent Information Agents, Fourth International
Conference on Information and Knowledge Management (CIKM 95), Baltimore,
Maryland, December 1995.
[24] Robert S. Gray.
Agent Tcl: A flexible and secure mobile-agent system.
In
Proceedings of the 1996 Tcl/Tk Workshop, pages 9-23, July 1996.
[25] Amir Herzberg and Hilik Yochai. Mini-pay: Charging per click on the web. In
Michael R. Genesereth and Anna Patterson, editors, Sixth International World
Wide Web Conference, Santa Clara, California, April 1997.
[26] Jeffrey 0. Kephart, James E. Hanson, David W. Levine, Benjamin N. Grosof,
Jakka Sairamesh, Richard B. Segal, and Steve R. White. Dynamics of an information filtering economy. In Proceedings of Second International Workshop on
Cooperative Information Agents, Paris, July 1998.
[27] Luc Longpre.
The use of public-key cryptography for signing checks.
In
David Chaum, Ronald L. Rivest, and Alan T. Sherman, editors, Advances
in Cryptology-Proceedings of CRYPTO '82, pages 187-197, New York, 1982.
Plenum Press.
78
[28] Mark S. Miller and K. Eric Drexler. Comparative ecology: A computational
perspective. In B.A. Huberman, editor, The Ecology of Computation, pages 5176. North-Holland, 1988.
[29] Mark S. Miller and K. Eric Drexler. Markets and computation: Agoric open
systems. In B.A. Huberman, editor, The Ecology of Computation, pages 133176. North-Holland, 1988.
[30] Moni Naor and Kobbi Nissim. Certificate revocation and certificate update. In
Seventh USENIX Security Symposium, San Antonio, TX, January 1998.
[31] Lars Rasmusson. Socially controlled global agent systems. Master's thesis, Kungl
Tekniska H6gskolan (Royal Institute of Technology), Stockholm, Sweden, 1996.
[32] Lars Rasmusson and Sverker Jansson. Simulated social control for secure internet commerce (position paper). In New Security Paradigms, Lake Arrowhead,
California, September 1996.
[33] R. Rivest, A. Shamir, and L. Adleman. A method for obtaining digital signatures
and public key cryptosystems.
Communications of the ACM, 21(2):120-126,
February 1978.
[34] Bruce Schneier. Appiled Cryptography. John Wiley and Sons, New York, 1996.
[35] RSA Data Security. RSAREF FTP site.
Available through ftp://ftp.rsa.com/rsaref, 1998.
[36] Hal Varian. Microeconomic Analysis. W. W. Norton & Company, New York,
Third edition, 1992.
[37] Carl Waldspurger. A distributed computational economy for utilizing idle resources. Master's thesis, Massachussetts Institute of Technology, 1989.
[38] Peter R. Wurman, Michael P. Wellman, and Milliam E. Walsh.
The michi-
gan internet AuctionBot: A configurable auction server for human and software
agents. In Katia P. Sycara and Michael Wooldridge, editors, Proceedings of the
79
Second International Conference on Autonomous Agents, pages 301-308, Minneapolis/St. Paul, Minnesota, May 1998.
[39] Giorgos Zacharia and Pattie Maes. Collaborative reputation mechanisms in online communities. Working paper.
http://agents.www.media.mit.edu/groups/agents/techreports/1998//latest/paper.pdf,
[40] Phil Zimmerman. PGP User's Guide, Volume 1. 1994.
80
1998.
Download