Skip to content

Commit

Permalink
docs(whitepaper): put use-cases in W3C standard format
Browse files Browse the repository at this point in the history
WORK IN PROGRESS

As per the change proposal #2 from @takeutak, @sfuji822

Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
  • Loading branch information
petermetz committed Feb 6, 2020
1 parent 2d7e7f5 commit b36491b
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 2 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
@startuml Sequence Diagram - Fabric Quorum Asset Transfer

title Hyperledger Blockchain Integration Framework\nSequence Diagram - Fabric Quorum Asset Transfer

actor User_A as a

box "BIF" #LightGray
entity "API Server" as apis
entity "Validator" as v
end box

box "Ledgers"
entity BIF_Contract_Fabric as c1
entity BIF_Contract_Quorum as c2
database Fabric_Ledger as d1
database Quorum_Ledger as d2
end box

autoactivate on

== Authenticate ==

a -> apis: Authenticate
return Auth. Token

== Lock Fabric Asset ==

a -> apis: Lock Fabric Asset

apis -> v: Lock Fabric Asset
v -> c1: Invoke Contract: Lock Fabric Asset
c1 -> d1: Write to Ledger State \n(Asset.locked=true)
return Ledger Updated OK
return Locked Fabric Asset
return Locked Fabric Asset
return Locked Fabric Asset

autoactivate off
a -> a: Verify Signatures\nof BIF Validators
critical Signatures Valid
a -> a: <color green>Proceed with Execution</color>
else Signatures Invalid
a -> a: <color red>Abort Process,\n<color red>possible MITM\n<color red>attack in progress
end
autoactivate on

== Create Quorum Asset ==

a -> apis: Create Quorum Asset

apis -> v: Create Quorum Asset

autoactivate off
v -> v: Verify Signatures\nof BIF Validators
critical Signatures Valid
v -> v: <color green>Continue
else Signatures Invalid
v -> v: <color red>Abort
end
autoactivate on

v -> c2: Invoke Contract: Create Asset
c2 -> d2: Write Asset to Ledger State
return Ledger Updated OK
return Quorum Asset, Metadata
return Quorum Asset, Metadata
return Quorum Asset, Metadata

@enduml
17 changes: 15 additions & 2 deletions docs/whitepaper/whitepaper.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,21 @@ between a large variety of ledgers specific to certain main stream or exotic use

## 2.1 Fabric to Quorum Asset Transfer

Export an asset from one network to the other.
Details TBD
| W3C Use Case Attribute Name | W3C Use Case Attribute Value |
|-----------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Use Case Title | Fabric to Quorum Asset Transfer |
| Use Case | 1. User A owns an asset on a Fabric ledger<br>2. User A transfers transfers the asset a Quorum ledger<br><br>3. User A verifies that the same data is now present on the Quorum ledger as it was on the Fabric ledger |
| Type of Social Interaction | Generic Asset Transfer |
| Narrative | A person (User A) has multiple accounts on different ledgers (Fabric, Quorum) and they wish to have a certain piece of data available on both ledgers to achieve a certain outcome. The asset they are transferring is a generic asset meaning that it doesn't have to be currency of any sort, it can be any arbitrary set of bits that is up to the User to make use of in a meaningful way. Given the latter, this use case does not have any requirements on the avoidance of double spending since this is not necessarily applicable. |
| Actors | 1. User A: The person or entity who has ownership of the transferred asset. |
| Goals of Actors | To have some data available on multiple ledgers. |
| Success Scenario | Transfer succeeds without issues. Asset is available on both Fabric and Quorum ledgers. |
| Success Criteria | Presence of asset on both ledgers has cryptographic proof that is obtainable through BIF. |
| Failure Criteria | Signatures (the cryptographic proof) is invalid in any one of the ledgers. |
| Prerequisites | 1. Ledgers are provisioned<br>2. User A identity established on both ledgers.<br>3. User A has access to BIF deployment |
| Comments | |

![Sequence Diagram - Fabric Quorum Asset Transfer](https://www.plantuml.com/plantuml/png/0/bLN1RXen4BtxAqRqqaf9AZYYW4BIqg8IDHKalI0Xunt0oiQcO-yc_7t6teKisuKstF1xysRcpGnSEI_9PqyfJF1FXaOXVD5oHV89pc4e5wGL_CeiPKymS0uzJ4aQjqGImckV8dpVRf1IJ5P8S9rQzQZMKXiO6O-iuhKrC6GrVBRqE3FlJYALjmJt3ca-0Eb02h6mBz2w7WrRy66iLsl_ZUHMeE5ojj0Qt8su4ygHMf6-qMwFFSXK9vBr8fJpUm8iLYgEOm-kjQDpXlcDDPwuX7bP98UfTYEXB3yGEeAJo8LqMFOsBwG3cBJVm2Aa2dRUIfAPjwohS-aHh16YruD1vjSXjmfllHwJuBmVM-mUO8BGPsJYsmLCxICMyMEUpixkmkUQo5y48I12WP8tuS2VFA2gtUMPvvmBTfuSumEJGqZ28Rz9So_UGkd2n8VUPkPZf5-4VSAavod3JsLisLl9lz-mdPZ0pn-Y2iQmUkOJu0ceDedbiZIi2mz8Uhc5YLuPoU7ePiOkmrR0Vj6SKDmW3oMjq0euE5iANIgRyfAl2D7qxyWgv2AUjL_3rnTKMRYXoy-HqnUOykPKjDZpPZN2f3zOMF8G5PqxcvaAjB7EwGNVx-reUdk0IEybZurlU4EMQtBXW9B6XRmX3DyEJhUsKWsKsb8TOJ2dRln-sVB_D3_ksea1L0KFXX1MM9iC8-UuvGtnUzkBK9Cqj694vMuw3NTJMd9mCfruCftToHHcrmxd7ITIjViCRj7ByBia_eMVHiKLDyp_9Qy0 "Sequence Diagram - Fabric Quorum Asset Transfer")

## 2.2 Escrowed Sale of Data for Coins

Expand Down

0 comments on commit b36491b

Please sign in to comment.