(原文: https://medium.com/@nemtechdev/nem-catapult-a-new-server-release-cow-95ec47cb82cc )
Cowと呼ばれるマイルストーンが公開されました。このアップデートではNEM2に新しい機能といくつかの破壊的な変更をもたらします。技術的な変更履歴はこちらから参照できます。
更新されたコード
P2PサーバとREST APIが更新されました。ブートストラップサービス(docker)はまもなく更新される予定です。dockerファイルに変更が加えられました。
これらは破壊的な変更です。そのため、最新のNEM2 SDKを入手する必要があります。当初はTypeScript / JavaScript のみ展開されることに注意してください。更新についてはリポジトリを確認してください。その他の言語のSDKはその後に更新される予定です。
追記: TypeScript / JavaScript版のSDKは2月11日現在、Bison及びCowに対応していません。
コミュニケーション
NEMエコシステムへの貢献を誘致し、管理するためにプロジェクト管理委員会(PMC)が設置されました。
新しいPMCとSlackコミュニケーションを合わせるため、nem2.slack.comのいくつかのチャンネルが名称変更または削除されました。
新しく提案された機能はサーバリポジトリの対応するマイルストーンにissueとして追加されています。NEMの改善提案は、GithubにあるNIPリポジトリに追加して議論することができます。
見通し: 次のリリースはDragonです。ロードマップはその後に掲示されます。このドキュメントではCowに焦点を当てています。
マイルストーンと機能
アカウントフィルタ
アカウントフィルターを使用するとアカウントの所有者は特定のトランザクションをブロックすることができます。
例えば、取引所はサポートしているモザイクのトランザクションのみを許可することができます。
サプライチェーン業界のアプリケーションのために使用することができます。会社のアカウントは事前に定義されたモザイクだけを受け入れるように許可することができます。着信トランザクションにリストとは異なるモザイクが含まれている場合、トランザクションは失敗します。
アカウントフィルターの詳細はこちら
スパムトランザクションのブロック
フィルタでできること:
- モザイクフィルタ: 特定のモザイクをホワイトリスト/ブラックリストに設定できます
- アドレスフィルタ: 特定のアドレスからのトランザクションをホワイトリスト/ブラックリストに設定できます
- トランザクション種別フィルタ: 特定の発信トランザクションの種別をホワイトリスト/ブラックリストに設定できます
アカウントプロパティのパラメータ
エイリアス
エイリアスを使用すると(サブ)ネームスペースをアカウントまたはモザイクに紐付けられます。
これによって人にとって読みやすく、区別しやすくなります。トランザクションを送信する際に、送信先のアカウントのエイリアスをアドレスとして使用することができます。同じことがモザイクにも当てはまります。
モザイクのエイリアスを使用して、モザイクを送信する事ができます。エイリアスは設定/削除することができます。
詳細はこちらを参照してください。
実装
- アドレスエイリアス: アカウントのエイリアスとして(サブ)ネームスペースを設定/削除できます
- モザイクエイリアス: モザイクのエイリアスとして(サブ)ネームスペースを設定/削除できます
レシート
複雑なトランザクションはバックグラウンドでの条件変更によって可能になります。例えばロックファンドトランザクション(保証金)はアグリゲートボンドトランザクションが確認済みなると返却されます。
しかし、ロックされたお金は追加のトランザクションなしに自動的にアカウントに戻ります。これはアカウントの残高を増やす「隠された変化」として現れるかもしれません。
それがいわゆるレシートが助けになる理由です。レシートは隠された全ての変更の証拠を提供します。
詳細はこちらを参照してください。
更新された機能
クロスチェーンスワップ
他のチェーンとの互換性を高めるために、新しいハッシュアルゴリズムが追加されました。
デフォルト:
- SHA3–256
新規追加:
- Keccak-256 (ETH互換)
- Op_Hash_160: 最初にSHA-256でハッシュ化し、次にRIPEMD-160ハッシュ化する (BTC互換)
- Op_Hash_256: 初期の入力をSHA-256で2回ハッシュ化する (BTC互換)
手数料の改善
手数料体系の準備において、プロトコルレベルでの変更が行われました。詳しくはこちらを参照してください。
このトピックはそれ自体で1つの記事になります。より包括的な説明はまもなく行われる予定です。
ハーベスティング
この変更により、プライマリーチェーンとは別なモザイクをハーベストの通貨として設定できます。
これによりプライベートネットワークのカスタマイズや新しい暗号経済モデルのカスタマイズが可能になります。詳しくはこちらを参照してください。
シリアライゼーション
NEM2 RESTサーバに送信されるトランザクションはNEM2プロトコル実装でより高性能に処理するためSDKでシリアル化されています。
今まではシリアライゼーションをフラットバッファライブラリ(Google)によって行われていました。このライブラリはCatbufferというカスタムライブラリに置き換わります。
これによりサードパーティ依存によるオーべーヘッドやサードパーティに対する信頼の必要性を減らすことができます。これには、SDKがトランザクションをシリアライズする方法の更新が必要です。この更新はそれぞれのプログラミング言語でコードジェネレータの実装を要求します。
詳細はこちらを参照してください。
モザイクとネームスペースの分離
これまでは、モザイクはxブロック後に期限切れになるように設定する必要がありました。
新しい実装では、期限切れにならないようにモザイクを設定することが可能です。これによりモザイクの作成者が廃業していても、モザイクの使用が保証されます。
モザイクは特定の(サブ)ネームスペースの置かれるのではなく、それ自身で存在することができます。エイリアスを使用して名前を付けることができます。モザイクはエイリアシステムを使用して名前を変更することができます。
詳しくはこちらを参照してください。
ノード評判評価(Eigentrust++の置き換え)
ノードは基本的に過去に成功した通信を追跡し、そのリストを使用して再接続します。これはP2Pシステムを妨害するためにノードのアイデンティティが偽造させるなどのシビル攻撃を防ぐのに役立ちます。