Skip to content

Commit

Permalink
Add glossary (#93)
Browse files Browse the repository at this point in the history
Closes #37.

Signed-off-by: Anagha Sukumaran <sukumaran.anaghak@in.bosch.com>
  • Loading branch information
anagha-ks authored and manoranjith committed Aug 26, 2020
1 parent 7fe33b6 commit 2ddda82
Showing 1 changed file with 55 additions and 0 deletions.
55 changes: 55 additions & 0 deletions glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# Glossary

#### Addresses and Accounts

| | |
| :--| :--|
| On-chain Account|Account used for signing on-chain transactions and funding the ledger channels.|
| Off-chain Account| Account used for signing off-chain transactions and authentication messages in the off-chain network .|
| On-chain Address |Address corresponding to the on-chain account.|
| Off-chain Address | Address corresponding to the off-chain account. This is the permanent identity of a participant in the off-chain network.|
| Participant Address | Address used for representing a user in a channel. Currently, the off-chain address is reused as the participant address.|
|Comm Address|Address for establishing physical network connection for off-chain communication.|
|Comm Type|Type of physical network connection protocol for off-chain communication.|
|Alias| A user-friendly used for referring to a peer in user API calls. It is assigned by the user in his/her contacts file. |
| Adjudicator Address | Address of the adjudicator contract. (See Configuration and Timeouts.) |
| Asset Address | Address of the asset contract. (See Configuration and Timeouts.) |

#### IDs

| | |
| :--| :--|
|Session ID|Uniquely identifies a session on a perun node. It is derived by combining user id with some random data.|
|Proposal ID|Uniquely identifies a channel proposal. It is derived from the parameters in the channel proposal.|
|Channel ID|Uniquely identifies a channel in the off-chain network. It is derived from the parameters of a channel.|
|Update ID|Uniquely identifies a channel update. It is derived from a combination of the channel ID and its current version.|

#### Configuration and Timeouts

| | |
| :--| :--|
|Chain URL|Address of the blockchain node used by the perun node for sending and receiving on-chain transactions.|
| Adjudicator contract | The on-chain smart contract used for resolving disputes over the channel state, and handles closing of channels.|
| Asset contract |The on-chain smart contract used by adjudicator smart contract and the Perun SDK to interact with a certain type of asset/currency when funding a channel or withdrawing funds from it.
| Chain connection timeout | The blockchain node is considered unreachable if a connection could not be established within this timeout.|
| On-chain transaction timeout | The maximum time to wait for an on-chain transaction to be considered final. It this expires, the transaction is considered as failed.|
| Response timeout | The maximum time to wait for receiving a response to an off-chain message such as response for channel proposal or state update. If this expires, the peer is considered as unreachable. For proper operation of the off-chain network, all perun nodes should use the same response timeout.|
| Expiry | Timeout specified in each notification to the user. The user should respond to the notification before this timeout expires.|
| Challenge Duration |The period within which any participant must refute (with the latest state), if he/she finds a registered state is not the latest. The refute is automatically done by the perun node. It is a specified during a channel proposal and agreed upon by all participants.|

#### Channel Life cycle

| | |
| :--| :--|
| Open/Propose | Proposes the parameters for a new channel to the involved participants. If all participants accept the proposal, the channel is funded on-chain. |
| Update | Progress the state of an open channel to a new version. This is done by sending an update proposal to all participants and getting it accepted by all of them.|
| Close | Finalize the state of an open channel, register it on the blockchain and withdraw funds to the user's on-chain account.|

#### Channel Parameters


| | |
| :--| :--|
|Balances|Balance of each participant in the channel. It can be change during each update, but the sum of balances should always be the same.|
|Final|Final indicates if this is a final update. Once a final update it accepted by all participants, no further updates are possible.|
|Version|Version indicates the current version of the state in the channel. The initial state has version 0. All state updates increase the version by 1.|

0 comments on commit 2ddda82

Please sign in to comment.