「Thin Client Security」の版間の差分

提供: tezos-wiki
移動先: 案内検索
(1版 をインポートしました)
 
1行目: 1行目:
Recently there have been a number of proposals for bitcoin clients which do not store a complete copy of every block in the entire block chain.  This page will refer to all such clients as "thin clients".  This page is meant to be a place to try to make sense of the security and trust implications of the various schemes.
+
最近、ブロックチェーン全体にすべてのブロックの完全なコピーを格納しないビットコインクライアントの提案が数多くありました。このページでは、シンクライアントなどのすべてのクライアントを参照します。このページは、さまざまなスキームのセキュリティと信頼の意味を理解しようとする場所です。
  
== Full Node vs. Thin Clients ==
+
==完全なノードvs.シンクライアント==
  
It is important to distinguish between block height verification and block depth verification.
+
ブロック高さ検証とブロック深度検証を区別することが重要です。
  
A full node client verifies that all preceding blocks are valid in order to guarantee that a transaction is valid.  Currently only the Satoshi client,  libbitcoin, and btcd do full node verification.  Full nodes are the fundamental anchor of trustless security in the Bitcoin system.
+
フル・ノード・クライアントは、トランザクションが有効であることを保証するために、先行するすべてのブロックが有効であることを検証します。現在のところ、Satoshiクライアント、libbitcoin、およびbtcdのみが完全ノード検証を行います。完全ノードはBitcoinシステムにおける信頼できないセキュリティの基本的なアンカーです。
  
A client verifies the depth D of a block by checking that there are D blocks '''after''' it (also called "confirmations"), all of which are well-formed. Thin clients don't verify the preceding blocks, they use the number of confirmations (whether they are valid or not) as a measure of the likelihood of a [[Chain_Reorganization|block chain reorganization]] producing a new longer fork which excludes the transaction.
+
クライアントはブロックの深さDを確認することによってブロックの深さDを検証します.Dブロックの後ろに「確認」と呼ばれるDブロックがあり、すべてが整形式であることを確認します。シンクライアントは、前のブロックを検証しません。トランザクションを除外する新しいより長いフォークを生成する可能性の尺度として(有効かどうかにかかわらず)確認の数を使用します([Chain_Reorganization |ブロックチェーン再編成]
  
== Full Node Clients ==
+
==完全なノードクライアント==
  
The "thick" bitcoin client downloads a copy of the entire chain, including all transactions (not just headers).  It will be used as the reference point for security comparisons below.
+
「太い」ビットコインクライアントは、すべてのトランザクション(ヘッダーだけでなく)を含むチェーン全体のコピーをダウンロードします。以下のセキュリティ比較の参照ポイントとして使用されます。
  
A full-node client uses the [[Protocol_rules#Blocks well-formed|difficultywise-longest]] valid block chain it can find. A transaction's ''depth'' (the number of blocks or confirmations ''after'' it) is used to determine the likelihood of the transaction being double-spent due to the emergence of a longer fork.
+
フルノードのクライアントは、[[Protocol_rules#Blocks well-formed | difficultwise-longest]]有効なブロックチェーンを使用します。トランザクションの「深さ」(ブロックまたは確認後のブロック数)は、より長いフォークの出現のためにトランザクションが二重に消費される可能性を判断するために使用されます。
  
==== [[bitcoind|bitcoin-qt]] ====
+
==== [[bitcoind | bitcoin-qt]] ====
  
 
==== [https://github.com/conformal/btcd btcd] ====
 
==== [https://github.com/conformal/btcd btcd] ====
  
==== [[Libbitcoin|libbitcoin-server]] ====
+
==== [[Libbitcoin | libbitcoin-server]] ====
  
=== Block Retention ===
+
===ブロック保持===
  
Once a full-chain client has downloaded the entire chain, it typically retains it (as the Satoshi client did/does).
+
フルチェーンのクライアントがチェーン全体をダウンロードすると、一般的にそれが保持されます(Satoshiクライアントが行ったように)。
  
Satoshi's original paper mentions the possibility of pruning individual transactions, which allows for full nodes which verify the entire transaction history but do not retain it. Because users are required to download and verify the block chain from some other node initially, this change isn't costless.
+
Satoshiのオリジナルの論文では、個々のトランザクションを枝刈りする可能性について言及しています。これにより、トランザクション履歴全体を確認するが、保持しない完全ノードが可能になります。ユーザーは最初に他のノードからブロックチェーンをダウンロードして検証する必要があるため、この変更にはコストがかかりません。
  
== Thin Clients ==
+
==シンクライアント==
  
This client downloads a complete copy of the headers for all blocks in the entire block chain.  This means that the download and storage requirements scale linearly with the amount of time since Bitcoin was invented.
+
このクライアントは、ブロックチェーン全体のすべてのブロックのヘッダーの完全なコピーをダウンロードします。これは、Bitcoinが発明されて以来、ダウンロードとストレージの要件が直線的に拡大することを意味します。
  
This scheme is described in section 8 of the [http://bitcoin.org/bitcoin.pdf original bitcoin whitepaper].
+
このスキームは、[http://bitcoin.org/bitcoin.pdfオリジナルビットコインホワイトペーパー]のセクション8で説明されています。
  
==== Block Depth Check ====
+
====ブロック深度チェック====
  
As Satoshi writes, "[the thin client] can't check the transaction for himself, but by linking it to a place in the chain, he can see that a network node has accepted it, and blocks added after it further confirm the network has accepted it."  If we take "X" to be the "number of blocks added after it", then a thin client essentially trusts that a transaction X blocks deep will be costly to forge.
+
Satoshiが書いているように、「[シンクライアント]は自分自身でトランザクションを確認することはできませんが、チェーン内の場所にリンクすることでネットワークノードがそれを受け入れたことを知ることができます。それを受け入れた。 「X」を「後に追加されるブロックの数」とすると、シンクライアントは本質的に、トランザクションXブロックが深刻なブロックを偽造するにはコストがかかることを信頼します。
  
This is very different from the trust model in the "thick" client: the thick client verifies that a transaction's inputs are unspent by actually checking the whole chain up to that point -- there is no "X blocks deep" involved here. At that point it uses "X blocks deep" to decide how likely it is that a longer fork in the chain will emerge which excludes that transaction.
+
シッククライアントは、トランザクションの入力がそのポイントまでチェーン全体を実際にチェックすることで、トランザクションの入力が消費されていないことを検証します。ここには「Xブロック深く」はありません。その時点で、「Xブロック深度」を使用して、チェーン内の長いフォークが出現してそのトランザクションを除外する可能性がどの程度あるかを判断します。
  
  
==== [[BitCoinJ|bitcoinj]] ====
+
==== [[BitCoinJ | bitcoinj]] ====
  
A security analysis of some of the issues in bitcoinj can be found [https://bitcoinj.github.io/security-model here]; however:
+
bitcoinjのいくつかの問題のセキュリティ分析は、[https://bitcoinj.github.io/security-model here]にあります。しかしながら:
  
* The claim that "picking 10 nodes and requiring all of them to be consistent needs much less trust" overlooks the problem of [https://en.bitcoin.it/wiki/Weaknesses#Cancer_nodes "cancer nodes"] and [http://en.wikipedia.org/wiki/Sybil_attack Sybil attacks].
+
*「ノードを10個選んですべてに一貫性を持たせることを要求することは、信頼性がはるかに低い」という主張は、[https://en.bitcoin.it/wiki/Weaknesses#Cancer_nodes "がんのノード][http: //en.wikipedia.org/wiki/Sybil_attackシビルの攻撃]
* Many of the security claims are qualified by some form of "if you don't think an attacker controls your internet connection"; see the previous section for a discussion of why this is problematic.
+
*セキュリティの主張の多くは、「攻撃者があなたのインターネット接続を制御していると思わない場合」という形式で修飾されています。これがなぜ問題であるのかについては、前のセクションを参照してください。
  
==== [https://bitcointalk.org/index.php?topic=128055.0 picocoin] ====
+
==== [https://bitcointalk.org/index.php?topic=128055.0ピココイン] ====
  
The library (libccoin) that picocoin is based on includes code for validating scripts and blocks; this could potentially be used to implement a full-chain client.
+
ピココインが基づいているライブラリ(libccoin)には、スクリプトとブロックを検証するためのコードが含まれています。これは、フルチェーンクライアントを実装するために潜在的に使用される可能性があります。
  
 
==== [[Electrum]] ====
 
==== [[Electrum]] ====
  
Electrum fetches blockchain information from Electrum servers, bitcoin nodes that index the blockchain by address.
+
Electrumは、アドレスによってブロックチェーンを索引付けするBitcoinノードであるElectrumサーバーからブロックチェーン情報をフェッチします。
Electrum performs Simple Payment Verification to check the transactions returned by servers.
+
Electrumは、サーバから返されたトランザクションを確認するために簡易支払確認を実行します。
For this, it fetches blokchain headers from about 10 random servers.
+
このため、約10のランダムなサーバーからブロッキンヘッダーを取得します。
In addition, Electrum servers are authenticated by SSL, in order to protect users from MITM attacks.
+
さらに、Electrumサーバーは、MITM攻撃からユーザーを保護するために、SSLによって認証されます。
  
=== Unused Output Tree in the Block chain (UOT) ===
+
===ブロックチェーン(UOT)の未使用出力ツリー===
  
There have been several proposals (the first appears to be [https://bitcointalk.org/index.php?topic=21995.0 this one] by gmaxwell, who called it an "open transaction tree", although the term "open" is now taken to mean "not yet mined into the block chain" rather than "unspent") to form a tree of unused transaction outputs at each block in the chain, hash it as a Merkle tree, and encode the root hash in the block chain (probably as part of the coinbase input).  This will be called an Unused Output Tree (UOT).  The first detailed proposal so far appears to be [https://en.bitcoin.it/wiki/User:DiThi/MTUT Alberto Torres' proposal]; etotheipi's [https://bitcointalk.org/index.php?topic=88208.0 ultimate block chain compression] is a variant of this.
+
いくつかの提案がありました(最初は[https://bitcointalk.org/index.php?topic=21995.0 this one]となっていますが、gmaxwellは「オープントランザクションツリー」と呼んでいましたが、「オープン」という用語は「未使用」ではなく「ブロックチェーンにまだマイニングされていません」)を使用して、チェーン内の各ブロックで未使用トランザクション出力のツリーを形成し、Merkleツリーとしてハッシュし、ブロックチェーン内のルートハッシュをエンコードします(おそらくコインベース入力の一部として)。これは未使用出力ツリー(UOT)と呼ばれます。これまでの最初の詳細な提案は、[https://en.bitcoin.it/wiki/User:DiThi/MTUT Alberto Torresの提案]です。 etotheipiの[https://bitcointalk.org/index.php?topic=88208.0最終的なブロックチェーン圧縮]はこれの変形です。
  
If such UOT hashes were included in the block chain, a client which shipped with a [https://en.bitcoin.it/wiki/Vocabulary checkpoint] block that had a UOT would only need to download blocks after the checkpoint.  Moreover, once the client had downloaded those blocks and confirmed their UOTs, it could discard all but the most recent block containing a UOT.
+
このようなUOTハッシュがブロックチェーンに含まれていた場合、UOTを持った[https://en.bitcoin.it/wiki/Vocabulary checkpoint]ブロックに同梱されているクライアントは、チェックポイントの後にブロックをダウンロードするだけで済みます。さらに、クライアントがブロックをダウンロードしてUOTを確認すると、UOTを含む最新ブロック以外のすべてを破棄することができます。
  
Hostile miners may insert blocks into the chain which have what claims to be a UOT, but which is actually invalid.  It is unlikely that such blocks could be kept out of the chain because, again, this would require adding a new block validity criterion, and miners implementing this new criterion would risk "mining on the wrong side" of a fork, which could cost them a lot of money.  Therefore, any UOT strategy would need to cope with the fact that not every block containing a UOT entry can be trusted.
+
敵対的な鉱夫は、UOTであると主張しているが実際には無効であるブロックをチェーンに挿入することができる。このようなブロックはチェーンの外に出ることはできません。新しいブロック妥当性基準を追加する必要があり、この新しい基準を実装する鉱夫は、フォークの「マイニング」を危険にさらす危険があります。たくさんのお金。したがって、どのUOT戦略も、UOTエントリを含むすべてのブロックを信頼できるわけではないという事実に対処する必要があります。
  
Note that at the present moment no standard format for such Unused Output Tree hashes has been agreed upon, nor do any of the blocks in the chain contain them. The [https://bitcointalk.org/index.php?topic=91954 ultraprune] feature added to bitcoind-0.8 maintains a similar data structure on the client's disk.  It does not put this data structure or its hash anywhere in the block chain.
+
現時点では、このような未使用出力ツリーハッシュの標準フォーマットは合意されておらず、チェーンのどのブロックにも含まれていないことに注意してください。 bitcoind-0.8に追加された[https://bitcointalk.org/index.php?topic=91954 ultraprune]機能は、クライアントのディスク上に同様のデータ構造を維持します。このデータ構造やそのハッシュはブロックチェーンのどこにも置かれません。
  
== Server-Trusting Clients ==
+
==サーバートラステニングクライアント==
  
These clients involve a high level of trust in the server they rely upon.  Mechanisms for authenticating the server, and for confirming that the server has not been compromised, are usually not explained.
+
これらのクライアントは、信頼されるサーバーに高いレベルの信頼を必要とします。サーバーを認証し、サーバーが侵害されていないことを確認するメカニズムは、通常は説明されていません。
  
All thin clients listed below currently connect to a single server, and are vulnerable to an attack similar to a double-spend. The attack can be run by that single server - the server can just lie to them that they received a Bitcoin transaction, and they, assuming the server does not lie, perform some service, transfer funds or send goods without actually receiving any Bitcoin in exchange. Therefore, they are implicitly trusting it.
+
以下にリストされているすべてのシンクライアントは、現在、単一のサーバーに接続しており、二重支出と同様の攻撃に対して脆弱です。この攻撃は、単一のサーバーで実行することができます。サーバーはBitcoinトランザクションを受け取ったばかりであり、実際にBitcoinを交換することなく、サーバーが存在しないと仮定して、サービスを実行したり、資金を移したり、 。したがって、彼らは暗黙のうちにそれを信じています。
  
Future enhancements have been suggested that will have the client talk to multiple servers and broadcast transactions and query all of them.  Unfortunately it is well known to security researchers that this does not actually increase security; it simply makes the exploits more complicated and difficult to find.  Security researchers have a name for this phenomenon: it is called a "Sybil attack"<ref>http://en.wikipedia.org/wiki/Sybil_attack</ref>[https://bitcointalk.org/index.php?topic=88208.msg975201#msg975201 This post] on bitcointalk explains how some governments (notably Iran and China) already perform these sorts of attacks on their own citizens, with the coerced assistance of SSL certificate authorities.
+
クライアントが複数のサーバーと通信し、トランザクションをブロードキャストし、それらのすべてを照会するようになる将来の拡張が提案されました。残念なことに、これは実際にセキュリティを向上させるものではないことをセキュリティ研究者にはよく知られています。単にエクスプロイトをより複雑にして見つけにくくするだけです。セキュリティ研究者はこの現象の名前を持っています:それは "Sybil attack"と呼ばれています<ref> http://en.wikipedia.org/wiki/Sybil_attack </ ref>[https://bitcointalk.org/index.php?topic=88208.msg975201#msg975201この記事では、いくつかの政府(特にイランと中国)が、自国の市民に対してこのような攻撃をどのようにして実施しているのかを説明しています。のSSL証明書機関。
  
Clients with a checkpoint (even a very old one) that download and validate the headers for the whole block chain are [http://bitcoinmedia.com/the-irc-bootstrap-method-is-flawed/#comment-4243 not vulnerable] to Sybil attacks in the following sense: they can always ensure that an attack would cost more than the amount being stolen.
+
チェックポイントを持つクライアント(非常に古いものでも)は、ブロックチェーン全体のヘッダーをダウンロードして検証します[http://bitcoinmedia.com/the-irc-bootstrap-method-is-flawed/#comment-4243 not vulnerable ]を次のような意味でSybilの攻撃に適用することができます。攻撃が盗まれた量以上になることを常に保証できます。
  
 
=== [[BCCAPI]] ===
 
=== [[BCCAPI]] ===
  
== Other ==
+
==その他==
  
* A [http://sourceforge.net/mailarchive/message.php?msg_id=28633866 thread] on bitcoin-dev
+
* bitcoin-devの[http://sourceforge.net/mailarchive/message.php?msg_id=28633866スレッド]
* A [http://bitcoin.stackexchange.com/questions/2584/is-reclaiming-disk-space-already-implemented-how-effective-will-it-be/2589 question] on bitcoin.stackexchange.com
+
* [http://bitcoin.stackexchange.com/questions/2584/is-reclaiming-disk-space-already-implemented-how-effective-will-it-be/2589 question] on bitcoin.stackexchange.com
* The [[Weaknesses#Sybil_attack|sybil attack (also known as "cancer nodes")]] paragraph explains some of the issues with thin clients that base security on trusting whatever "a majority of the IP addresses I can see" say.
+
* [弱点#Sybil_attack | sybil攻撃(癌ノードとも呼ばれる]]段落は、「見ることができるIPアドレスの大半」が何であっても、セキュリティを基盤とするシンクライアントの問題のいくつかを説明しています。
* [http://bitcoin.stackexchange.com/questions/2613/how-secure-are-various-models-of-bitcoin-clients related discussion on Stack Exchange]
+
* [http://bitcoin.stackexchange.com/questions/2613/how-secure-are-various-models-of-bitcoin-clients関連のスタックエクスチェンジに関するディスカッション]
* A hypothesized [https://bitcointalk.org/index.php?topic=134318.msg1441171#msg1441171 intermediate security class] between thin clients and full-chain validation.
+
*シンクライアントとフルチェーン検証の間の仮説[https://bitcointalk.org/index.php?topic=134318.msg1441171#msg1441171中間セキュリティクラス]
  
<references>
+
<リファレンス>
  
[[Category:Technical]]
+
[[Category:技術]]
[[category:Clients]]
+
[[カテゴリ:クライアント]]
[[Category:Security]]
+
[[Category:セキュリティ]]

2018年4月13日 (金) 13:34時点における最新版

最近、ブロックチェーン全体にすべてのブロックの完全なコピーを格納しないビットコインクライアントの提案が数多くありました。このページでは、シンクライアントなどのすべてのクライアントを参照します。このページは、さまざまなスキームのセキュリティと信頼の意味を理解しようとする場所です。

完全なノードvs.シンクライアント[編集]

ブロック高さ検証とブロック深度検証を区別することが重要です。

フル・ノード・クライアントは、トランザクションが有効であることを保証するために、先行するすべてのブロックが有効であることを検証します。現在のところ、Satoshiクライアント、libbitcoin、およびbtcdのみが完全ノード検証を行います。完全ノードはBitcoinシステムにおける信頼できないセキュリティの基本的なアンカーです。

クライアントはブロックの深さDを確認することによってブロックの深さDを検証します.Dブロックの後ろに「確認」と呼ばれるDブロックがあり、すべてが整形式であることを確認します。シンクライアントは、前のブロックを検証しません。トランザクションを除外する新しいより長いフォークを生成する可能性の尺度として(有効かどうかにかかわらず)確認の数を使用します([Chain_Reorganization |ブロックチェーン再編成] 。

完全なノードクライアント[編集]

「太い」ビットコインクライアントは、すべてのトランザクション(ヘッダーだけでなく)を含むチェーン全体のコピーをダウンロードします。以下のセキュリティ比較の参照ポイントとして使用されます。

フルノードのクライアントは、 difficultwise-longest有効なブロックチェーンを使用します。トランザクションの「深さ」(ブロックまたは確認後のブロック数)は、より長いフォークの出現のためにトランザクションが二重に消費される可能性を判断するために使用されます。

bitcoin-qt[編集]

btcd[編集]

libbitcoin-server[編集]

ブロック保持[編集]

フルチェーンのクライアントがチェーン全体をダウンロードすると、一般的にそれが保持されます(Satoshiクライアントが行ったように)。

Satoshiのオリジナルの論文では、個々のトランザクションを枝刈りする可能性について言及しています。これにより、トランザクション履歴全体を確認するが、保持しない完全ノードが可能になります。ユーザーは最初に他のノードからブロックチェーンをダウンロードして検証する必要があるため、この変更にはコストがかかりません。

シンクライアント[編集]

このクライアントは、ブロックチェーン全体のすべてのブロックのヘッダーの完全なコピーをダウンロードします。これは、Bitcoinが発明されて以来、ダウンロードとストレージの要件が直線的に拡大することを意味します。

このスキームは、[1]のセクション8で説明されています。

ブロック深度チェック[編集]

Satoshiが書いているように、「[シンクライアント]は自分自身でトランザクションを確認することはできませんが、チェーン内の場所にリンクすることでネットワークノードがそれを受け入れたことを知ることができます。それを受け入れた。 「X」を「後に追加されるブロックの数」とすると、シンクライアントは本質的に、トランザクションXブロックが深刻なブロックを偽造するにはコストがかかることを信頼します。

シッククライアントは、トランザクションの入力がそのポイントまでチェーン全体を実際にチェックすることで、トランザクションの入力が消費されていないことを検証します。ここには「Xブロック深く」はありません。その時点で、「Xブロック深度」を使用して、チェーン内の長いフォークが出現してそのトランザクションを除外する可能性がどの程度あるかを判断します。


bitcoinj[編集]

bitcoinjのいくつかの問題のセキュリティ分析は、hereにあります。しかしながら:

  • 「ノードを10個選んですべてに一貫性を持たせることを要求することは、信頼性がはるかに低い」という主張は、"がんのノードと[http: //en.wikipedia.org/wiki/Sybil_attackシビルの攻撃]。
  • セキュリティの主張の多くは、「攻撃者があなたのインターネット接続を制御していると思わない場合」という形式で修飾されています。これがなぜ問題であるのかについては、前のセクションを参照してください。

[2][編集]

ピココインが基づいているライブラリ(libccoin)には、スクリプトとブロックを検証するためのコードが含まれています。これは、フルチェーンクライアントを実装するために潜在的に使用される可能性があります。

Electrum[編集]

Electrumは、アドレスによってブロックチェーンを索引付けするBitcoinノードであるElectrumサーバーからブロックチェーン情報をフェッチします。 Electrumは、サーバから返されたトランザクションを確認するために簡易支払確認を実行します。 このため、約10のランダムなサーバーからブロッキンヘッダーを取得します。 さらに、Electrumサーバーは、MITM攻撃からユーザーを保護するために、SSLによって認証されます。

ブロックチェーン(UOT)の未使用出力ツリー[編集]

いくつかの提案がありました(最初はthis oneとなっていますが、gmaxwellは「オープントランザクションツリー」と呼んでいましたが、「オープン」という用語は「未使用」ではなく「ブロックチェーンにまだマイニングされていません」)を使用して、チェーン内の各ブロックで未使用トランザクション出力のツリーを形成し、Merkleツリーとしてハッシュし、ブロックチェーン内のルートハッシュをエンコードします(おそらくコインベース入力の一部として)。これは未使用出力ツリー(UOT)と呼ばれます。これまでの最初の詳細な提案は、Alberto Torresの提案です。 etotheipiの[3]はこれの変形です。

このようなUOTハッシュがブロックチェーンに含まれていた場合、UOTを持ったcheckpointブロックに同梱されているクライアントは、チェックポイントの後にブロックをダウンロードするだけで済みます。さらに、クライアントがブロックをダウンロードしてUOTを確認すると、UOTを含む最新ブロック以外のすべてを破棄することができます。

敵対的な鉱夫は、UOTであると主張しているが実際には無効であるブロックをチェーンに挿入することができる。このようなブロックはチェーンの外に出ることはできません。新しいブロック妥当性基準を追加する必要があり、この新しい基準を実装する鉱夫は、フォークの「マイニング」を危険にさらす危険があります。たくさんのお金。したがって、どのUOT戦略も、UOTエントリを含むすべてのブロックを信頼できるわけではないという事実に対処する必要があります。

現時点では、このような未使用出力ツリーハッシュの標準フォーマットは合意されておらず、チェーンのどのブロックにも含まれていないことに注意してください。 bitcoind-0.8に追加されたultraprune機能は、クライアントのディスク上に同様のデータ構造を維持します。このデータ構造やそのハッシュはブロックチェーンのどこにも置かれません。

サーバートラステニングクライアント[編集]

これらのクライアントは、信頼されるサーバーに高いレベルの信頼を必要とします。サーバーを認証し、サーバーが侵害されていないことを確認するメカニズムは、通常は説明されていません。

以下にリストされているすべてのシンクライアントは、現在、単一のサーバーに接続しており、二重支出と同様の攻撃に対して脆弱です。この攻撃は、単一のサーバーで実行することができます。サーバーはBitcoinトランザクションを受け取ったばかりであり、実際にBitcoinを交換することなく、サーバーが存在しないと仮定して、サービスを実行したり、資金を移したり、 。したがって、彼らは暗黙のうちにそれを信じています。

クライアントが複数のサーバーと通信し、トランザクションをブロードキャストし、それらのすべてを照会するようになる将来の拡張が提案されました。残念なことに、これは実際にセキュリティを向上させるものではないことをセキュリティ研究者にはよく知られています。単にエクスプロイトをより複雑にして見つけにくくするだけです。セキュリティ研究者はこの現象の名前を持っています:それは "Sybil attack"と呼ばれています<ref> http://en.wikipedia.org/wiki/Sybil_attack </ ref>。 [https://bitcointalk.org/index.php?topic=88208.msg975201#msg975201この記事では、いくつかの政府(特にイランと中国)が、自国の市民に対してこのような攻撃をどのようにして実施しているのかを説明しています。のSSL証明書機関。

チェックポイントを持つクライアント(非常に古いものでも)は、ブロックチェーン全体のヘッダーをダウンロードして検証しますnot vulnerable を次のような意味でSybilの攻撃に適用することができます。攻撃が盗まれた量以上になることを常に保証できます。

BCCAPI[編集]

その他[編集]

  • bitcoin-devの[4]
  • question on bitcoin.stackexchange.com
  • [弱点#Sybil_attack | sybil攻撃(癌ノードとも呼ばれる])]段落は、「見ることができるIPアドレスの大半」が何であっても、セキュリティを基盤とするシンクライアントの問題のいくつかを説明しています。
  • [5]
  • シンクライアントとフルチェーン検証の間の仮説[6]

<リファレンス>

Category:技術 カテゴリ:クライアント Category:セキュリティ