0 182 質問
これは興味深い攻撃ベクトルであり、現在ではいくつかの方法で防御することができます。 1. 少数の計算能力が大多数の計算能力よりも多くのブロックをマイニングする確率は、N が増加するにつれて指数関数的に減少するため、AD 値を増やすことができます。 2. 巨大なブロックは、マイナーによって伝播され、検証される必要があります。 BU のブロック伝播と「スパイ マイニング」に関する理論的および実証的研究によると、巨大なブロックは孤立しているか、空のブロックのシーケンスが続くため、平均ブロック サイズとネットワーク トランザクション スループットが一致することが示されています。 BUIP038 は、この攻撃から防御するために「スティッキー ゲート」プロパティを復元することを提案します。ただし、このプロパティを復元しても問題は解決されません。攻撃者は、最初のフォークブロック*(および 2 番目、3 番目など)として巨大なブロック* を生成する可能性があります。攻撃者が AD の計算能力の大部分よりも多くのブロックをマイニングできる場合、計算能力の大部分は攻撃者のブランチ チェーンに強制的に切り替えられます。言い換えれば、巨大なブロックを生成するために「スティッキー ゲート」期間を待つ必要はありません。このブロックは、攻撃者が攻撃を試みている間いつでも生成される可能性があります。 (翻訳者注: 最後の文の論理が理解できません。言い換えれば、巨大なブロックを生成するために「スティッキー ゲート」期間を待つ必要はありません。ブロックは、攻撃者の試行中にいつでも生成できます。) ただし、BUIP038 では 144 ブロックの「スティッキー ゲート」期間がないため、マイニングできる巨大なブロックの数が減少する可能性があります。しかし、これは決して確実ではなく、マイナーの「大多数」は異なる AD 設定を持っています。この場合、「大多数」のマイナーは同じブランチで作業するわけではありません。代わりに、各自の AD セットアップ ブロックの先頭から始まるブランチで作業することになります。これは、攻撃者の計算能力が実質的に多数派になることを意味する可能性があります。 BUIP038 はチェーンの収束に非常に有害です。 「エマージェントコンセンサス」アルゴリズムの目的は、ノードとマイナーがブロックサイズへの望ましくない変更に抵抗できるようにし、ハッシュパワーの大多数がより大きなブロックをマイニングしている場合は変更を受け入れるようにすることです。しかし、BUIP038 により、マイナーはブロックの変更を決して受け入れず、自分のチェーンをチェーンの最上部に収束させることはありません。常により小さいブロック サイズにフォークしようとし、AD ブロックを先端の後ろから開始します (大きな欠点)。さまざまな分割サイズでの 2 つのアルゴリズムのシミュレーション (付録 1 を参照) では、ブロックが常に EB の 1 つのグループの上にある場合、BUIP038 には多くの孤立ブロックがあることがわかります。たとえば、現在のアルゴリズムを使用すると、1000 回の実行で約 1800 ブロック、66% 対 33% の分割で最大 13 個の孤立ノードと平均 2 個の孤立ノードが表示されます。しかし、BUIP038 に合格すると、孤立ブロックの最大数と平均数はそれぞれ 642 と 278 となり、1800 ブロックを超えます。 BUIP038 チェーンが収束することはないため、孤立ブロックの実際の数は無限であり、ほとんどの場合、計算能力の 33% が孤立ブロックの生成に使用されていることを意味します。 孤立ブロックによって引き起こされる経済的損失は制御不能であるため、マイナーが BUIP038 の動作を受け入れることはできないと思います。はい、マイナーはネットワークを注意深く監視する必要があります。マイナーはネットワークを注意深く監視し、EB ゲートが侵害され、ハッシュレートがメイン チェーンのトップに追従しなくなったことが判明した場合は、直ちに EB パラメータを変更できます (また、そうすべきです)。しかし、これが望ましいのであれば、そうすべきです。マイナーは AD=99999 (実質的に無限大) を設定し、手動で変更されるまで EB での選択を維持することができます。しかし、BUIP038 が可決された場合、その逆、つまりネットワークの選択を受け入れ、マイナーが手動で介入するまでチェーンの最上位でマイニングする方法はありません。実際、チェーンの上から小さなブロックを構築するのが良い戦略です。少なくともこの場合、あなたのブロックがチェーンの一部となる可能性が高く、経済的損失を制限することで、あなたのブロックが小さくなり、ネットワークの平均ブロック サイズが削減されます (ネットワークは、計算能力が各マイナーのブロック サイズに有利な平均ブロック サイズを生成します)。 提案された解決策少数派コンピューティングパワー攻撃の問題を解決し、チェーンの収束を維持するために、以前の過度に大きなブロックを超えるブロックサイズの割合を決定し、それに応じて AD 値を増やすようにロジックを変更する必要があります。ただし、最初は、より大きなブロックは少なくとも AD ブロックを待機する必要があります。したがって、EAD グラフは最初の大きなブロックまたは後続のブロックに基づいて描画されるわけではありません。最初の大きなブロックは壁のようなものです。 (翻訳者注:今のところこの文章の論理は理解できません、ご容赦ください。したがって、EAD のグラフは、これが最初の過剰ブロックであるか、後続の過剰ブロックであるかによって異なります。最初の過剰ブロックの場合は、上部に階段がある壁のように見えます。) 後続のより大きなブロック、つまり最初のブロックよりわずかに大きいブロックには、初期の AD「壁」は必要ありません。最初のわずかに大きいブロックに初期の「壁」がある場合、マイナーはブロック サイズを一度に 1 バイトずつ増やすことで、他のマイナーに BUIP038 で指定された「常に従う」動作を強制することができます。 内部パラメータ「有効 AD」(EAD) と「有効 EB」(EEB) を定義しましょう。 まず、EEBを計算します。 このチェーン上の最後の 144 ブロックのいずれも過剰としてマークされていない場合: EEB = max(EB、このチェーンの最後の 144 ブロックの最大ブロック) それ以外: EEB = max(EB、このチェーンの最後の 144 ブロックのうち超過としてマークされた最大のブロック) ここで、サイズ S のブロックが生成されたとします。 S<=EEB の場合、このブロックは有効な大きいブロックとは見なされないため、戻ります。 さらに、EAD は次のように計算されます。 ADfraction = floor(AD*(S — EEB)/EB) # グラフ内の「ステップ」を計算します。基本的には、新しいブロックが EB の分数でどれだけ大きくなるか計算します。そして、その分数を掛けた「受け入れ深度」を待機します。 EEB == EBの場合: EAD = AD + ADfraction # 初期壁を追加 それ以外: EAD = AD分数 特大ブロックの最終処理: EAD == 0の場合: このブロックは過剰ではありません。 EAD > 0の場合: このブロックを過剰にマークします。 EAD の子供たちがそれを受け入れるまで待ちます。 EAD=0の場合 このブロックは大きなブロックではありません EAD > 0の場合: このブロックは大きすぎるとマークします。 サブEADを待ってから受け入れる たとえば、英語では、新しいブロックが最後の大きなブロックより 2EB 大きい場合、この分岐チェーンの長さが 2*AD に達するまで、この分岐チェーンは拒否されます。これにより、AD 設定が低いために大きなブロックを許可するネットワークの問題が修正されます。ブロックが大きくなるほど、ノードがチェーンに抵抗する時間が長くなります。 24 時間以内のすべてのブロック (つまり 144 ブロック) が最後の大きなブロックよりも小さい場合、どのブロックも大きいブロックとしてマークされないため、次のブロックの完全な待機高さは「AD+ADfraction」になります。 24 時間ごとに「しゃっくり」をするのは意味がないと思います。したがって、EEB 計算の「if」ステートメントはこのケースを処理します (マークされていないブロックは、大きいとマークされた前のブロックとノードが待機しているブロックより小さいか等しい必要があります)。これは、起動フェーズ中に処理する必要がある状況にも適用されます。起動時に、AD が古いブロックをトリガーすることは望ましくないと思います。特に、EB/AD 設定を気にしないユーザーはこれらの値を設定することを忘れるからです。したがって、起動時に少なくとも 144 個のブロックがチェックされ、EEB は前の最大のブロックに設定されます。 この論理アルゴリズムのコンセンサスは重要ではありません。他のクライアントは、コンセンサスを破ることなく大きなブロックにペナルティを課すための異なるアルゴリズムを作成することができます。 例: EB = 1MB ここで 2MB のブロックが入ります。これは最初の過剰ブロックなので、EEB=EB です。 ADブロック+AD*(2–1)/1ブロックを待機します。つまり、2 * AD ブロックです。するとEEBは2MBになります。 例えば: EB=1MB 次は 2MB ブロックです。これは最初の大きなブロックです。したがってEEB=EBです。 ADブロック+AD*(2-1)/1ブロックを待ちます。つまり、2 * AD ブロックです。 EEB は 2MB になります。 今度は、2MB の後に 10MB のチャンクが来ます (次の「スティッキー ポイント」を計算するときに 2*AD チャンクをスキップしないでください)。 (10-2)/2=8 なので、8*AD 10 MB ブロックで止まってしまいます。 EEB=10MB。 たとえば、10 MB の後に 11 MB のブロックが見つかるとします。 (11-10)/1=1 なので、1*AD チャンクの 11MB チャンクで止まってしまいます。 EEB=11MB。 次に、5MB のブロックが届きます。EEB よりも小さいので、すぐに受け入れます。 次に、ブロック 143 が通過し、4 MB のブロックが入ります。オーバーサイズとしてマークされたブロックはなく、5 MB が最大値であるため、EEB は 5 MB です。したがって、4MB ブロックはすぐに受け入れられました。 145 ブロックが経過すると、EEB は EB になり、4MB ブロックはより大きなブロックになります。 添付資料1: データはゾーン チェーン シミュレーションから取得されます (切り取ってワイド テキスト エディターに貼り付けます)。このシミュレーションは次の場所にあります: https://github.com/gandrewstone/chainsim: BUIP041 (このBUIP): SPLIT (ブロックの高さ、最大ブロック数、平均ブロック数): 最大フォーク深度、最大孤立数、平均孤立数、{X:Y (Y 回の実行で X 回のフォークがあった)} 0.500000/0.500000 (1807、1810、1669): 4、33、5、{0: 73、1: 365、2: 186、3: 129、4: 103、5: 47、6: 42、7: 16、8: 18、9: 10、10: 5、11: 2、12: 3、15: 1} 0.600000/0.400000 (1793、1798、1670): 4、20、3、{0: 129、1: 505、2: 196、3: 95、4: 37、5: 23、6: 9、7: 1、8: 4、9: 1} 0.667000/0.333000 (1821、1822、1668): 4、14、2、{0: 189、1: 572、2: 147、3: 55、4: 23、5: 11、6: 1、7: 2} 0.750000/0.250000 (1812、1814、1669): 4、14、1、{0: 276、1: 596、2: 103、3: 20、4: 4、8: 1} 0.800000/0.200000 (1794、1795、1670): 4、6、1、{0: 429、1: 505、2: 54、3: 11、4: 1} 0.900000/0.100000 (1787, 1788, 1667): 4, 4, 1, {0: 637, 1: 343, 2: 18, 3: 2} 0.950000/0.050000 (1793, 1793, 1667): 2, 2, 1, {0: 806, 1: 192, 2: 2}BUIP001 + 後続の修正 (現在リリースされているコード): SPLIT (ブロックの高さ、最大ブロック数、平均ブロック数): 最大フォーク深度、最大孤立数、平均孤立数、{X:Y (Y 回の実行で X 回のフォークがあった)} 0.500000/0.500000 (1801、1809、1673): 4、34、5、{0: 60、1: 386、2: 207、3: 134、4: 76、5: 48、6: 38、7: 15、8: 14、9: 8、10: 1、11: 3、12: 4、13: 4、17: 1、18: 1} 0.600000/0.400000 (1788、1792、1669): 4、21、3、{0: 117、1: 502、2: 212、3: 92、4: 50、5: 15、6: 6、7: 1、8: 1、9: 1、10: 1、11: 1、12: 1} 0.667000/0.333000 (1767, 1771, 1667): 4, 12, 2, {0: 212, 1: 552, 2: 153, 3: 56, 4: 21, 5: 3, 6: 3} 0.750000/0.250000 (1793、1794、1669): 4、8、1、{0: 338、1: 558、2: 72、3: 21、4: 9、5: 1、6: 1} 0.800000/0.200000 (1823、1824、1668): 4、7、1、{0: 394、1: 531、2: 64、3: 7、4: 4} 0.900000/0.100000 (1786, 1786, 1669): 3, 3, 1, {0: 667, 1: 326, 2: 7} 0.950000/0.050000 (1828, 1828, 1665): 4, 4, 1, {0: 811, 1: 186, 2: 3}BUIP038 (オリジナル BUIP001 コミット): SPLIT (ブロックの高さ、最大ブロック数、平均ブロック数): 最大フォーク深度、最大孤立数、平均孤立数、{X:Y (Y 回の実行で X 回のフォークがあった)} 0.500000/0.500000 (940, 1820, 1671): 23, 937, 418, {714: 1, 740: 1, 742: 1, 743: 1, 746: 1, 747: 1, 750: 1, 752: 2, 759: 2, 760: 1, 761: 2, 763: 1, 764: 2, 766: 1, 767: 1, 768: 2, 769: 1, 770: 4, 771: 2, 772: 1, 773: 2, 774: 5, 775: 5, 776: 4, 777: 4、778: 6、779: 3、780: 10、781: 1、782: 3、783: 9、784: 2、785: 9、786: 12、787: 8、788: 6、789: 5、790: 4、791: 4、792: 14、793: 7、794: 9、795: 6、796: 9、797: 8、798: 9、799: 11、800: 9、801: 13、802: 11、803: 12、804: 17、805: 11、806: 10、807: 9、808: 12、809: 14、810: 11、811: 15、812: 9、813: 12、814: 15、815: 14、816: 9、817: 11、818: 10、819: 14、820: 20、821: 3、822: 10、823: 14、824: 15、825: 15、826: 10、827: 10、828: 13、829: 17、830: 15、831: 19、832: 11、833: 13、 834: 11、835: 10、836: 16、837: 14、838: 13、839: 9、840: 9、841: 10、842: 13、843: 12、844: 6、845: 10、846: 8、847: 5、848: 10、849: 14、850: 10、851: 12、852: 10、853: 11、854: 10、855: 8、856: 10、857: 8、858: 5、859: 4、860: 5、861: 5、862: 7、863: 3、864: 4、865: 3、866: 1、867: 4、868: 7、869: 2、870: 4、871: 5、872: 5、873: 6、874: 5、876: 2、877: 3、878: 2、879: 1、880: 3、881: 4、882: 6、883: 1、884: 2、886: 1、889: 1、890: 2、891: 2、892: 1、893: 2、894: 1、896: 3、897: 1、 898: 1、900: 2、901: 2、908: 1、912: 1、913: 2、923: 1、932: 1} 0.600000/0.400000 (1101, 1800, 1669): 19, 744, 334, {595: 2, 598: 1, 599: 2, 602: 1, 603: 1, 604: 1, 607: 7, 608: 1, 609: 2, 610: 1, 611: 5, 612: 2, 613: 3, 614: 3, 615: 3, 616: 3, 617: 4, 618: 8, 619: 6, 620: 2, 621: 2, 622: 3, 623: 6, 624: 5, 625: 7、626: 5、627: 5、628: 5、629: 11、630: 3、631: 9、632: 7、633: 11、634: 7、635: 10、636: 9、637: 7、638: 8、639: 8、640: 14、641: 7、642: 10、643: 11、644: 13、645: 17、646: 7、647: 12、648: 9、649: 13、650: 16、651: 13、652: 15、653: 14、 654: 12、655: 14、656: 20、657: 9、658: 15、659: 14、660: 16、661: 11、662: 15、663: 28、664: 16、665: 9、666: 16、667: 17、668: 18、669: 17、670: 15、671: 14、672: 9、673: 13、674: 18、675: 10、676: 8、677: 19、678: 18、679: 8、680: 11、681: 13、682: 17、683: 15、684: 8、685: 8、686: 13、687: 12、688: 8、689: 10、690: 6、691: 10、692: 7、693: 9、694: 9、695: 8、696: 2、697: 5、698: 8、699: 3、700: 2、701: 4、702: 6、703: 8、704: 3、705: 4、706: 3、707: 5、708: 1、709: 4、710: 4、 711: 5、712: 5、713: 2、714: 3、715: 1、716: 1、717: 2、718: 4、720: 1、721: 2、722: 2、723: 2、724: 1、725: 1、726: 1、727: 1、729: 1、736: 1、737: 1、744: 1} 0.667000/0.333000 (1219, 1785, 1670): 21, 624, 278, {512: 3, 513: 4, 514: 6, 515: 4, 516: 7, 517: 8, 518: 3, 519: 5, 520: 5, 521: 9, 522: 10, 523: 11, 524: 9, 525: 8, 526: 8, 527: 10, 528: 13, 529: 9, 530: 10, 531: 11, 532: 13, 533: 7, 534: 15, 535: 12、536: 15、537: 13、538: 10、539: 19、540: 20、541: 17、542: 16、543: 20、544: 11、545: 19、546: 24、547: 12、548: 13、549: 14、550: 17、551: 19、552: 11、553: 22、554: 9、555: 13、556: 15、557: 26、558: 15、559: 32、560: 15、561: 17、 562: 10、563: 14、564: 17、565: 13、566: 13、567: 16、568: 14、569: 17、570: 10、571: 15、572: 10、573: 4、574: 9、575: 10、576: 7、577: 13、578: 15、579: 12、580: 11、581: 7、582: 10、583: 7、584: 5、585: 9、586: 5、587: 10、588: 4、589: 2、 590: 1、591: 1、592: 3、593: 5、594: 4、595: 4、596: 4、597: 1、598: 2、599: 2、600: 3、601: 3、602: 1、603: 2、604: 2、606: 1、607: 1、611: 1、612: 1、613: 1、615: 1、624: 1、476: 1、479: 1、483: 1、484: 1、488: 1、489: 2、498: 1、499: 2、501: 3、502: 2、503: 3、505: 1、506: 2、507: 4、508: 1、509: 2、510: 2、511: 2} 0.750000/0.250000 (1362, 1788, 1669): 11, 478, 209, {353: 1, 355: 1, 356: 1, 357: 1, 362: 2, 364: 1, 365: 1, 368: 1, 370: 2, 371: 1, 373: 4, 374: 3, 375: 2, 377: 3, 378: 2, 379: 2, 380: 2, 381: 6, 382: 2, 383: 5, 384: 5, 385: 6, 386: 5, 387: 4, 388: 6、389: 8、390: 6、391: 8、392: 17、393: 6、394: 7、395: 14、396: 7、397: 18、398: 19、399: 22、400: 25、401: 14、402: 23、403: 15、404: 12、405: 24、406: 23、407: 22、408: 18、409: 16、410: 13、411: 23、412: 15、413: 28、414: 16、415: 13、 416: 24、417: 13、418: 20、419: 16、420: 21、421: 18、422: 12、423: 17、424: 18、425: 20、426: 21、427: 22、428: 20、429: 13、430: 13、431: 12、432: 12、433: 11、434: 16、435: 21、436: 10、437: 11、438: 14、439: 7、440: 10、441: 7、442: 6、443: 13、444: 13、445: 3、446: 2、447: 4、448: 5、449: 8、450: 5、451: 3、452: 7、453: 2、454: 4、455: 2、456: 5、457: 1、458: 1、459: 3、460: 1、461: 3、462: 1、463: 2、464: 1、465: 2、468: 1、474: 1、478: 1} 0.800000/0.200000 (1432, 1786, 1666): 7, 392, 167, {278: 1, 281: 1, 283: 1, 284: 1, 285: 2, 286: 1, 288: 1, 289: 2, 290: 3, 291: 2, 292: 5, 293: 1, 294: 3, 295: 3, 296: 5, 297: 4, 298: 6, 299: 6, 300: 4, 301: 5, 302: 7, 303: 3, 304: 6, 305: 8, 306: 3、307: 9、308: 11、309: 11、310: 16、311: 7、312: 6、313: 8、314: 11、315: 12、316: 12、317: 18、318: 23、319: 19、320: 16、321: 19、322: 15、323: 21、324: 14、325: 19、326: 19、327: 27、328: 15、329: 21、330: 24、331: 28、332: 24、333: 20、334: 25、335: 24、336: 18、337: 24、338: 15、339: 19、340: 22、341: 20、342: 15、343: 17、344: 24、345: 15、346: 22、347: 14、348: 13、349: 12、350: 9、351: 15、352: 11、353: 5、354: 16、355: 6、356: 12、357: 7、358: 7、359: 5、360: 6、361: 11、362: 10、363: 3、364: 5、365: 5、366: 7、367: 3、368: 3、369: 3、370: 4、371: 3、372: 1、373: 3、374: 5、375: 1、376: 1、378: 1、380: 1、382: 1、384: 1、392: 1} 0.900000/0.100000 (1633, 1828, 1667): 4, 211, 84, {131: 2, 133: 1, 135: 4, 136: 2, 137: 3, 138: 2, 139: 2, 140: 4, 141: 4, 142: 5, 143: 6, 144: 4, 145: 8, 146: 10, 147: 10, 148: 12, 149: 10, 150: 16, 151: 19, 152: 14, 153: 19, 154: 17, 155: 14, 174: 24、175: 26、176: 24、177: 21、178: 29、179: 22、180: 18、181: 15、182: 17、: 8、184: 7、185: 7、186: 12、187: 10、188: 11、189: 3、190: 5、191: 4、192: 2、193: 2、194: 3、195: 2、196: 2、197: 1、198: 3、199: 3、200: 2、201: 1、203: 1、204: 1、205: 1、208: 1、211: 1、113: 1、122: 1} 0.950000/0.050000 (1706、1789、1667): 3、115、42、{57: 2、58: 1、59: 1、60: 3、61: 1、63: 1、64: 7、65: 4、66: 6、67: 8、68: 13、69: 14、70: 17、71: 18、72: 25、73: 18、74: 27、75: 21、76: 32、77: 40、78: 36、79: 44、80: 42、81: 49、82: 47、83: 43、84: 33、85: 39、86: 44、87: 54、88: 30、89: 24、90: 27、91: 26、92: 36、93: 15、94: 26、95: 15、96: 20、97: 15、98: 11、99: 11、100: 10、101: 13、102: 6、103: 2、104: 9、105: 4、106: 2、107: 2、109: 2、110: 1、112: 1、114: 1、115: 1} 翻訳者注: 私は さまざまな難しい文章についての私の翻訳の質問に辛抱強く答えてくれた友人の @PC に心から感謝の意を表したいと思います。ありがとう。 |
<<: ハッカー攻撃が激化、ビットコイン利用者が携帯電話番号のせいで数百万ドルを失う
>>: イタリアの銀行危機が続く中、欧州の主要取引所はビットコインの購入に急いでいる
暗号トークンDYDX、OP、SUIは、大規模なトークンロック解除を前に急落し、Coindesk市場指...
10月17日の夕方、友人の輪の中で、仙河グループの5大鉱山会社が抗議のため一斉に生産を停止したという...
南アフリカ最大のビットコイン取引所BitXの事業開発・成長責任者であるヴェルナー・ヴァン・ルーエン氏...
一般的な意味での分散型ネットワークは、ハードウェア デバイスをベースとし、ソフトウェア コードによっ...
著者: ジュネーブインドネシアの大手電子商取引および決済ソリューションプロバイダーである Kiner...
編集者注: 原著者のブライアン・アームストロング氏はビットコイン会社 Coinbase の CEO ...
Ethereum PoS アップグレードが近づくにつれ、元の PoW マイナーは Ethereum ...
12月5日から12月6日にかけて、2020年世界ブロックチェーン会議が武漢で正式に開幕しました。この...
著者の David GW Birch 氏は、安全な電子取引コンサルタントである Consult Hy...
Crazy Review : オーストラリアの通信会社 Telstra は、スマートホーム センター...
ビットコインサービスのスタートアップ企業Vogogoは、人気の低さから暗号通貨決済処理事業を停止する...
新しく発行されたデジタル通貨に対する投資家の関心が薄れつつあることから、ETCの価格は過去1週間で急...
過去48時間で、ビットコインの価格は史上最高値の73,835ドルから13%下落し、約60,000ドル...
数日前、Bitcoin.com は記事の中で、Bitcoin Cash (BCC) は Bitcoi...
導入デジタル通貨を使えば、まずは1億ドルを稼ぐという小さな目標を達成できると考える人が増えています。...