Symbol Daily Updates

Symbol/NEMのコミュニティ動きについての紹介です。

Symbol Weekly Updates(2022年10月3日〜10月9日)


1週間のSymbolおよびNEM関連のニュース、開発者の動きおよびNEMLOGのお題を紹介します。

  • 目次
    # 1週間のSymbolコアデブの動き
    # コミュニティPR情報

 

# 1週間のSymbolコアデブの動き

今週はSymbolのノード委任が集中している事について話題になりました。

この記事によると、特定のノードを攻撃するだけでインポータンスの1/3を潰せる事を指摘し、それによってネットワーク側にリスクが増える事を言っています。
そこで、どのようにすれば良いのか、解決策が議論されました。
以下は

Hatchetさん
面白いことに、私の専門はコンセンサス・アルゴリズムであり、必ずしもマイニングではありません。
私が鉱夫のように考えていないことを知れば、驚かれるかもしれません。
収益は、あなたや私がコントロールできない市場効果で変動します。これに対応するために発行を簡単に変更することはできません。
私たちは市場価格などの要因に基づいて時間とともに進化するNEMの新しいアップグレード設計を考えていますが、信頼性の高いオンチェーンオラクルをどのように構築するかはまだ考えているところです。
委任者の集中の問題を解決するには、1ノードあたり最大10人の委任者をプロトコルに強制することが理想的です。
複数のノードに出資することは可能ですが、そのためのコスト(運用コスト)がかかるため、デリゲートをため込むことを抑制しています。
10、20、25が適切な数字かどうかはわかりませんが、私はこれが理想的な解決策だと思います。
 実際の合意形成の集中化という点では、ブロックの投票者、つまり投票ノードだけが重要である。
彼らが(最終的な)チェーンに何を入れるかを決めるのです。現在のpBFTのデザインでは、これらのノードの分散化がすぐに改善されるとは思えません。プールされた投票は多少の緩和をもたらしますが、結局は応急処置に過ぎません。

 

 

 

ツイベガ君

ネットワークの状況に応じて動的にスロットを変更するのは、デリゲーター側の負担が大きくなるので難しいと感じています。
デリゲーターの最大人数とデリゲーターへの報酬を反比例させるのはどうでしょうか。

上限が5なら報酬は25%、50なら15%というように。
デリゲーター側は、上限が小さくても空きがあるところを狙うので、自然とバランスが取れてくるのです。

これは、委任者全員じゃなくて、委任上限数が多いノードに委任している人の報酬が減ります。

また、ハチェットさん等が言われていた動的に上限を変更する方針ではなく、ベースはタヌさんが言われてたプロトコルとしての上限は決めない方針です。

プロトコルとして上限は決めないけど、上限数上げたほど委任者側の報酬減っちゃうよっていう感じです。 委任者側がそれを見て良い感じに勝手に分散してくれるイメージです。

大体次の4つの特徴のうちいずれかを持っていると思います

1. インフルエンサー系のノード

2. 高還元系のノード

3. 宣伝に強いノード(Twitter、 ホームページ)

4. 取引所と思われるノード

 

1. 委任側は知っている人のノードに委任できます。また、ファンとして応援することもできます。

2. 委任側は通常のハーベストに比べて多くの報酬を獲得することができます。大半の人が利益を得るために仮想通貨をホールドしているわけですから、委任者にとっては魅力的なノードとなりえます。

3. 委任は失敗することも多く、初任者にとっては手順もわかりづらいです。これをサポートできたりするノードはやはり委任者にとっても魅力的なノードです。特にTwitterで毎日宣伝されている場合は目にもつきやすく、委任する動機自体も多いです。

4. ハーベストの設定を行うことなく報酬が獲得できます。

 

これらの特徴を複数持つノードもあります。あくまで私の感想ですが、こうした特徴を複数持つノードは現状強力な集客力を持っていると思います。

このように、何かしら委任者への直接的なメリットがあるノードが委任量を多く持っていると思います。そして今後委任制限が行われたとしてもこの傾向は続くと思います。委任側に分散に貢献するメリットを与える仕組みを作るか、コンセンサスの抜け穴を完全に封じなければ、別の問題となって再発すると思います。

コンセンサスの抜け穴を塞ぐ方法としては、1委任での上限枚数を設けて、委任数量の上限を設けるのはどうかとも思っています。ただ、ネットワークにはとって良い選択肢なのかは正直なんとも言えないです。

大口ホルダーに委任分散を強制させることができる一方で、管理が面倒になってしまう欠点があります。委任側に分散に貢献するメリットを与える場合、委任数が少ないノードに委任したときの報酬を増やすなどの方法があると思います。

分散には効果が出ると思うのですが、悪用ができる制度でもあると思うのでこのあたりの調整が難しいだろうなと思います。

その他、コンセンサスの設計の問題もあります。私の知っている限りでは、ノードは委任状態を秘匿する(UnlockedAccountのものは偽装できる)ため委任数制限を行う場合、正しい委任数を計算するために委任状態が完全に公開される新たなコンセンサスが必要になると思います。具体的にはチェーンに委任が正しくなされた証明を記録する必要や、先着順か、インポータンス順で判定するかなどの課題が出ると思います(正しく委任されていない状態を含めて良ければ、これは委任の履歴で多少の代用ができるかもしれません)

また、委任分散の問題と合わせてvotingノードに対する報酬設計も同時に見直すべきだと思います。votingノードはsymbolのチェーンを維持する重大な役割を与えられているのに報酬が0です。それなのに投票キーの更新を行うメンテが必要など、負担になっています。投票キーの問題とは原因が別ではありますが、現にsymbolテストネットはvotingの票数が足りなくなり、ハードフォークが永遠にできないネットワークと化しています(ブロックチェーンとしての機能が失われています)。

対策を行わない限り、メインネットで同じような事故が起きてもおかしくありません。あまり注目されない存在ではありますが、チェーンの管理権を保有し、symbolのチェーンを維持しているのはvotingノードです。分散を行うためにコンセンサスの見直しを行うのであれば、同時にvotingに対するインセンティブを設計し直すことを個人的には提案したいです。

[質問】 極端な話、1つのノードが51%の重要度を持つとシンボルブロックチェーンにとって危険なのでしょうか?(1つではなく、複数かもしれませんが)。 そこをはっきりさせれば、話の方向性は正しくなると思う。

Jaguarさんの回答】 そうです。その場合、ブロックチェーンは完全に中央集権化されます。51%の重要度を持つノードは、49%の他のネットワークよりも速くブロックを生成することができるので、一方的に最長のチェーンを生成することができるようになるのです。さらに、そのノードが51%の投票権を持っている場合、投票しないことによって一方的に最終化を停止することができる(これを行うには33%以上の投票権が必要である)。一方的にブロックを確定させることはできない(67%が必要)。

以上のように議論されました。
みなさんもぜひ、Symbolの仕組みについて学び、Discord等を通じて学んでみてはいかがでしょうか。

 

 コミュニティ発のSymbol案内サイトの登場

これまではNEM財団およびNGLからNEM公式サイトが出ていました。それが海賊グループによる開発体制になると、そのサイトはなくなりました。
そこで、コミュニティとしてSymbolの案内サイトを作ろうという動きになり、完成しました。

だが、まだ完成しているわけではないので、記事の執筆者を募集しているようです。
書ける人は挑戦してみてはいかがでしょうか。

 

 

# 1週間のSymbolコアデブの動き

1週間のコアデブの動きをまとめました。

10月3日

  • 4n7h0ny さん
    2022年 9月27日~30日
    - 開発会議
    - sdk-generalチャネルのフォローアップとWASMのための読書会
    - sdk-jsチャンネルのフォローアップ
    - エクスプローラ
     - エクスプローラの不要なページネーションコンポーネントに関するいくつかの議論
     - 表示制限のフォローアップ PR #1116 とマージされました。
     - クロームコンソールエラーに関するユニットテストを追加した PR #1117
     - 表示取り消しに関する調査 トランザクション #1120

    今週は家庭の事情で生産性が低く、コードよりも読書が中心でした。

 

10月4日

  • Baha さん
    9月26日~30日
    - 開発会議
    - ウォレット/デスクトップ
     - 収穫フォームのユニットテスト
      - ハーベスティングの停止ケースを追加
      - 非同期フロントエンドテストの問題に取り組んだ
       - 非同期FEテストのデバッグは面倒で、デバッガを使ってもタイムアウトになり、根本的な問題をキャッチできないので、通常print文にフォールバックするケースがある。
      - PR#1914 を更新しました。
    - 今週はいろんな問題があって面白い一週間だった

  • cryptoBeliever さん
    9月30日
    - 開発会議
    - デスクトップウォレット - 複数ウォレットのサポートに関する確認 - 機能強化の報告 https://github.com/symbol/desktop-wallet/issues/1915
    - SDKのチャンネルをフォローする
  • 4n7h0ny さん
    2022年10月3日
    - 開発会議
    - フォーセット
     - 蛇口のDiscordリンクの問題について、cryptoBelieverとWayonと連絡を取り合いました。
     - リンクはハードコードされており、コンテナの変更を要求するため、一時的な修正として、コンテナのリンクを手動で更新する。
    - エクスプローラ
     - タスクのメタデータの値がエクスプローラーに表示されない問題#1041に対処しました。
    - SDK-JS
     - コミュニティPRのtypescript-definition-dual-packages-cdnのES6への変更について、Jagさんの提案で遊んでみたところ、うまくいっているようです。

 

10月5日

  • Oleg さん
    2022年9月29日
    - 開発会議

    モバイルウォレット。
    - Aggregate Bonded cosignフォームを強化。
     - UIの強化、プレーンテキストボタンの追加、テキストを少しコンパクトにし、コピーを更新しました。

    9月30日、10月3日 2022年
    - 開発会議。

    モバイルウォレット。
    - オプトインモジュールを削除しました。

    sdk-js
    - 環境構築。
    - webpackのCJSモジュールのインポートの問題を調査しました。

    2022年10月4日
    - 開発会議。

    モバイルウォレット。
    - 未使用のコードのクリーンアップ:ストレージ、コンポーネント
  • Baha さん
    10月3日、4日
    - 開発会議
    - 財布/デスクトップ
     - 収穫フォームの単体テスト
      - シングルキーリンクトランザクション
       - ノード公開鍵のリンク・アンリンク
       - リモート公開鍵のリンク/アンリンク
       - リンク/アンリンクVRF公開鍵
      - リファクタリング

 

10月6日

  • cryptoBeliever さん
    10月3〜4日
    - 開発会議
    - Symbol node - mongo dbに直接接続し、テーブルの構造やより速くデータを照会する方法について学びました。
    - NEM Nanowalet課題リスト(https://github.com/NemProject/NanoWallet/issues)を少し整理し、既に修正された/再開された課題をクローズ(本日も継続予定)。
    - コミュニケーション(例:Symbolのサポートを追加する可能性について、決済プロバイダと連絡を取ろうとしています。)
  • Wayon さん
    9月20日~23日
    - Catapultクライアント用Helmパッケージング調査
    - dependabotのクリーンアップ
     - いくつかの小さなPRS

    9月26日〜30日
    - 休暇

    10月3日
    - メッセージのキャッチアップ
    - 最終的な失速のためにtestnetのログを見る。
     - 今後、1つのノードでトレースを有効にする予定

    10月4日
    - testnetのリセットを検討
     - いくつかのツールを書いた
      - nemesisのアカウントを生成
      - nemesisの設定とシードを生成する(WIP)。
  • 4n7h0ny さん
    2022年10月4日-5日
    - 開発会議
    - フォローアップ タワードキュメント
    - エクスプローラ
     - メタデータ値表示の不具合修正完了、PR作成 #1122
    - デスクトップウォレット
     - PR #1914の検討
     - テストケースの打ち合わせ委任型ハーベスティングフォーム
     - state/getter ユニットテストでの実験に取り組んでいる https://discord.com/channels/856325968096133191/1009067593463775282/1027227863029665842

 

10月7日

 

10月8日・9日

  • ---- さん
    ----

 

# Symbolイベント情報

Symbol関連のイベントについて紹介します。

  • ジムツア
    歩いた歩数をTwitterでツイートすると仮想通貨SYMBOL/XYMが貰えるイベントです。
    歩くことができる方、不自由な方、歩く歩けない関係なく、誰もが参加できるイベントです。

    参加方法:こちら
    主催者:ESSAN
    掲載期間:無期限

  • イベント情報を募集中
    本記事にてイベント情報を掲載したい方を募集しています。 氏名、掲載タイトル、概要に書いて欲しい事、掲載して欲しい期間(無期限でも可能)、PR記事のURLを本記事のコメント欄にて書いてください。