Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What is going on with this article?
@nizveyl

[Catapult] アカウントにトランザクションのフィルタや発信許可設定を与えるAccountPropertiesTransaction

More than 1 year has passed since last update.

AccountPropertiesTransaction

最近nem2-docsに記述された新しいトランザクションが面白かったので調べてみました。

*現時点ではmasterブランチに含まれていない状態なので、内容は変更される可能性があります。

これはCatapultに実装されている新しいトランザクションタイプです。

これにより、アカウントにホワイトリスト・ブラックリスト、トランザクション発信の有効・無効を設定することができます。
(実のところ私はまだ動作未検証です。ドキュメント漁ってただけなので)

これらはブロックチェーンレベルで動作する、用途は限定的ですが、ある意味で簡易なスマートコントラクトと言えます。
(nem的にはこうゆうのはスマートアセットと呼びます:point_up:)

フィルタ定義

アカウントフィルタ

特定のアカウント(アドレス)からの受信トランザクションのホワイトリスト・ブラックリストを定義することができます。

account-properties-address.png
*リポジトリより画像を引用

特定のアカウント(アドレス)からのトランザクションを拒否したり、逆に特定のアカウントからしか受け付けない、というような状態のアカウントを作ることができます。

モザイクフィルタ

特定のモザイクを含む受信トランザクションのホワイトリスト・ブラックリストを定義することができます。

account-properties-spam.png
*リポジトリより画像を引用

特定のモザイクを含んでいるトランザクションを拒否したり、特定のモザイクしか受信しない、というような状態のアカウントを作ることができます。

トランザクションタイプフィルタ

特定のタイプのトランザクションの有効・無効を定義することができます。

特定のトランザクションタイプ(転送、連署、マルチシグ化とか)を無効化し、実行できない状態のアカウントを作ることができます。

そもそも送信トランザクションを発信させる必要が無い前提で運用するアカウント、誤送信防止や必要な場合だけ許可するために、
もしくは、署名だけするアカウントなので、署名以外のトランザクションをさせないようにする、
というようなアカウントにすることができます。

まとめ

例示では、アドレスを個別の製品に割り当て、品質チェックに問題が無いことを示すモザイクを送付しています。

ホワイトリストによって、品質チェック作業者やセンサーが持つアカウントからだけ受信できるようにすることで、管理外のアカウントから偽の(何らかの方法で漏れたモザイクや名前が紛らわしいモザイク)を送りつけられないように、トランザクションにメタ情報を持たせる場合は、余計なトランザクションが紐づかないようにしています。

トランザクションタイプを制御することで、誤送信をブロックチェーンレベルで防止したりもしています。
これならアプリケーション側に制御する機能が実装されていたとして、それにバグがあってもすり抜けるようなこともなく、安心できますね。

それぞれ、ドキュメントにもある通り、エンタープライズなモザイクをパブリックチェーンで扱うような場合に役に立ちそうな機能です。

トランザクションタイプフィルタも、例えば大きな量のモザイクを扱うようなお店や企業、取引所などではセキュリティ強化に役立ちます。

様々な実用プロジェクトが立ち上がる中、こう言った個人からさまざまな規模の企業が入り混じるパブリックチェーンで起こりがちな問題(不都合)に対する機能が入っているのは大変頼もしい感じがしますね。

"Catapult is soon..."

2
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
2
Help us understand the problem. What is going on with this article?