JPMorgan Chase, one of the largest financial services institutions in the United States, became interested in Bitcoin and its underlying technology in early 2015. From recruiting cryptocurrency experts, joining the blockchain alliance R3CEV, cooperating with Digital Asset Holdings to carry out blockchain pilot projects, testing blockchain remittances, launching the distributed ledger prototype Juno, to launching the enterprise-level blockchain project Quorum, JPMorgan Chase's blockchain exploration journey is moving from the beginning to the leading position. This article is an introduction to JPMorgan Chase's blockchain project Quorum.
Quorum is a distributed ledger protocol based on Ethereum that has transaction and contract privacy features, which are achieved through a new consensus mechanism. Key enhancements:
ArchitectureThe above diagram is an overview of Quorum's privacy architecture. For a more in-depth discussion of its composition, see the wiki page. Get started quicklyThe quickest way to use Quorum is with VirtualBox and Vagrant : git clone https://github.com/jpmorganchase/quorum-examples cd quorum-examples vagrant up # (should take 5 or so minutes) vagrant ssh Now that you have a fully functional Quorum environment set up, we will run a 7-node cluster example. This will start several nodes, including voting nodes, block production nodes, and unprivileged nodes. # (from within vagrant env, use `vagrant ssh` to enter) ubuntu@ubuntu-xenial:~$ cd quorum-examples/examples/7nodes $ ./init.sh # (output condensed for clarity) [*] Cleaning up temporary data directories [*] Configuring node 1 [*] Configuring node 2 as block maker and voter [*] Configuring node 3 [*] Configuring node 4 as voter [*] Configuring node 5 as voter [*] Configuring node 6 [*] Configuring node 7 $ ./start.sh [*] Starting Constellation nodes [*] Starting bootnode... waiting... done [*] Starting node 1 [*] Starting node 2 [*] Starting node 3 [*] Starting node 4 [*] Starting node 5 [*] Starting node 6 [*] Starting node 7 [*] Unlocking account and sending first transaction Contract transaction send: TransactionHash: 0xbfb7bfb97ba9bacbf768e67ac8ef05e4ac6960fc1eeb6ab38247db91448b8ec6 waiting to be mined... true Now, we have a quorum of 7 nodes, and send a private smart contract (SimpleStorage) from Use the following command to connect and check the node: $ geth attach ipc:qdata/dd1/geth.ipc $ geth attach ipc:qdata/dd2/geth.ipc ... $ geth attach ipc:qdata/dd7/geth.ipc #eg $ geth attach ipc:qdata/dd2/geth.ipc Welcome to the Geth JavaScript console! instance: Geth/v1.5.0-unstable/linux/go1.7.3 coinbase: 0xca843569e3427144cead5e4d5999a3d0ccf92b8e at block: 679 (Tue, 15 Nov 2016 00:01:05 UTC) datadir: /home/ubuntu/quorum-examples/7nodes/qdata/dd2 modules: admin:1.0 debug:1.0 eth:1.0 net:1.0 personal:1.0 quorum:1.0 rpc:1.0 txpool:1.0 web3:1.0 > quorum.nodeInfo { blockMakerAccount: "0xca843569e3427144cead5e4d5999a3d0ccf92b8e", blockmakestrategy: { maxblocktime: 10, minblocktime: 3, status: "active", type: "deadline" }, canCreateBlocks: true, canVote: true, voteAccount: "0x0fbdc686b912d7722dc86510934589e0aaf3b55a" } # let's look at the private txn created earlier: > eth.getTransaction("0xbfb7bfb97ba9bacbf768e67ac8ef05e4ac6960fc1eeb6ab38247db91448b8ec6") { blockHash: "0xb6aec633ef1f79daddc071bec8a56b7099ab08ac9ff2dc2764ffb34d5a8d15f8", blockNumber: 1, from: "0xed9d02e382b34818e88b88a309c7fe71e65f419d", gas: 300000, gasPrice: 0, hash: "0xbfb7bfb97ba9bacbf768e67ac8ef05e4ac6960fc1eeb6ab38247db91448b8ec6", input: "0x9820c1a5869713757565daede6fcec57f3a6b45d659e59e72c98c531dcba9ed 206fd0012c75ce72dc8b48cd079ac08536d3214b1a4043da8cea85be858b39c1d", nonce: 0, r: "0x226615349dc143a26852d91d2dff1e57b4259b576f675b06173e9972850089e7", s: "0x45d74765c5400c5c280dd6285a84032bdcb1de85a846e87b57e9e0cedad6c427", to: null, transactionIndex: 1, v: "0x25", value: 0 } Note in particular the Demonstration PrivacyA detailed step-by-step guide introducing the privacy features of Quorum can be found at quorum-examples/7nodes/README. Further readingFurther documentation can be found in the docs folder and on the wiki pages. You can also view Quorum – https://github.com/jpmorganchase/quorum (this repository) Constellation – https://github.com/jpmorganchase/constellation Quorum Examples - https://github.com/jpmorganchase/quorum-examples Quorum Wiki Page - https://github.com/jpmorganchase/quorum/wiki |
>>: Bitcoin Black Friday is about to begin, are you ready to spend?
According to a report by the South China Morning ...
Editor: What are the advantages of buying coins o...
Generally speaking, a person's fortune direct...
The most likely face to attract wealth In daily l...
The International Monetary Fund (IMF) has release...
Although medical technology has developed to a re...
Analyst | Carol Editor | Tong Producer | PANews A...
What does the marriage palace in physiognomy mean...
Author | Hashipi Analysis Team...
Messy eyebrows Messy eyebrows are not good. Once ...
In modern life, people's pace of life is very...
In society, it's not just men who are lustful...
Eyebrows may seem insignificant among facial orga...
Localethereum is a peer-to-peer Ethereum trading ...
The moles on each of our bodies represent certain...