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?
Is it good for a man to not have a career line on...
The elders always like to say that if a person...
In today's digital age, cloud storage service...
Which woman in life does not want to be rich in t...
Nasal folds: Are people with nasolabial folds goo...
The European branch of the International Securiti...
Is it good to have an asymmetrical face? Many peo...
Since then, Bitcoin, which was in a remote and ma...
The price of Bitcoin has repeatedly hit new highs...
Wang Yale, a reporter from Jin Securities "I...
Different people have different levels of career a...
The shape of the eyes in physiognomy is also an i...
Although blockchain technology is developing rapi...
Given the overwhelming support for Segwit2x, it’s...
After your ex-lover left you, do you often miss y...