12 Commits

Author SHA1 Message Date
nolash
40c0207015 Remove irrelevant content 2020-08-26 11:24:39 +02:00
b6eae9b930 Merge branch 'tags' into 'master'
adding tags

See merge request grassrootseconomics/cic-docs!14
2020-08-26 08:25:09 +00:00
2097f29585 adding tags 2020-08-26 08:24:53 +00:00
9b6eed1f0a Merge branch 'patch-1' into 'master'
Update 017_CIC Deployment.md

See merge request grassrootseconomics/cic-docs!13
2020-08-26 08:19:22 +00:00
d87b40cb79 Update 017_CIC Deployment.md 2020-08-26 08:18:37 +00:00
4c602526b6 Merge branch 'patch-1' into 'master'
Add new file

See merge request grassrootseconomics/cic-docs!12
2020-08-26 08:16:59 +00:00
795567b12f Add new file 2020-08-26 08:16:33 +00:00
e952927364 Merge branch 'lash/token-registration' into 'master'
Token registration and announcement framework

See merge request grassrootseconomics/cic-docs!11
2020-08-26 08:09:25 +00:00
8664af4937 Merge branch 'lash/extension-api-2' into 'master'
WIP extension APIs per 20200810

See merge request grassrootseconomics/cic-docs!10
2020-08-26 08:09:09 +00:00
f794a98f5a Merge branch 'lash/reserve-proof' into 'master'
Reserve proof format

See merge request grassrootseconomics/cic-docs!8
2020-08-26 08:08:01 +00:00
nolash
a13f4cac2c Add 014 2020-08-10 09:25:11 +02:00
nolash
0b8040adcd Add resrve proof draft 2020-08-09 23:06:55 +02:00
3 changed files with 171 additions and 0 deletions

View File

@@ -0,0 +1,103 @@
# PROOF FORMAT FOR REAL-WORLD RESERVE ASSETS
This is draft status
A collection of proofs represents contracts describing real and virtual assets posted as reserve for a specific token issuance.
The underlying resources for the proofs may be documents, recordings, photos, crypto transactions.
sha256sum is calculated on files. crypto transaction hashes are used as-is. All data is is left-padded to 512 bit vectors.
The hashes are ordered in sequence of their big-endian numerical value and sha256sum is calculated on the sequence. This is the collateral proof.
--
The proof should be signed by the key performing the initial reserve transaction and made available. The following options should be considered:
- A secp256k1 ECC signature on the proof
- A ethereum blockchain transaction to a well-known address, with the proof in the data field
- An ENS record
Additional signatures may optionally be added.
---
The proof, signature and underlyding digital resources must be disseminated to a selection of storers whose role is to provide data availability on demand.
With the eventual maturity of decentralized storage, additional data availability guarantees can come from these.
---
metadata structures can be added to provide metadata and context for the digial resources in the proof.
This structure can also allow alternate hash representations of the data, aswell as additional signatures.
Lastly it can include a list of locations where the resources can be obtained. The resources should be available on querying the proof hash, responding with the resources in a well-known achive format, and optionally providing a human readable index of the files (the client can choose using the 'Accept' HTTP header)
---
example:
A contract for a token reserve consists of a written document A, a video recording B and a crypto transaction C.
sha256(A), sha256(B) are calculated. They result in Ah = 0x56.., Bh = 0x12. C = 0x34..
sha256 is calculated on the ordered sequence to obtain the proof; sha256(Bh, C, Ah) = Ph
Token T is minted by sending reserve from account K. Ph is signed by the same key; secp256k1.ec_sign(K, Ph) = Ks
The proof is encapsulated by metadata:
```
{
'version': 0,
'token': <token address>,
'proofs': {
'default': {
'digest': <Ph>,
'signatures': [
<Ks>,
],
},
'foo-algo': [
'digest': <Ph2>,
'signatures': [
...,
],
],
},
'resources': [
{
'type': 'file',
'proof': {
'default': {
'digest': <...>,
}
},
'metadata': {
'mime-type': 'application/pdf',
'filename': 'foo.pdf',
},
},
{
'type': 'ethereum-transaction',
'proof': {
'default': {
'digest': <...>,
}
},
},
],
'locations': [
'ftp://ftp.grassrootseconomics.org/reserve-resources',
'https://redcross.com/grassrootseconomics/reserve-resources',
...
]
}
```
---
Another possiblity is to host the proofs on DNS TXT records by well-known actors. This means, for example, if _<Ph>_resource_proofs.grassrootsconomics.org could returns the token address (or the other way around), that means GE considers the proof valid for the token. A list of DNS hosts can be established to decentralize this certification.

View File

@@ -0,0 +1,41 @@
# API EXTENSIONS FOR VIEWING NOTIFICATION DATABASE
## NOMENCLATURE
Values enclosed with `<>` are _required_.
Values enclosed with `[]` means _optional_.
No enclosure means _literal_.
## ADDED METHODS
Endpoints _added_ are found under /api/ext/
### `/api/ext/sms/` `/api/ext/sms/user/<user_id>/` `/api/ext/sms/<phone_number>/`
#### **GET**
Returns a list of latest sms notifications sent by the platform.
If `user_id` or `phone_number` is given, only entries for the affected user will be returned.
Accepts one query string:
```
limit: [uint] - maximum items to return (default: 100)
```
Response payload:
```
[
{
datetime: <string>,
number: <string>,
message: <string>,
},
...
]
```

View File

@@ -0,0 +1,27 @@
# CIC TOKEN TOOLING
This document is WIP.
## RATIONALE
Simplify execution of network deployment, token deployment.
The tooling should faciliate the following functions:
* Bootstrap network
* Deploy new CIC token/converter pair
* List tokens in network
* Query registry for contracts in network
* Query CIC token supply
* Query converter stats (weight, supply, fee)
* Mint additional tokens
* Burn tokens
<!--all: simplify code (use web3 arg builders rather than manual ones)
1. 1+2: connect to wallet using jsonrpc
1. 2: enable initial tx to deposit reserve and first mint
1. 2+3: connect with my metadata registry contract (deduplication of token symbols)
-->