From 31843aa56c6c9faa7216a8ae3d98855626b86afc Mon Sep 17 00:00:00 2001 From: Zach Ramsay Date: Sat, 3 Feb 2018 00:38:17 +0000 Subject: [PATCH] docs: .rst formatting & image --- docs/graphics/cosmos-sdk-image.png | Bin 0 -> 190395 bytes docs/sdk/overview.rst | 489 +++++++++++++++-------------- 2 files changed, 261 insertions(+), 228 deletions(-) create mode 100644 docs/graphics/cosmos-sdk-image.png diff --git a/docs/graphics/cosmos-sdk-image.png b/docs/graphics/cosmos-sdk-image.png new file mode 100644 index 0000000000000000000000000000000000000000..ab9a4abc68c829a7bbdbfdfbc652670f633b3fe6 GIT binary patch literal 190395 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 dTO)$ We want to assume a thriving ecosystem of Cosmos-SDK modules that are easy to compose into a blockchain application. Some of these modules will be faulty or malicious. +:: + + We assume that a thriving ecosystem of Cosmos-SDK modules that are easy to compose into a blockchain application will contain faulty or malicious modules. The Cosmos-SDK is designed to address this threat by being the foundation of an object capability system. -``` -The structural properties of object capability systems favor -modularity in code design and ensure reliable encapsulation in -code implementation. +:: -These structural properties facilitate the analysis of some -security properties of an object-capability program or operating -system. Some of these — in particular, information flow properties -— can be analyzed at the level of object references and -connectivity, independent of any knowledge or analysis of the code -that determines the behavior of the objects. As a consequence, -these security properties can be established and maintained in the -presence of new objects that contain unknown and possibly -malicious code. + The structural properties of object capability systems favor + modularity in code design and ensure reliable encapsulation in + code implementation. -These structural properties stem from the two rules governing -access to existing objects: + These structural properties facilitate the analysis of some + security properties of an object-capability program or operating + system. Some of these — in particular, information flow properties + — can be analyzed at the level of object references and + connectivity, independent of any knowledge or analysis of the code + that determines the behavior of the objects. As a consequence, + these security properties can be established and maintained in the + presence of new objects that contain unknown and possibly + malicious code. -1) An object A can send a message to B only if object A holds a -reference to B. + These structural properties stem from the two rules governing + access to existing objects: -2) An object A can obtain a reference to C only -if object A receives a message containing a reference to C. As a -consequence of these two rules, an object can obtain a reference -to another object only through a preexisting chain of references. -In short, "Only connectivity begets connectivity." + 1) An object A can send a message to B only if object A holds a + reference to B. -- https://en.wikipedia.org/wiki/Object-capability_model -``` + 2) An object A can obtain a reference to C only + if object A receives a message containing a reference to C. As a + consequence of these two rules, an object can obtain a reference + to another object only through a preexisting chain of references. + In short, "Only connectivity begets connectivity." + +See the `wikipedia article `__ for more information. Strictly speaking, Golang does not implement object capabilities completely, because of several issues: @@ -55,196 +58,202 @@ Strictly speaking, Golang does not implement object capabilities completely, bec The first is easy to catch by auditing imports and using a proper dependency version control system like Glide. The second and third are unfortunate but it can be audited with some cost. -Perhaps [Go2 will implement the object capability model](https://github.com/golang/go/issues/23157). +Perhaps `Go2 will implement the object capability model `__. -### What does it look like? +What does it look like? +^^^^^^^^^^^^^^^^^^^^^^^ Only reveal what is necessary to get the work done. For example, the following code snippet violates the object capabilities principle: -```golang -type AppAccount struct {...} -var account := &AppAccount{ - Address: pub.Address(), - Coins: sdk.Coins{{"ATM", 100}}, -} -var sumValue := externalModule.ComputeSumValue(account) -``` +:: -The method "ComputeSumValue" implies a pure function, yet the implied capability of accepting a pointer value is the capability to modify that value. The preferred method signature should take a copy instead. + type AppAccount struct {...} + var account := &AppAccount{ + Address: pub.Address(), + Coins: sdk.Coins{{"ATM", 100}}, + } + var sumValue := externalModule.ComputeSumValue(account) -```golang -var sumValue := externalModule.ComputeSumValue(*account) -``` +The method "ComputeSumValue" implies a pure function, yet the implied capability of accepting a pointer value is the capability to modify that value. The preferred method signature should take a copy instead. + +:: + + var sumValue := externalModule.ComputeSumValue(*account) In the Cosmos SDK, you can see the application of this principle in the basecoin examples folder. -```golang -// File: cosmos-sdk/examples/basecoin/app/init_handlers.go -package app +:: -import ( - "github.com/cosmos/cosmos-sdk/x/bank" - "github.com/cosmos/cosmos-sdk/x/sketchy" -) - -func (app *BasecoinApp) initRouterHandlers() { - - // All handlers must be added here. - // The order matters. - app.router.AddRoute("bank", bank.NewHandler(app.accountMapper)) - app.router.AddRoute("sketchy", sketchy.NewHandler()) -} -``` + // File: cosmos-sdk/examples/basecoin/app/init_handlers.go + package app + + import ( + "github.com/cosmos/cosmos-sdk/x/bank" + "github.com/cosmos/cosmos-sdk/x/sketchy" + ) + + func (app *BasecoinApp) initRouterHandlers() { + + // All handlers must be added here. + // The order matters. + app.router.AddRoute("bank", bank.NewHandler(app.accountMapper)) + app.router.AddRoute("sketchy", sketchy.NewHandler()) + } In the Basecoin example, the sketchy handler isn't provided an account mapper, which does provide the bank handler with the capability (in conjunction with the context of a transaction run). Security Overview ----------------- -If you want to see some examples, take a look at the [examples/basecoin](/examples/basecoin) directory. +For examples, see the `examples `__ directory. -## Design Goals +Design Goals +~~~~~~~~~~~~ The design of the Cosmos SDK is based on the principles of "capabilities systems". -## Capabilities systems +Capabilities systems +~~~~~~~~~~~~~~~~~~~~ -### Need for module isolation -### Capability is implied permission -### TODO Link to thesis +TODO: +* Need for module isolation +* Capability is implied permission +* Link to thesis -## Tx & Msg +Tx & Msg +~~~~~~~~ The SDK distinguishes between transactions (Tx) and messages (Msg). A Tx is a Msg wrapped with authentication and fee data. -### Messages +Messages +^^^^^^^^ Users can create messages containing arbitrary information by -implementing the `Msg` interface: +implementing the ``Msg`` interface: -```golang -type Msg interface { +:: - // Return the message type. - // Must be alphanumeric or empty. - Type() string + type Msg interface { + + // Return the message type. + // Must be alphanumeric or empty. + Type() string + + // Get some property of the Msg. + Get(key interface{}) (value interface{}) + + // Get the canonical byte representation of the Msg. + GetSignBytes() []byte + + // ValidateBasic does a simple validation check that + // doesn't require access to any other information. + ValidateBasic() error + + // Signers returns the addrs of signers that must sign. + // CONTRACT: All signatures must be present to be valid. + // CONTRACT: Returns addrs in some deterministic order. + GetSigners() []crypto.Address + } - // Get some property of the Msg. - Get(key interface{}) (value interface{}) - - // Get the canonical byte representation of the Msg. - GetSignBytes() []byte - - // ValidateBasic does a simple validation check that - // doesn't require access to any other information. - ValidateBasic() error - - // Signers returns the addrs of signers that must sign. - // CONTRACT: All signatures must be present to be valid. - // CONTRACT: Returns addrs in some deterministic order. - GetSigners() []crypto.Address -} - -``` - -Messages must specify their type via the `Type()` method. The type should +Messages must specify their type via the ``Type()`` method. The type should correspond to the messages handler, so there can be many messages with the same type. -Messages must also specify how they are to be authenticated. The `GetSigners()` +Messages must also specify how they are to be authenticated. The ``GetSigners()`` method return a list of addresses that must sign the message, while the -`GetSignBytes()` method returns the bytes that must be signed for a signature +``GetSignBytes()`` method returns the bytes that must be signed for a signature to be valid. Addresses in the SDK are arbitrary byte arrays that are hex-encoded when displayed as a string or rendered in JSON. -Messages can specify basic self-consistency checks using the `ValidateBasic()` +Messages can specify basic self-consistency checks using the ``ValidateBasic()`` method to enforce that message contents are well formed before any actual logic begins. -Finally, messages can provide generic access to their contents via `Get(key)`, +Finally, messages can provide generic access to their contents via ``Get(key)``, but this is mostly for convenience and not type-safe. -For instance, the `Basecoin` message types are defined in `x/bank/tx.go`: +For instance, the ``Basecoin`` message types are defined in ``x/bank/tx.go``: -```golang -type SendMsg struct { - Inputs []Input `json:"inputs"` - Outputs []Output `json:"outputs"` -} +:: -type IssueMsg struct { - Banker crypto.Address `json:"banker"` - Outputs []Output `json:"outputs"` -} -``` + type SendMsg struct { + Inputs []Input `json:"inputs"` + Outputs []Output `json:"outputs"` + } + + type IssueMsg struct { + Banker crypto.Address `json:"banker"` + Outputs []Output `json:"outputs"` + } Each specifies the addresses that must sign the message: -```golang -func (msg SendMsg) GetSigners() []crypto.Address { - addrs := make([]crypto.Address, len(msg.Inputs)) - for i, in := range msg.Inputs { - addrs[i] = in.Address - } - return addrs -} +:: -func (msg IssueMsg) GetSigners() []crypto.Address { - return []crypto.Address{msg.Banker} -} -``` + func (msg SendMsg) GetSigners() []crypto.Address { + addrs := make([]crypto.Address, len(msg.Inputs)) + for i, in := range msg.Inputs { + addrs[i] = in.Address + } + return addrs + } + + func (msg IssueMsg) GetSigners() []crypto.Address { + return []crypto.Address{msg.Banker} + } -### Transactions +Transactions +^^^^^^^^^^^^ A transaction is a message with additional information for authentication: -```golang -type Tx interface { +:: - GetMsg() Msg + type Tx interface { + + GetMsg() Msg + + // The address that pays the base fee for this message. The fee is + // deducted before the Msg is processed. + GetFeePayer() crypto.Address + + // Get the canonical byte representation of the Tx. + // Includes any signatures (or empty slots). + GetTxBytes() []byte + + // Signatures returns the signature of signers who signed the Msg. + // CONTRACT: Length returned is same as length of + // pubkeys returned from MsgKeySigners, and the order + // matches. + // CONTRACT: If the signature is missing (ie the Msg is + // invalid), then the corresponding signature is + // .Empty(). + GetSignatures() []StdSignature + } - // The address that pays the base fee for this message. The fee is - // deducted before the Msg is processed. - GetFeePayer() crypto.Address - - // Get the canonical byte representation of the Tx. - // Includes any signatures (or empty slots). - GetTxBytes() []byte - - // Signatures returns the signature of signers who signed the Msg. - // CONTRACT: Length returned is same as length of - // pubkeys returned from MsgKeySigners, and the order - // matches. - // CONTRACT: If the signature is missing (ie the Msg is - // invalid), then the corresponding signature is - // .Empty(). - GetSignatures() []StdSignature -} -``` - -The `tx.GetSignatures()` method returns a list of signatures, which must match -the list of addresses returned by `tx.Msg.GetSigners()`. The signatures come in +The ``tx.GetSignatures()`` method returns a list of signatures, which must match +the list of addresses returned by ``tx.Msg.GetSigners()``. The signatures come in a standard form: -```golang -type StdSignature struct { - crypto.PubKey // optional - crypto.Signature - Sequence int64 -} -``` +:: + + type StdSignature struct { + crypto.PubKey // optional + crypto.Signature + Sequence int64 + } It contains the signature itself, as well as the corresponding account's sequence number. The sequence number is expected to increment every time a message is signed by a given account. This prevents "replay attacks", where the same message could be executed over and over again. -The `StdSignature` can also optionally include the public key for verifying the +The ``StdSignature`` can also optionally include the public key for verifying the signature. An application can store the public key for each address it knows about, making it optional to include the public key in the transaction. In the case of Basecoin, the public key only needs to be included in the first @@ -252,90 +261,98 @@ transaction send by a given account - after that, the public key is forever stored by the application and can be left out of transactions. Transactions can also specify the address responsible for paying the -transaction's fees using the `tx.GetFeePayer()` method. +transaction's fees using the ``tx.GetFeePayer()`` method. -The standard way to create a transaction from a message is to use the `StdTx`: +The standard way to create a transaction from a message is to use the ``StdTx``: -```golang -type StdTx struct { - Msg - Signatures []StdSignature -} -``` +:: -### Encoding and Decoding Transactions + type StdTx struct { + Msg + Signatures []StdSignature + } + +Encoding and Decoding Transactions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Messages and transactions are designed to be generic enough for developers to specify their own encoding schemes. This enables the SDK to be used as the framwork for constructing already specified cryptocurrency state machines, for instance Ethereum. -When initializing an application, a developer must specify a `TxDecoder` +When initializing an application, a developer must specify a ``TxDecoder`` function which determines how an arbitrary byte array should be unmarshalled -into a `Tx`: +into a ``Tx``: -```golang -type TxDecoder func(txBytes []byte) (Tx, error) -``` +:: -In `Basecoin`, we use the Tendermint wire format and the `go-wire` library for -encoding and decoding all message types. The `go-wire` library has the nice + type TxDecoder func(txBytes []byte) (Tx, error) + +In ``Basecoin``, we use the Tendermint wire format and the ``go-wire`` library for +encoding and decoding all message types. The ``go-wire`` library has the nice property that it can unmarshal into interface types, but it requires the relevant types to be registered ahead of type. Registration happens on a -`Codec` object, so as not to taint the global name space. +``Codec`` object, so as not to taint the global name space. -For instance, in `Basecoin`, we wish to register the `SendMsg` and `IssueMsg` +For instance, in ``Basecoin``, we wish to register the ``SendMsg`` and ``IssueMsg`` types: -```golang -cdc.RegisterInterface((*sdk.Msg)(nil), nil) -cdc.RegisterConcrete(bank.SendMsg{}, "cosmos-sdk/SendMsg", nil) -cdc.RegisterConcrete(bank.IssueMsg{}, "cosmos-sdk/IssueMsg", nil) -``` +:: + + cdc.RegisterInterface((*sdk.Msg)(nil), nil) + cdc.RegisterConcrete(bank.SendMsg{}, "cosmos-sdk/SendMsg", nil) + cdc.RegisterConcrete(bank.IssueMsg{}, "cosmos-sdk/IssueMsg", nil) Note how each concrete type is given a name - these name determine the type's unique "prefix bytes" during encoding. A registered type will always use the same prefix-bytes, regardless of what interface it is satisfying. For more -details, see the [go-wire documentation](https://github.com/tendermint/go-wire/blob/develop). +details, see the `go-wire documentation `__. -## MultiStore +MultiStore +~~~~~~~~~~ -### MultiStore is like a filesystem -### Mounting an IAVLStore +MultiStore is like a filesystem +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Mounting an IAVLStore +^^^^^^^^^^^^^^^^^^^^^ -``` TODO: -- IAVLStore: Fast balanced dynamic Merkle store. - - supports iteration. -- MultiStore: multiple Merkle tree backends in a single store - - allows using Ethereum Patricia Trie and Tendermint IAVL in same app -- Provide caching for intermediate state during execution of blocks and transactions (including for iteration) -- Historical state pruning and snapshotting. -- Query proofs (existence, absence, range, etc.) on current and retained historical state. -``` +* IAVLStore: Fast balanced dynamic Merkle store. -## Context + * supports iteration. +* MultiStore: multiple Merkle tree backends in a single store + + * allows using Ethereum Patricia Trie and Tendermint IAVL in same app -The SDK uses a `Context` to propogate common information across functions. The -`Context` is modelled after the Golang `context.Context` object, which has +* Provide caching for intermediate state during execution of blocks and transactions (including for iteration) +* Historical state pruning and snapshotting. +* Query proofs (existence, absence, range, etc.) on current and retained historical state. + +Context +------- + +The SDK uses a ``Context`` to propogate common information across functions. The +``Context`` is modelled after the Golang ``context.Context`` object, which has become ubiquitous in networking middleware and routing applications as a means to easily propogate request context through handler functions. -The main information stored in the `Context` includes the application +The main information stored in the ``Context`` includes the application MultiStore (see below), the last block header, and the transaction bytes. Effectively, the context contains all data that may be necessary for processing a transaction. Many methods on SDK objects receive a context as the first argument. -## Handler +Handler +------- -Transaction processing in the SDK is defined through `Handler` functions: +Transaction processing in the SDK is defined through ``Handler`` functions: -```golang -type Handler func(ctx Context, tx Tx) Result -``` +:: + + type Handler func(ctx Context, tx Tx) Result A handler takes a context and a transaction and returns a result. All information necessary for processing a transaction should be available in the @@ -347,47 +364,65 @@ to a particular store (or two or more). Access to stores is managed using capabilities keys and mappers. When a handler is initialized, it is passed a key or mapper that gives it access to the relevant stores. -```golang -// File: cosmos-sdk/examples/basecoin/app/init_stores.go -app.BaseApp.MountStore(app.capKeyMainStore, sdk.StoreTypeIAVL) -app.accountMapper = auth.NewAccountMapper( - app.capKeyMainStore, // target store - &types.AppAccount{}, // prototype -) +:: -// File: cosmos-sdk/examples/basecoin/app/init_handlers.go -app.router.AddRoute("bank", bank.NewHandler(app.accountMapper)) + // File: cosmos-sdk/examples/basecoin/app/init_stores.go + app.BaseApp.MountStore(app.capKeyMainStore, sdk.StoreTypeIAVL) + app.accountMapper = auth.NewAccountMapper( + app.capKeyMainStore, // target store + &types.AppAccount{}, // prototype + ) + + // File: cosmos-sdk/examples/basecoin/app/init_handlers.go + app.router.AddRoute("bank", bank.NewHandler(app.accountMapper)) + + // File: cosmos-sdk/x/bank/handler.go + // NOTE: Technically, NewHandler only needs a CoinMapper + func NewHandler(am sdk.AccountMapper) sdk.Handler { + return func(ctx sdk.Context, msg sdk.Msg) sdk.Result { + cm := CoinMapper{am} + ... + } + } -// File: cosmos-sdk/x/bank/handler.go -// NOTE: Technically, NewHandler only needs a CoinMapper -func NewHandler(am sdk.AccountMapper) sdk.Handler { - return func(ctx sdk.Context, msg sdk.Msg) sdk.Result { - cm := CoinMapper{am} - ... - } -} -``` +AnteHandler +----------- -## AnteHandler +Handling Fee payment +~~~~~~~~~~~~~~~~~~~~ -### Handling Fee payment -### Handling Authentication +Handling Authentication +~~~~~~~~~~~~~~~~~~~~~~~ -## Accounts and x/auth +Accounts and x/auth +------------------- -### sdk.Account -### auth.BaseAccount -### auth.AccountMapper +sdk.Account +~~~~~~~~~~~ -## Wire codec +auth.BaseAccount +~~~~~~~~~~~~~~~~ -### Why another codec? -### vs encoding/json -### vs protobuf +auth.AccountMapper +~~~~~~~~~~~~~~~~~~ -## Dummy example +Wire codec +---------- -## Basecoin example +Why another codec? +~~~~~~~~~~~~~~~~~~ + +vs encoding/json +~~~~~~~~~~~~~~~~ + +vs protobuf +~~~~~~~~~~~ + +Dummy example +------------- + +Basecoin example +---------------- The quintessential SDK application is Basecoin - a simple multi-asset cryptocurrency. Basecoin consists of a set of @@ -395,5 +430,3 @@ accounts stored in a Merkle tree, where each account may have many coins. There are two message types: SendMsg and IssueMsg. SendMsg allows coins to be sent around, while IssueMsg allows a set of predefined users to issue new coins. - -## Conclusion