In contrast to many other projects, the Graphene technology distinguishes
different kinds of objects, in the protocol and implementation space.

In the protocol space, there are raw objects such as, accounts, assets,
committee members as well as orders, proposals and balances. The implementation
space is used to gain access to higher abstraction layers for instance content
of the current database state (these include, current global blockchain
properties, dynamic asset data, transaction histories as well as account
statistics and budget records).

In contrast to most cryptocurrency wallets, the BitShares 2.0 has a different
model to represent the blockchain, its transactions and accounts. This chapter
wants to given an introduction to the concepts of objects as they are used by
the BitShares 2.0 client. Furthermore, we will briefly introduce the API and
show how to subscribe to object changes (such as new blocks or incoming
deposits). Afterwards, we will show how exchange may monitor their accounts and
credit incoming funds to their corresponding users.

The BitShares blockchain users are requires to register each account with a unique username and a public key on the blockchain. The blockchain assigns an incremental user id and offers to resolve the name-to-id pair.