From 5e413a3ebb904386342fc3396b6bade9b761a38d Mon Sep 17 00:00:00 2001 From: Blue-Moon Date: Fri, 16 Nov 2018 01:18:19 +0900 Subject: [PATCH 1/6] Add files via upload --- docs/root/source/transaction-concepts_ko.md | 70 +++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 docs/root/source/transaction-concepts_ko.md diff --git a/docs/root/source/transaction-concepts_ko.md b/docs/root/source/transaction-concepts_ko.md new file mode 100644 index 00000000..b1366875 --- /dev/null +++ b/docs/root/source/transaction-concepts_ko.md @@ -0,0 +1,70 @@ + + +# Transaction Concepts + +트랜잭션은 물건 (예 : 자산)을 등록, 발행, 생성 또는 전송하는 데 사용됩니다. + +트랜잭션은 BigchainDB가 저장하는 가장 기본적인 종류의 레코드입니다. CREATE 트랜잭션과 TRANSFER 트랜잭션의 두 종류가 있습니다. + + +## Transactions 생성 + +CREATE 트랜잭션은 BigchainDB에서 한 가지 (또는 자산)의 이력을 등록, 발행, 생성 또는 다른 방법으로 시작하는 데 사용될 수 있습니다. 예를 들어, 신원이나 창작물을 등록 할 수 있습니다. 이러한 것들을 종종 "자산"이라고 부르지 만 문자 적 ??자산이 아닐 수도 있습니다. + +BigchainDB는 BigchainDB Server v0.8.0부터 나눌 수있는 자산을 지원합니다. 이는 "공유"의 초기 숫자로 자산을 생성 / 등록 할 수 있음을 의미합니다. 예를 들어, CREATE 트랜잭션은 50 개의 오크 나무로 된 트럭로드를 등록 할 수 있습니다. 분할 가능한 자산의 각 주식은 서로 공유 할 수 있어야합니다. 주식은 대체 가능해야합니다. + +CREATE 트랜잭션은 하나 이상의 출력을 가질 수 있습니다. 각 출력에는 관련 금액이 있습니다. 출력에 연결된 공유 수입니다. 예를 들어 자산이 50 개의 오크 나무로 구성되어있는 경우 한 출력에는 한 소유자 세트에 35 개의 오크 나무가 있고 다른 출력에는 다른 소유자 세트에는 15 개의 오크 나무가있을 수 있습니다. + +또한 각 출력에는 연관된 조건이 있습니다. 출력을 전송 / 소비하기 위해 충족되어야하는 조건 (TRANSFER 트랜잭션에 의해). BigchainDB는 다양한 조건을 지원합니다. 자세한 내용은 관련 BigchainDB의 거래 구성 요소 : 조건 섹션을 참조하십시오. +BigchainDB supports a variety of conditions. +For details, see +the section titled **Transaction Components: Conditions** +in the relevant +[BigchainDB Transactions Spec](https://github.com/bigchaindb/BEPs/tree/master/tx-specs/). + +![Example BigchainDB CREATE transaction](docs/root/source/_static/CREATE_example.png) + +위의 예제에서는 BigchainDB CREATE 트랜잭션 다이어그램을 보여줍니다. Pam은 자산 3 주를 소유 / 통제하고 다른 주식은 없습니다 (다른 산출물이 없으므로). + +각 출력에는 해당 출력의 조건과 연관된 모든 공개 키 목록이 있습니다. 다시 말하면, 그 목록은 "소유자"의 목록으로 해석 될 수 있습니다.보다 정확한 단어는 이행자, 서명자, 컨트롤러 또는 이전 가능 요소 일 수 있습니다. 관련 BigchainDB 거래 명세서의 소유자에 관한 참고 사항 섹션을 참조하십시오. +See the section titled **A Note about Owners** +in the relevant [BigchainDB Transactions Spec](https://github.com/bigchaindb/BEPs/tree/master/tx-specs/). + +CREATE 트랜잭션은 모든 소유자가 서명해야합니다. (만약 당신이 그 서명을 원한다면, 그것은 인코딩되었지만 하나의 입력의 "이행"에있다.) + +## TRANSFER Transactions + +TRANSFER 트랜잭션은 다른 트랜잭션 (CREATE 트랜잭션 또는 다른 TRANSFER 트랜잭션)에서 하나 이상의 출력을 전송 / 소비 할 수 있습니다. 이러한 출력물은 모두 동일한 자산과 연결되어야합니다. TRANSFER 트랜잭션은 한 번에 하나의 자산의 공유 만 전송할 수 있습니다. + +TRANSFER 트랜잭션의 각 입력은 다른 트랜잭션의 한 출력에 연결됩니다. 각 입력은 전송 / 소비하려는 출력의 조건을 충족해야합니다. + +TRANSFER 트랜잭션은 위에서 설명한 CREATE 트랜잭션과 마찬가지로 하나 이상의 출력을 가질 수 있습니다. 투입물에 들어오는 총 주식 수는 산출물에서 나가는 총 주식 수와 같아야합니다s. + +![Example BigchainDB transactions](/docs/root/source/_static/CREATE_and_TRANSFER_example.png) + +위 그림은 두 개의 BigchainDB 트랜잭션, CREATE 트랜잭션 및 TRANSFER 트랜잭션의 다이어그램을 보여줍니다. CREATE 트랜잭션은 이전 다이어그램과 동일합니다. TRANSFER 트랜잭션은 Pam의 출력을 소비하므로 TRANSFER 트랜잭션의 입력에는 Pam의 유효한 서명 (즉, 유효한 이행)이 포함되어야합니다. TRANSFER 트랜잭션에는 두 개의 출력이 있습니다. Jim은 하나의 공유를 가져오고 Pam은 나머지 두 개의 공유를 가져옵니다. + +용어 : "Pam, 3"출력을 "소비 된 트랜잭션 출력"이라고하며 "Jim, 1"및 "Pam, 2"출력을 "사용되지 않은 트랜잭션 출력"(UTXO)이라고합니다. + +**예제 1:** 빨간 차가 Joe가 소유하고 관리한다고 가정합니다. 자동차의 현재 전송 조건에서 Joe가 유효한 전송을 서명해야한다고 가정합니다. Joe는 Joe의 서명 (현재 출력 조건을 충족시키기 위해)과 Rae가 유효한 전송을 서명해야한다는 새로운 출력 조건을 포함하는 입력을 포함하는 TRANSFER 트랜잭션을 작성할 수 있습니다. + +**예제 2:** 예를 들어 동일한 자산 유형의 이전에 전송되지 않은 4 개의 자산에 대한 출력 조건을 충족하는 TRANSFER 트랜잭션을 생성 할 수 있습니다. 종이 클립. 총 금액은 20, 10, 45 및 25 일 수 있으며, 말하자면 총 100 개의 클립입니다. 또한 TRANSFER 트랜잭션은 새로운 전송 조건을 설정합니다. 예를 들어, Gertrude가 서명하는 경우에만 60 개의 클립 클립이 전송 될 수 있으며 Jack과 Kelly가 서명하는 경우에만 40 개의 클립 클립이 전송 될 수 있습니다. 들어오는 클립 클립의 합계가 나가는 클립 클립의 합계와 같아야합니다 (100). + +## Transaction Validity + +언제 트랜잭션이 유효한지 유효성을 검사하는 것에 관해 해당 블로그에 게시되어있습니다. *The BigchainDB Blog*: +["What is a Valid Transaction in BigchainDB?"](https://blog.bigchaindb.com/what-is-a-valid-transaction-in-bigchaindb-9a1a075a9598) +(Note: That post was about BigchainDB Server v1.0.0.) + +Each [BigchainDB Transactions Spec](https://github.com/bigchaindb/BEPs/tree/master/tx-specs/) documents the conditions for a transaction (of that version) to be valid. + +## Example Transactions + +아래의 HTTP API 문서와 Python 드라이버 문서에는 예제 BigchainDB 트랜잭션이 있습니다. +[the HTTP API documentation](https://docs.bigchaindb.com/projects/server/en/latest/http-client-server-api.html) +and +[the Python Driver documentation](https://docs.bigchaindb.com/projects/py-driver/en/latest/usage.html). From ace8d038da10785d0ca7e8ff67ce36a7096de00a Mon Sep 17 00:00:00 2001 From: jho2301 <44419181+jho2301@users.noreply.github.com> Date: Sun, 18 Nov 2018 14:09:00 +0900 Subject: [PATCH 2/6] Add files via upload --- ...hainDB and Byzantine Fault Tolerance-ko.md | 12 + docs/root/source/Querying BigchainDB-ko.md | 236 ++++++++++++++++++ .../how BigchainDB could be imutable-ko.md | 40 +++ .../source/the kinds of node diversity-ko.md | 17 ++ 4 files changed, 305 insertions(+) create mode 100644 docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md create mode 100644 docs/root/source/Querying BigchainDB-ko.md create mode 100644 docs/root/source/how BigchainDB could be imutable-ko.md create mode 100644 docs/root/source/the kinds of node diversity-ko.md diff --git a/docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md b/docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md new file mode 100644 index 00000000..a93ef6a9 --- /dev/null +++ b/docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md @@ -0,0 +1,12 @@ + + +# BigchainDB Byzantine Fault Tolerance + +[BigchainDB Server](https://docs.bigchaindb.com/projects/server/en/latest/index.html) + ü ǿ Ʈ [Tendermint](https://tendermint.com/) մϴ. + +׸ Tendermint [Byzantine Fault Tolerant (BFT)](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance). diff --git a/docs/root/source/Querying BigchainDB-ko.md b/docs/root/source/Querying BigchainDB-ko.md new file mode 100644 index 00000000..f0e1d8b2 --- /dev/null +++ b/docs/root/source/Querying BigchainDB-ko.md @@ -0,0 +1,236 @@ + +.. Copyright BigchainDB GmbH and BigchainDB contributors + SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0) + Code is Apache-2.0 and docs are CC-BY-4.0 + +BigchainDB +=================== + + operator MongoDB ִ Ͽ Ʈ, ڻ Ÿ͸ Ͽ ͸ ˻ϰ ֽϴ. + operator ܺ ڿ 󸶳 Ŀ ֽϴ. + + + Ե α Խù +------------------------------ + + +BigchainDB α׿ MongoDB Ͽ BigchainDB MongoDB ͺ̽ ϴ Խù ÷Ƚϴ. + +Ϳ Ϻ Ư ֿ Դϴ. +`⼭ Ȯϼ `_. + +MongoDB ϱ +------------------------- + + +MongoDB ͺ̽ Ϸ ͺ̽ ؾ մϴ. ׷ ؼ ȣƮ ̸ Ʈ ˾ƾ մϴ. + + ׽Ʈ ǻͿ BigchainDB 带 ȣƮ ̸ " ȣƮ" ϸ ̷ ʴ Ʈ "27017"̾ մϴ. ýۿ BigchainDB 带 ̸ ش ýۿ SSH ִ 쿡 Դϴ. + + ýۿ BigchainDB 带 ϰ MongoDB auth ϰ ׼ ֵ ( ִ ڿ) ȣƮ ̸ Ʈ Ȯ ֽϴ. + +ϱ +------------ + +BigchainDB ڴ MongoDB νϽ ü ׼ Ƿ ϴµ MongoDB API ֽϴ: + +- `the Mongo Shell `_, +- `MongoDB Compass `_, +- one of `the MongoDB drivers `_, such as `PyMongo `_, or +- MongoDB Ƽ, RazorSQL, Studio 3T, Mongo Management Studio, NoSQLBooster for MongoDB, or Dr. Mongo. + +.. note:: + + SQL ̿ mongoDB ͺ̽ ֽϴ. : + + * Studio 3T: "`How to Query MongoDB with SQL `_" + * NoSQLBooster for MongoDB: "`How to Query MongoDB with SQL SELECT `_" + + ⺻ BigchainDB 带 ϴ ýۿ ִ Mongo Shell (``mongo``) Ͽ ϰ ֽϴ. + +.. code:: + + $ mongo + MongoDB shell version v3.6.5 + connecting to: mongodb://127.0.0.1:27017 + MongoDB server version: 3.6.4 + ... + > show dbs + admin 0.000GB + bigchain 0.000GB + config 0.000GB + local 0.000GB + > use bigchain + switched to db bigchain + > show collections + abci_chains + assets + blocks + elections + metadata + pre_commit + transactions + utxos + validators + + Ȳ ݴϴ: + + +* BigchainDB ͸ ``bigchain``.̶ ͺ̽ մϴ. +* ``bigchain` ͺ̽ `collections`_. ԵǾ ֽϴ. +*  ÷ǿ ǥ ʽϴ. ̷ ʹ ü(LevelDB) ͺ̽ óǰ ˴ϴ. + +÷ǿ +--------------------------------------- + +``bigchain`` ͺ̽ ̷ο κ Ʒ ϴ: + +- transactions +- assets +- metadata +- blocks + +``db.assets.findOne()`` MongoDB Ͽ ̷ ÷ǵ Ž ֽϴ. + + +Ʈǿ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +transaction ÷ǿ CREATE Ʈǿ ߰ ``"_id"`` ʵ(MongoDB ߰) ԵǸ ``"asset"`` ``"metadata"`` ʵ忡 Ͱ Ǿ ʽϴ. + +.. code:: + + { + "_id":ObjectId("5b17b9fa6ce88300067b6804"), + "inputs":[], + "outputs":[], + "operation":"CREATE", + "version":"2.0", + "id":"816c4dd7851af1629" + } + +A TRANSFER transaction from the transactions collection is similar, but it keeps its ``"asset"`` field. + +.. code:: + + { + "_id":ObjectId("5b17b9fa6ce88300067b6807"), + "inputs":[], + "outputs":[], + "operation":"TRANSFER", + "asset":{ + "id":"816c4dd7ae51af1629" + }, + "version":"2.0", + "id":"985ee697da3296b9" + } + +assets +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +assets MongoDB ߰ ``"_id"` о߿ CREATE ŷ `asset.data`` ׸ ``"id"`` ֻ о߷ Ǿ ֽϴ. +.. code:: + + { + "_id":ObjectId("5b17b9fe6ce88300067b6823"), + "data":{ + "type":"cow", + "name":"Mildred" + }, + "id":"96002ef874045869959d8" + } + + metadata +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +metadata ÷ MongoDB ߰ ``"ID"`ʵ ŷ `asset.data``׸ ŷ ``"ID"`` ֻ о߷ Ǿ ֽϴ. + +.. code:: + + { + "_id":ObjectId("5b17ba006ce88300067b683d"), + "metadata":{ + "transfer_time":1058568256 + }, + "id":"53cba620eae9fdee0" + } + +blocks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: + + { + "_id":ObjectId("5b212c1ceaaa420006f41c57"), + "app_hash":"2b0b75c2c27fb2652ce26c6", + "height":17, + "transactions":[ + "5f1f2d6bed98c1e" + ] + } + + operator ܺ +------------------------------------------------- + + operator ܺ ڰ ڽ MongoDB ͺ̽ ֽϴ. : + +- ܺ óϴ MongoDB ͺ̽ ѵ ѵ MongoDB ) read-only +- ѵ ̸ ǵ ϴ ѵ HTTP API(BigchainDB ϴ HTTP API)`_, ȤDjango, Express, Ruby on Rails, or ASP.NET. ̿ Ŀ HTTP API +- ٸ API(: GraphQL API) 3 ڵ Ǵ ڵ带 Ͽ ֽϴ.. + + + operator MongoDB ͺ̽ ٸ Ǵ ׼ ֽϴ. + , operator ȭ ϱ ֽϴ.`_. + + +----------------------- + +BigchainDB 1.3.0 ϳ MongoDB ͺ̽ ־ ܺ ڿ ͺ̽ ϴ ſ ʽϴ. +"drop database" MongoDB ͺ̽ մϴ. + + +BigchainDB 2.0.0 ̻󿡼 忡 MongoDB ͺ̽ մϴ. + Ʒ ׸ 1 MongoDB ƴ Tendermint Ͽ ˴ϴ. + MongoDB ͺ̽ ջǾ ٸ ʽϴ. + +.. figure:: _static/schemaDB.png + :alt: Diagram of a four-node BigchainDB 2.0 network + :align: center + + Figure 1: A Four-Node BigchainDB 2.0 Network + +.. raw:: html + +
+
+
+ +ս +----------------------------------- + + μ ҽ Ҹ Ƿ, BigchainDB Tendermint Core ǻͿ MongoDB ϴ ϴ. + + operator ȸ Ǵ ҽ Ͽ ȸ û û ֽϴ. + +Ϻ ʹ ɸų ҽ ʹ ֽϴ. operator ִ ҽ ΰ, ʰȴٸ (Ǵ )ؾ մϴ. + +MongoDB ȿ _`ε `_ ֽϴ. ̷ ε operator Ǵ Ϻ ܺ ڰ ֽϴ( ڰ ϴ ). ε ʽϴ. ͸ ÷ǿ ߰ ش ε Ʈؾ մϴ. ڴ ̷ ε ϰ ֽϴ. mongoDB ÷ 64 ε ֽϴ. +`_. + +One can create a follower node: a node with Tendermint voting power 0. It would still have a copy of all the data, so it could be used as read-only node. A follower node could offer specialized queries as a service without affecting the workload on the voting validators (which can also write). There could even be followers of followers. +Tendermint votingĿ 0 带 ִ. 纻 Ƿ б ֽϴ. Follower ǥ ۾ Ͽ ġ ʰ 񽺷 ȭ ֽϴ(⵵ ). ȷο ȷο鵵 ֽϴ. + +ڹٽũƮ ڵ s +------------------------------ + + ϳ Ͽ MongoDB ͺ̽ ֽϴ. +MongoDB node.js ̹ MongoDB ̹ +`_. + + ڹٽũƮ ڵ忡 ũ ֽϴ + +- `The BigchainDB JavaScript/Node.js driver source code `_ +- `Example code by @manolodewiner `_ +- `More example code by @manolodewiner `_ diff --git a/docs/root/source/how BigchainDB could be imutable-ko.md b/docs/root/source/how BigchainDB could be imutable-ko.md new file mode 100644 index 00000000..d174dd70 --- /dev/null +++ b/docs/root/source/how BigchainDB could be imutable-ko.md @@ -0,0 +1,40 @@ + + +# BigchainDB Һ ° + +_Imunable_̶ ܾ "ð Һ" ǹմϴ. 10 ϴ(3.14159...)). + +ü Ŀ´Ƽ ü "Һϴ" մϴ. 츮 ܾ ״ ؼѴٸ, װ ü Ͱ ų ̶ ǹϴµ, ̰ ȵ˴ϴ. ʹ _ ֽϴ_. , η ų ִ ó ʹ п ջ, µ ջ, Ʈ Ϲ ð ջ ֽϴ. + +ü Ͱ Ϲ 캸 (Ȥ )ϱⰡ Դϴ. ü ʹ ܼ (ǵ) " " ġ ʰ ϵ ̺ ջ ǵ ߻ ִ 濡 մϴ. üο "ҺѴ" ܾ 츮  ǵ ** Һ ؼմϴ. (ڵ "ҺѴ" ܾ ü Ŀ´Ƽ ̴ Դϴ.) + + + + + + + +ü ʹ Һ ֽϴ: + +1. ** Ǵ API .** Blockchain Ʈ Ϲ üο ͸ ϰų ϱ API ʽϴ. BigchainDB API ʽϴ . ̰ ̳ _ٸ _ Ͼ մϴ. ̰ ϳ  Դϴ. + +1. **.** ʹ ()˴ϴ. Ͱ , ϰų ϱⰡ ϴ. + +1. ** ġ** 尡 ͸ϰ ߻ϸ ġ ֽϴ. +1. **ܺ ġ** ҽþ ã ͸ ͸ϰ ִ 3ڸ ֽϴ. ִ ͸ ҽþ , ֽϴ. +1. ** μƼ** Ϻ ü ý ͸ ϴ մϴ. ۾ ý ֽϴ. BigchainDB 쿡 ̷ μƼ긦 ʽϴ. + +1.ȭ ս Ҹ ڵ ͸ ֽϴ + + +**ȣȭ ǥ** ޽(: Ʈ) ߿ ջǾ Ȯϰ ޽ ڸ Ȯϴ ˴ϴ. BigchainDB Ʈǿ ̻ ڰ ؾ մϴ + +1.**ü Ǵ κ ** ڱ , Ÿ ü, μ⹰  ϵ ֽϴ. +1.** ** ڴ å äϰ ֽϴ. + + +1. ** پ缺.** پ缺 ؼ (: ڿ Ǵ  ü ) 带 ջų մϴ. [ پ缺 ] ϼ diff --git a/docs/root/source/the kinds of node diversity-ko.md b/docs/root/source/the kinds of node diversity-ko.md new file mode 100644 index 00000000..b97200ff --- /dev/null +++ b/docs/root/source/the kinds of node diversity-ko.md @@ -0,0 +1,17 @@ + + +# پ缺 + + + ̺Ʈ "" κ ϰų ջŰ ư Ǿ մϴ.(BigchainDB Tendermint ϱ ⼭ "" 1?3 մϴ.) Ʒ پ缺 ؾ մϴ. ־ پ缺 Դϴ. + +1. **ұ پ缺.** չ ұ ڵ մϴ. ̴  ϱ⿡ ܵ ϱ ư ֽϴ. +1. ** پ缺.** ġմϴ. ̴ ڿ (ȫ Ǵ ) ߱ ŭ ջDZ ư մϴ. +1. **ȣ پ缺.** ȣ (ex. Amazon Web Services, Microsoft Azure, Digital Oceure, Rackspace) ȣؾ մϴ. ̴ ϳ ȣ ڰ ' ' 忡 ġⰡ ϴ. +1. **Ϲ ǹ پ缺.** Ϲ پ缺 ҽþ ݴϴ. , װ ذῡ ʿ پ ̵ ҽ ҽþ մϴ. + +: 尡 ڵ(ex. BigchainDB ) ϰ ִ , ش ڵ ׸ Ͽ 带 ջų ֽϴ. ̻δ BigchainDB (: Python, Go ) ǰ ִ پ ־, ҽþ پ Դϴ.  ü ؼ ̴ ϰ ˴ϴ. From 716859c88afb76dc41b616899bfa581d9fd57cd3 Mon Sep 17 00:00:00 2001 From: jho2301 <44419181+jho2301@users.noreply.github.com> Date: Sun, 18 Nov 2018 16:35:18 +0900 Subject: [PATCH 3/6] Rename BigchainDB and Byzantine Fault Tolerance-ko.md to bft-ko.md --- .../BigchainDB and Byzantine Fault Tolerance-ko.md | 12 ------------ docs/root/source/bft-ko.md | 12 ++++++++++++ 2 files changed, 12 insertions(+), 12 deletions(-) delete mode 100644 docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md create mode 100644 docs/root/source/bft-ko.md diff --git a/docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md b/docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md deleted file mode 100644 index a93ef6a9..00000000 --- a/docs/root/source/BigchainDB and Byzantine Fault Tolerance-ko.md +++ /dev/null @@ -1,12 +0,0 @@ - - -# BigchainDB Byzantine Fault Tolerance - -[BigchainDB Server](https://docs.bigchaindb.com/projects/server/en/latest/index.html) - ü ǿ Ʈ [Tendermint](https://tendermint.com/) մϴ. - -׸ Tendermint [Byzantine Fault Tolerant (BFT)](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance). diff --git a/docs/root/source/bft-ko.md b/docs/root/source/bft-ko.md new file mode 100644 index 00000000..c2f9d3a1 --- /dev/null +++ b/docs/root/source/bft-ko.md @@ -0,0 +1,12 @@ + + +# BigchainDB와 Byzantine Fault Tolerance + +[BigchainDB Server](https://docs.bigchaindb.com/projects/server/en/latest/index.html) +는 블록체인 합의와 트랜잭션 복제에 [Tendermint](https://tendermint.com/)를 사용합니다. + +그리고 Tendermint 는 [Byzantine Fault Tolerant (BFT)](https://en.wikipedia.org/wiki/Byzantine_fault_tolerance). From b164e51ad21ba14748f62e0b9e77e228030f3ebb Mon Sep 17 00:00:00 2001 From: jho2301 <44419181+jho2301@users.noreply.github.com> Date: Sun, 18 Nov 2018 16:35:57 +0900 Subject: [PATCH 4/6] Rename how BigchainDB could be imutable-ko.md to imutable-ko.md --- .../how BigchainDB could be imutable-ko.md | 40 ------------------- docs/root/source/imutable-ko.md | 40 +++++++++++++++++++ 2 files changed, 40 insertions(+), 40 deletions(-) delete mode 100644 docs/root/source/how BigchainDB could be imutable-ko.md create mode 100644 docs/root/source/imutable-ko.md diff --git a/docs/root/source/how BigchainDB could be imutable-ko.md b/docs/root/source/how BigchainDB could be imutable-ko.md deleted file mode 100644 index d174dd70..00000000 --- a/docs/root/source/how BigchainDB could be imutable-ko.md +++ /dev/null @@ -1,40 +0,0 @@ - - -# BigchainDB Һ ° - -_Imunable_̶ ܾ "ð Һ" ǹմϴ. 10 ϴ(3.14159...)). - -ü Ŀ´Ƽ ü "Һϴ" մϴ. 츮 ܾ ״ ؼѴٸ, װ ü Ͱ ų ̶ ǹϴµ, ̰ ȵ˴ϴ. ʹ _ ֽϴ_. , η ų ִ ó ʹ п ջ, µ ջ, Ʈ Ϲ ð ջ ֽϴ. - -ü Ͱ Ϲ 캸 (Ȥ )ϱⰡ Դϴ. ü ʹ ܼ (ǵ) " " ġ ʰ ϵ ̺ ջ ǵ ߻ ִ 濡 մϴ. üο "ҺѴ" ܾ 츮  ǵ ** Һ ؼմϴ. (ڵ "ҺѴ" ܾ ü Ŀ´Ƽ ̴ Դϴ.) - - - - - - - -ü ʹ Һ ֽϴ: - -1. ** Ǵ API .** Blockchain Ʈ Ϲ üο ͸ ϰų ϱ API ʽϴ. BigchainDB API ʽϴ . ̰ ̳ _ٸ _ Ͼ մϴ. ̰ ϳ  Դϴ. - -1. **.** ʹ ()˴ϴ. Ͱ , ϰų ϱⰡ ϴ. - -1. ** ġ** 尡 ͸ϰ ߻ϸ ġ ֽϴ. -1. **ܺ ġ** ҽþ ã ͸ ͸ϰ ִ 3ڸ ֽϴ. ִ ͸ ҽþ , ֽϴ. -1. ** μƼ** Ϻ ü ý ͸ ϴ մϴ. ۾ ý ֽϴ. BigchainDB 쿡 ̷ μƼ긦 ʽϴ. - -1.ȭ ս Ҹ ڵ ͸ ֽϴ - - -**ȣȭ ǥ** ޽(: Ʈ) ߿ ջǾ Ȯϰ ޽ ڸ Ȯϴ ˴ϴ. BigchainDB Ʈǿ ̻ ڰ ؾ մϴ - -1.**ü Ǵ κ ** ڱ , Ÿ ü, μ⹰  ϵ ֽϴ. -1.** ** ڴ å äϰ ֽϴ. - - -1. ** پ缺.** پ缺 ؼ (: ڿ Ǵ  ü ) 带 ջų մϴ. [ پ缺 ] ϼ diff --git a/docs/root/source/imutable-ko.md b/docs/root/source/imutable-ko.md new file mode 100644 index 00000000..c910946d --- /dev/null +++ b/docs/root/source/imutable-ko.md @@ -0,0 +1,40 @@ + + +#어떻게 BigchainDB는 불변성을 갖는가 + +_Imunable_이라는 단어는 "시간 경과에 따른 불변성"을 의미합니다. 예를 들어 π의 10진수 값은 변경할 수 없습니다(3.14159...)). + +블록체인 커뮤니티는 종종 블록체인을 "불변하다"고 설명합니다. 우리가 그 단어를 문자 그대로 해석한다면, 그것은 블록체인 데이터가 변경할 수 없거나 영구적이라는 것을 의미하는데, 이것은 말이 안됩니다. 데이터는 _변경 될 수 있습니다_. 예를 들어, 전염병이 인류를 멸종 시킬 수도 있는 것처럼 데이터는 수분에 의한 손상, 온도에 의한 손상, 엔트로피의 일반적인 증가로 인해 시간이 지남에 따라 손상될 수 있습니다. + +블록체인 데이터가 일반적인 경우보다 변경(혹은 삭제)하기가 더 어려운 것은 사실입니다. 블록체인 데이터는 단순히 (의도적인) "변형 방지"에 그치지 않고 하드 드라이브의 데이터 손상과 같은 비의도적으로 발생할 수 있는 무작위 변경에도 대응합니다. 따라서 블록체인에서 "불변한다"라는 단어를 우리는 어떤 모든 의도와 목적이 *실제적으로* 불변한 것으로 해석합니다. (언어학자들은 "불변한다"라는 단어가 블록체인 커뮤니티에서 쓰이는 기술적 용어라고 말할 것입니다.) + + + + + + + +블록체인 데이터는 여러 가지 방법을 통해 불변성을 가질 수 있습니다: + +1. **데이터 변경 또는 삭제를 위한 API 없음.** Blockchain 소프트웨어는 일반적으로 블록체인에 저장된 데이터를 변경하거나 삭제하기 위한 API를 제공하지 않습니다. BigchainDB 역시 관련한 API를 제공하지 않습니다 . 이것은 변경이나 삭제가 _다른 방식_으로 일어나는 것을 막지 못합니다. 이것은 단지 하나의 방어선일 뿐입니다. + +1. **복제.** 모든 데이터는 여러 곳에 복제(복사)됩니다. 복제 팩터가 높을수록, 모든 복제본을 변경하거나 삭제하기가 더 어려워집니다. + +1. **내부 감시 장치** 모든 노드가 모든 변경 사항을 모니터링하고 허용되지 않은 변경 사항이 발생하면 적절한 조치를 취할 수 있습니다. +1. **외부 감시 장치** 컨소시엄은 부정행위를 찾아 데이터를 모니터링하고 감사할 수 있는 검증된 제 3자를 선택할 수 있습니다. 공개적으로 읽을 수 있는 데이터를 가진 컨소시엄의 경우, 대중은 감사자 역할을 할 수 있습니다. +1. **경제적 인센티브** 일부 블록체인 시스템은 기존의 저장된 데이터를 변경하는 데 많은 비용이 들게 합니다. 그 예로 작업 증명 및 지분 증명 시스템이 있습니다. BigchainDB의 경우에는 이런 인센티브를 사용하지 않습니다. + +1.변화에 대한 손쉬운 실행 취소를 위해 오류 수정 코드와 같은 고급 기술을 사용해 데이터를 저장할 수 있습니다 + + +**암호화폐의 표식**은 종종 메시지(예: 트랜잭션)가 도중에 손상되었는지 확인하고 메시지에 서명한 사용자를 확인하는 방법으로 사용됩니다. BigchainDB에서는 각 트랜잭션에 한 명 이상의 당사자가 서명해야 합니다 + +1.**전체 또는 부분적 백업**은 때때로 자기 테이프 저장소, 기타 블록체인, 인쇄물 등에 기록될 수 있습니다. +1.**강력한 보안** 노드 소유자는 강력한 보안 정책을 채택하고 적용할 수 있습니다. + + +1. **노드 다양성.** 다양성으로 인해서 한 가지 요소(예: 자연 재해 또는 운영 체제 버그)가 상당 수의 노드를 손상시킬 수 없도록 합니다. [노드 다양성의 종류에 대한 섹션]을 참조하세요 From c53e730b7cd3b659ad270c26477b242a9318365f Mon Sep 17 00:00:00 2001 From: jho2301 <44419181+jho2301@users.noreply.github.com> Date: Sun, 18 Nov 2018 16:36:22 +0900 Subject: [PATCH 5/6] Rename Querying BigchainDB-ko.md to query-ko.md --- docs/root/source/Querying BigchainDB-ko.md | 236 --------------------- docs/root/source/query-ko.md | 236 +++++++++++++++++++++ 2 files changed, 236 insertions(+), 236 deletions(-) delete mode 100644 docs/root/source/Querying BigchainDB-ko.md create mode 100644 docs/root/source/query-ko.md diff --git a/docs/root/source/Querying BigchainDB-ko.md b/docs/root/source/Querying BigchainDB-ko.md deleted file mode 100644 index f0e1d8b2..00000000 --- a/docs/root/source/Querying BigchainDB-ko.md +++ /dev/null @@ -1,236 +0,0 @@ - -.. Copyright BigchainDB GmbH and BigchainDB contributors - SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0) - Code is Apache-2.0 and docs are CC-BY-4.0 - -BigchainDB -=================== - - operator MongoDB ִ Ͽ Ʈ, ڻ Ÿ͸ Ͽ ͸ ˻ϰ ֽϴ. - operator ܺ ڿ 󸶳 Ŀ ֽϴ. - - - Ե α Խù ------------------------------- - - -BigchainDB α׿ MongoDB Ͽ BigchainDB MongoDB ͺ̽ ϴ Խù ÷Ƚϴ. - -Ϳ Ϻ Ư ֿ Դϴ. -`⼭ Ȯϼ `_. - -MongoDB ϱ -------------------------- - - -MongoDB ͺ̽ Ϸ ͺ̽ ؾ մϴ. ׷ ؼ ȣƮ ̸ Ʈ ˾ƾ մϴ. - - ׽Ʈ ǻͿ BigchainDB 带 ȣƮ ̸ " ȣƮ" ϸ ̷ ʴ Ʈ "27017"̾ մϴ. ýۿ BigchainDB 带 ̸ ش ýۿ SSH ִ 쿡 Դϴ. - - ýۿ BigchainDB 带 ϰ MongoDB auth ϰ ׼ ֵ ( ִ ڿ) ȣƮ ̸ Ʈ Ȯ ֽϴ. - -ϱ ------------- - -BigchainDB ڴ MongoDB νϽ ü ׼ Ƿ ϴµ MongoDB API ֽϴ: - -- `the Mongo Shell `_, -- `MongoDB Compass `_, -- one of `the MongoDB drivers `_, such as `PyMongo `_, or -- MongoDB Ƽ, RazorSQL, Studio 3T, Mongo Management Studio, NoSQLBooster for MongoDB, or Dr. Mongo. - -.. note:: - - SQL ̿ mongoDB ͺ̽ ֽϴ. : - - * Studio 3T: "`How to Query MongoDB with SQL `_" - * NoSQLBooster for MongoDB: "`How to Query MongoDB with SQL SELECT `_" - - ⺻ BigchainDB 带 ϴ ýۿ ִ Mongo Shell (``mongo``) Ͽ ϰ ֽϴ. - -.. code:: - - $ mongo - MongoDB shell version v3.6.5 - connecting to: mongodb://127.0.0.1:27017 - MongoDB server version: 3.6.4 - ... - > show dbs - admin 0.000GB - bigchain 0.000GB - config 0.000GB - local 0.000GB - > use bigchain - switched to db bigchain - > show collections - abci_chains - assets - blocks - elections - metadata - pre_commit - transactions - utxos - validators - - Ȳ ݴϴ: - - -* BigchainDB ͸ ``bigchain``.̶ ͺ̽ մϴ. -* ``bigchain` ͺ̽ `collections`_. ԵǾ ֽϴ. -*  ÷ǿ ǥ ʽϴ. ̷ ʹ ü(LevelDB) ͺ̽ óǰ ˴ϴ. - -÷ǿ ---------------------------------------- - -``bigchain`` ͺ̽ ̷ο κ Ʒ ϴ: - -- transactions -- assets -- metadata -- blocks - -``db.assets.findOne()`` MongoDB Ͽ ̷ ÷ǵ Ž ֽϴ. - - -Ʈǿ -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -transaction ÷ǿ CREATE Ʈǿ ߰ ``"_id"`` ʵ(MongoDB ߰) ԵǸ ``"asset"`` ``"metadata"`` ʵ忡 Ͱ Ǿ ʽϴ. - -.. code:: - - { - "_id":ObjectId("5b17b9fa6ce88300067b6804"), - "inputs":[], - "outputs":[], - "operation":"CREATE", - "version":"2.0", - "id":"816c4dd7851af1629" - } - -A TRANSFER transaction from the transactions collection is similar, but it keeps its ``"asset"`` field. - -.. code:: - - { - "_id":ObjectId("5b17b9fa6ce88300067b6807"), - "inputs":[], - "outputs":[], - "operation":"TRANSFER", - "asset":{ - "id":"816c4dd7ae51af1629" - }, - "version":"2.0", - "id":"985ee697da3296b9" - } - -assets -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - - -assets MongoDB ߰ ``"_id"` о߿ CREATE ŷ `asset.data`` ׸ ``"id"`` ֻ о߷ Ǿ ֽϴ. -.. code:: - - { - "_id":ObjectId("5b17b9fe6ce88300067b6823"), - "data":{ - "type":"cow", - "name":"Mildred" - }, - "id":"96002ef874045869959d8" - } - - metadata -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -metadata ÷ MongoDB ߰ ``"ID"`ʵ ŷ `asset.data``׸ ŷ ``"ID"`` ֻ о߷ Ǿ ֽϴ. - -.. code:: - - { - "_id":ObjectId("5b17ba006ce88300067b683d"), - "metadata":{ - "transfer_time":1058568256 - }, - "id":"53cba620eae9fdee0" - } - -blocks -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -.. code:: - - { - "_id":ObjectId("5b212c1ceaaa420006f41c57"), - "app_hash":"2b0b75c2c27fb2652ce26c6", - "height":17, - "transactions":[ - "5f1f2d6bed98c1e" - ] - } - - operator ܺ -------------------------------------------------- - - operator ܺ ڰ ڽ MongoDB ͺ̽ ֽϴ. : - -- ܺ óϴ MongoDB ͺ̽ ѵ ѵ MongoDB ) read-only -- ѵ ̸ ǵ ϴ ѵ HTTP API(BigchainDB ϴ HTTP API)`_, ȤDjango, Express, Ruby on Rails, or ASP.NET. ̿ Ŀ HTTP API -- ٸ API(: GraphQL API) 3 ڵ Ǵ ڵ带 Ͽ ֽϴ.. - - - operator MongoDB ͺ̽ ٸ Ǵ ׼ ֽϴ. - , operator ȭ ϱ ֽϴ.`_. - - ------------------------ - -BigchainDB 1.3.0 ϳ MongoDB ͺ̽ ־ ܺ ڿ ͺ̽ ϴ ſ ʽϴ. -"drop database" MongoDB ͺ̽ մϴ. - - -BigchainDB 2.0.0 ̻󿡼 忡 MongoDB ͺ̽ մϴ. - Ʒ ׸ 1 MongoDB ƴ Tendermint Ͽ ˴ϴ. - MongoDB ͺ̽ ջǾ ٸ ʽϴ. - -.. figure:: _static/schemaDB.png - :alt: Diagram of a four-node BigchainDB 2.0 network - :align: center - - Figure 1: A Four-Node BigchainDB 2.0 Network - -.. raw:: html - -
-
-
- -ս ------------------------------------ - - μ ҽ Ҹ Ƿ, BigchainDB Tendermint Core ǻͿ MongoDB ϴ ϴ. - - operator ȸ Ǵ ҽ Ͽ ȸ û û ֽϴ. - -Ϻ ʹ ɸų ҽ ʹ ֽϴ. operator ִ ҽ ΰ, ʰȴٸ (Ǵ )ؾ մϴ. - -MongoDB ȿ _`ε `_ ֽϴ. ̷ ε operator Ǵ Ϻ ܺ ڰ ֽϴ( ڰ ϴ ). ε ʽϴ. ͸ ÷ǿ ߰ ش ε Ʈؾ մϴ. ڴ ̷ ε ϰ ֽϴ. mongoDB ÷ 64 ε ֽϴ. -`_. - -One can create a follower node: a node with Tendermint voting power 0. It would still have a copy of all the data, so it could be used as read-only node. A follower node could offer specialized queries as a service without affecting the workload on the voting validators (which can also write). There could even be followers of followers. -Tendermint votingĿ 0 带 ִ. 纻 Ƿ б ֽϴ. Follower ǥ ۾ Ͽ ġ ʰ 񽺷 ȭ ֽϴ(⵵ ). ȷο ȷο鵵 ֽϴ. - -ڹٽũƮ ڵ s ------------------------------- - - ϳ Ͽ MongoDB ͺ̽ ֽϴ. -MongoDB node.js ̹ MongoDB ̹ -`_. - - ڹٽũƮ ڵ忡 ũ ֽϴ - -- `The BigchainDB JavaScript/Node.js driver source code `_ -- `Example code by @manolodewiner `_ -- `More example code by @manolodewiner `_ diff --git a/docs/root/source/query-ko.md b/docs/root/source/query-ko.md new file mode 100644 index 00000000..de66c1ea --- /dev/null +++ b/docs/root/source/query-ko.md @@ -0,0 +1,236 @@ + +.. Copyright BigchainDB GmbH and BigchainDB contributors + SPDX-License-Identifier: (Apache-2.0 AND CC-BY-4.0) + Code is Apache-2.0 and docs are CC-BY-4.0 + +BigchainDB 쿼리 +=================== + +노드 operator는 MongoDB의 쿼리 엔진의 최대 성능을 사용하여 모든 트랜잭션, 자산 및 메타데이터를 포함하여 저장된 모든 데이터를 검색하고 쿼리할 수 있습니다. +노드 operator는 외부 사용자에게 얼마나 많은 쿼리 파워를 송출할지 스스로 결정할 수 있습니다. + + +예제 쿼리가 포함된 블로그 게시물 +------------------------------ + + +BigchainDB 블로그에 MongoDB 도구를 사용하여 BigchainDB 노드의 MongoDB 데이터베이스를 쿼리하는 방법에 대한 게시물을 올렸습니다. + +데이터에 대한 일부 특정 예제 쿼리가 주요 내용입니다. +`여기서 확인하세요 `_. + +MongoDB에 연결하기 +------------------------- + + +MongoDB 데이터베이스를 쿼리하려면 먼저 데이터베이스에 연결해야 합니다. 그러기 위해선 호스트 이름과 포트를 알아야 합니다. + +개발 및 테스트를 위해 지역 컴퓨터에서 BigchainDB 노드를 실행 중인 경우 호스트 이름은 "로컬 호스트"여야 하며 이러한 값을 변경하지 않는 한 포트는 "27017"이어야 합니다. 원격 시스템에서 BigchainDB 노드를 실행 중이며 해당 시스템에 SSH할 수 있는 경우에도 마찬가지입니다. + +원격 시스템에서 BigchainDB 노드를 실행하고 MongoDB를 auth를 사용하고 공개적으로 액세스할 수 있도록 구성한 경우(권한이 있는 사용자에게) 호스트 이름과 포트를 확인할 수 있습니다. + +쿼리하기 +------------ + +BigchainDB 노드 운영자는 로컬 MongoDB 인스턴스에 대한 전체 액세스 권한을 가지므로 실행하는데 MongoDB의 다음의 API를 사용할 수 있습니다: + +- `the Mongo Shell `_, +- `MongoDB Compass `_, +- one of `the MongoDB drivers `_, such as `PyMongo `_, or +- MongoDB 쿼리에 대한 서드파티툴, RazorSQL, Studio 3T, Mongo Management Studio, NoSQLBooster for MongoDB, or Dr. Mongo. + +.. note:: + + SQL을 이용해 mongoDB 데이터베이스를 쿼리할 수 있습니다. 예를 들어: + + * Studio 3T: "`How to Query MongoDB with SQL `_" + * NoSQLBooster for MongoDB: "`How to Query MongoDB with SQL SELECT `_" + +예를 들어 기본 BigchainDB 노드를 실행하는 시스템에 있는 경우 Mongo Shell (``mongo``)을 사용하여 연결하고 다음과 같이 볼 수 있습니다. + +.. code:: + + $ mongo + MongoDB shell version v3.6.5 + connecting to: mongodb://127.0.0.1:27017 + MongoDB server version: 3.6.4 + ... + > show dbs + admin 0.000GB + bigchain 0.000GB + config 0.000GB + local 0.000GB + > use bigchain + switched to db bigchain + > show collections + abci_chains + assets + blocks + elections + metadata + pre_commit + transactions + utxos + validators + +위 예제는 몇 가지 상황을 보여줍니다: + + +* BigchainDB는 데이터를 ``bigchain``.이라는 데이터베이스에 저장합니다. +* ``bigchain` 데이터베이스에는 여러 `collections`_.가 포함되어 있습니다. +* 어떤 컬렉션에도 투표가 저장되지 않습니다. 이런 데이터는 모두 자체(LevelDB) 데이터베이스에 의해 처리되고 저장됩니다. + +컬렉션에 대한 기술 +--------------------------------------- + +``bigchain`` 데이터베이스의 가장 흥미로운 부분은 아래와 같습니다: + +- transactions +- assets +- metadata +- blocks + +``db.assets.findOne()`` 은 MongoDB 쿼리를 사용하여 이러한 컬렉션들을 탐색할 수 있습니다. + + +트랜잭션에 대한 기술 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +transaction 컬렉션에서 CREATE 트랜잭션에는 추가 ``"_id"`` 필드(MongoDB에 추가됨)가 포함되며 ``"asset"``과 ``"metadata"`` 필드에는 데이터가 저장되어 있지 않습니다. + +.. code:: + + { + "_id":ObjectId("5b17b9fa6ce88300067b6804"), + "inputs":[…], + "outputs":[…], + "operation":"CREATE", + "version":"2.0", + "id":"816c4dd7…851af1629" + } + +A TRANSFER transaction from the transactions collection is similar, but it keeps its ``"asset"`` field. + +.. code:: + + { + "_id":ObjectId("5b17b9fa6ce88300067b6807"), + "inputs":[…], + "outputs":[…], + "operation":"TRANSFER", + "asset":{ + "id":"816c4dd7ae…51af1629" + }, + "version":"2.0", + "id":"985ee697d…a3296b9" + } + +assets에 대한 기술 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +assets에 대한 기술에는 MongoDB가 추가한 ``"_id"` 분야와 CREATE 거래에서 나온 `asset.data`` 그리고 ``"id"`` 세 가지 최상위 분야로 구성되어 있습니다. +.. code:: + + { + "_id":ObjectId("5b17b9fe6ce88300067b6823"), + "data":{ + "type":"cow", + "name":"Mildred" + }, + "id":"96002ef8740…45869959d8" + } + + metadata에 대한 기술 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +metadata 컬렉션의 문서는 MongoDB가 추가한 ``"ID"`필드와 거래에서 나온 `asset.data``그리고 거래에서 나온 ``"ID"`` 세 가지 최상위 분야로 구성되어 있습니다. + +.. code:: + + { + "_id":ObjectId("5b17ba006ce88300067b683d"), + "metadata":{ + "transfer_time":1058568256 + }, + "id":"53cba620e…ae9fdee0" + } + +blocks에 대한 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. code:: + + { + "_id":ObjectId("5b212c1ceaaa420006f41c57"), + "app_hash":"2b0b75c2c2…7fb2652ce26c6", + "height":17, + "transactions":[ + "5f1f2d6b…ed98c1e" + ] + } + +노드 operator가 외부유저에게 송출는 것 +------------------------------------------------- + +각 노드 operator는 외부 사용자가 자신의 로컬 MongoDB 데이터베이스에서 정보를 얻는 방법을 결정할 수 있습니다. : + +- 외부유저를 쿼리 처리하는 로컬 MongoDB 데이터베이스 한된 제한된 권한을 가진 역할을 가진 MongoDB 사용자 예) read-only +- 제한된 미리 정의된 쿼리 집합을 허용하는 제한된 HTTP API(BigchainDB 서버에서 제공하는 HTTP API)`_, 혹은Django, Express, Ruby on Rails, or ASP.NET.를 이용해 구현된 커스텀 HTTP API +- 다른 API(예: GraphQL API) 제3자의 사용자 정의 코드 또는 코드를 사용하여 수행할 수 있습니다.. + + +각 노드 operator는 로컬 MongoDB 데이터베이스에 대한 다른 레벨 또는 유형의 액세스를 노출할 수 있습니다. +예를 들어, 한 노드 operator가 최적화된 공간 쿼리를 전문으로 제공하기로 정할 수 있습니다.`_. + +보안 고려사항 +----------------------- + +BigchainDB 버전 1.3.0 이전 버전에서는 하나의 MongoDB 논리 데이터베이스가 있었기 때문에 외부 사용자에게 데이터베이스를 노출하는 것은 매우 위험했으며 권장되지 않습니다. +"drop database"는 공유된 MongoDB 데이터베이스를 삭제합니다. + + +BigchainDB 버전 2.0.0 이상에선 각 노드에 고유한 독립 로컬 MongoDB 데이터베이스가 존재합니다. +노드 간 통신은 아래 그림 1에서와 같이 MongoDB 프로토콜이 아닌 Tendermint 프로토콜을 사용하여 수행됩니다. +노드의 로컬 MongoDB 데이터베이스가 손상되어도 다른 노드는 영향을 받지 않습니다. + +.. figure:: _static/schemaDB.png + :alt: Diagram of a four-node BigchainDB 2.0 network + :align: center + + Figure 1: A Four-Node BigchainDB 2.0 Network + +.. raw:: html + +
+
+
+ +퍼포먼스 및 요금 고려사항 +----------------------------------- + +쿼리 프로세싱은 상당히 많은 리소스를 소모할 수 있으므로, BigchainDB 서버 및 Tendermint Core와 별도의 컴퓨터에서 MongoDB를 실행하는 것이 좋습니다. + +노드 operator 는 조회에 사용되는 리소스를 측정하여 조회를 요청한 사람은 누구든지 요금을 청구할 수 있습니다. + +일부 쿼리는 너무 오래 걸리거나 리소스를 너무 많이 사용할 수 있습니다. 노드 operator는 사용할 수 있는 리소스에 상한을 두고, 초과된다면 중지(또는 차단)해야 합니다. + +MongoDB 쿼리를 더욱 효율적으로 만들기 위해 _`인덱스 `_를 만들 수 있습니다. 이러한 인덱스는 노드 operator 또는 일부 외부 사용자가 생성할 수 있습니다(노드 운영자가 허용하는 경우). 인덱스는 비어 있지 않습니다. 새 데이터를 컬렉션에 추가할 때마다 해당 인덱스를 업데이트해야 합니다. 노드 운영자는 이러한 요금을 인덱스를 생성한 사람에게 전달하고자 할 수 있습니다. mongoDB에서는 단일 컬렉션은 64개 이하의 인덱스를 가질 수 있습니다. +`_. + +One can create a follower node: a node with Tendermint voting power 0. It would still have a copy of all the data, so it could be used as read-only node. A follower node could offer specialized queries as a service without affecting the workload on the voting validators (which can also write). There could even be followers of followers. +Tendermint voting파워가 0인 노드인 추종자 노드를 생성할 수 있다. 여전히 모든 데이터의 복사본이 있으므로 읽기 전용 노드로 사용할 수 있습니다. Follower 노드는 투표 검증자의 작업 부하에 영향을 미치지 않고 서비스로 전문화된 쿼리를 제공할 수 있습니다(쓰기도 가능). 팔로워의 팔로워들도 있을 수 있습니다. + +자바스크립트 쿼리 코드 예시s +------------------------------ + +다음 중 하나를 사용하여 노드의 MongoDB 데이터베이스에 연결할 수 있습니다. +MongoDB node.js 드라이버와 같은 MongoDB 드라이버의 +`_. + +여기 자바스크립트 쿼리 코드에 대한 링크가 있습니다 + +- `The BigchainDB JavaScript/Node.js driver source code `_ +- `Example code by @manolodewiner `_ +- `More example code by @manolodewiner `_ From b3b778c53a1f23edd0a48783299dfc16e2c4dbb0 Mon Sep 17 00:00:00 2001 From: jho2301 <44419181+jho2301@users.noreply.github.com> Date: Sun, 18 Nov 2018 16:36:42 +0900 Subject: [PATCH 6/6] Rename the kinds of node diversity-ko.md to diversity-ko.md --- docs/root/source/diversity-ko.md | 17 +++++++++++++++++ .../source/the kinds of node diversity-ko.md | 17 ----------------- 2 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 docs/root/source/diversity-ko.md delete mode 100644 docs/root/source/the kinds of node diversity-ko.md diff --git a/docs/root/source/diversity-ko.md b/docs/root/source/diversity-ko.md new file mode 100644 index 00000000..40f3735f --- /dev/null +++ b/docs/root/source/diversity-ko.md @@ -0,0 +1,17 @@ + + +# 노드 다양성의 종류 + + +한 명의 유저나 이벤트가 노드의 "상당수" 부분을 제어하거나 손상시키는 것을 어렵게 만드는 절차가 수행되어야 합니다.(BigchainDB 서버는 Tendermint를 사용하기 때문에 여기서 "상당수"는 노드의 1?3을 말합니다.) 아래에 쓰여진 여러 가지의 다양성을 고려해야 합니다. 모든 종류에 있어서 높은 다양성을 갖는 것은 꽤 어려운 일입니다. + +1. **관할권 다양성.** 노드는 여러 합법적 관할권 내의 참여자들이 제어합니다. 이는 어떤 일을 수행하기에 이 수단들을 사용하기 어렵게 할 수 있습니다. +1. **지리적 다양성.** 서버는 지리적으로 여러 곳에 물리적으로 위치합니다. 이는 자연 재해(홍수 또는 지진 등)가 문제를 야기할 만큼 손상되기 어렵게 합니다. +1. **호스팅 다양성.** 서버는 여러 호스팅 공급자(ex. Amazon Web Services, Microsoft Azure, Digital Oceure, Rackspace)가 호스팅해야 합니다. 이는 하나의 호스팅 공급자가 '상당 수'의 노드에 영향을 미치기가 어려워집니다. +1. **일반적인 의미의 다양성.** 일반적으로 멤버십 다양성은 컨소시엄에 많은 이점을 줍니다. 예를 들어, 그것은 문제 해결에 필요한 다양한 아이디어 소스를 컨소시엄에 제공합니다. + +참고: 모든 노드가 동일한 코드(ex. BigchainDB의 동일한 구현)를 실행하고 있는 경우, 해당 코드의 버그를 사용하여 모든 노드를 손상시킬 수 있습니다. 이상적으로는 BigchainDB 서버(예: Python, Go 등)에서 운영되고 있는 다양한 구현이 있어, 컨소시엄은 다양한 서버 구현을 할 수 있을 것입니다. 운영 체제에 대해서도 이는 유사하게 적용됩니다. diff --git a/docs/root/source/the kinds of node diversity-ko.md b/docs/root/source/the kinds of node diversity-ko.md deleted file mode 100644 index b97200ff..00000000 --- a/docs/root/source/the kinds of node diversity-ko.md +++ /dev/null @@ -1,17 +0,0 @@ - - -# پ缺 - - - ̺Ʈ "" κ ϰų ջŰ ư Ǿ մϴ.(BigchainDB Tendermint ϱ ⼭ "" 1?3 մϴ.) Ʒ پ缺 ؾ մϴ. ־ پ缺 Դϴ. - -1. **ұ پ缺.** չ ұ ڵ մϴ. ̴  ϱ⿡ ܵ ϱ ư ֽϴ. -1. ** پ缺.** ġմϴ. ̴ ڿ (ȫ Ǵ ) ߱ ŭ ջDZ ư մϴ. -1. **ȣ پ缺.** ȣ (ex. Amazon Web Services, Microsoft Azure, Digital Oceure, Rackspace) ȣؾ մϴ. ̴ ϳ ȣ ڰ ' ' 忡 ġⰡ ϴ. -1. **Ϲ ǹ پ缺.** Ϲ پ缺 ҽþ ݴϴ. , װ ذῡ ʿ پ ̵ ҽ ҽþ մϴ. - -: 尡 ڵ(ex. BigchainDB ) ϰ ִ , ش ڵ ׸ Ͽ 带 ջų ֽϴ. ̻δ BigchainDB (: Python, Go ) ǰ ִ پ ־, ҽþ پ Դϴ.  ü ؼ ̴ ϰ ˴ϴ.