---
# System prepended metadata

title: ブロックチェーン 共有
tags: [SAIGATE]

---

###### tags: `SAIGATE`
# ブロックチェーン 共有

### 1. ETH版とpolygon版の仕様の違い
ETH版にはERC20での決済の機構が含まれているがpolygon版には含まれていない。
以上よりPolygon版は独立で稼働ではなく決済部分など一部機能をETH版に依存しているため、独立での使用は不可と思われる。

polygon版では、Metatransactionと呼ばれるGAS負担軽減のための機能を実装している。
この詳細については現在調査中だが、これの実行によって運営者が一定のGAS代を負担していることは確実。

Polygon版はオークション形式・オファー形式に対応していない。
	
### 2. 仕様の違いによるGAS負担の違い
以上より、GASの負担はETH版でこの表の通り。https://docs.google.com/spreadsheets/d/11rG5NSK7UtcC0tc0TdV6XUwgVn_4wYYLlcDaV0X_wIU/edit#gid=0

Polygon版では表中の初回出品時のウォレット登録の必要がなく、その代わりにMetatransactionの運営者負担が発生する。

しかし、Proxyによる攻撃回避などが行われていない点から、正確に運用されているとは考えにくくpolygon版はMetatransactionの実行のみで、あとはDB上でやりとりがされているのではないか。（調査中）

### 3. proxyの動作と”初期登録”の目的
Proxyはtrunsferやmintといったコントラクトの実行（Openstore以外）において、各機能ごとで必要となる引数の検証の機能である。具体的には、NFTの所有権の確認や支払い金額に対する所持金の確認などである。

これは署名を必要としない（ブロックチェーンに書き込まない）作業のため、バックエンドで完結するため、今回懸念されたフロントエンドからの攻撃は受けないと考えられる。

そして、この検証された値を元に実際のコントラクトを実行する。実際のコントラクトは署名を必要とするため、フロントエンドからの攻撃に晒される可能性はあるが、Proxyによる検証用の値を保有しているため、数値の改ざんがあった際には検証可能になる。

この機能を実現するために、Proxyはユーザーのウォレット内の資産にアクセスし、ブロックチェーンに書き込まない検証作業の権限を必要とする。その機能を付与するために、初回限定のコントラクトへの”初期登録”が実行されている。

### 4. Openstore Polygon版の動作確認の参考メモ
何点かPolygon版が正常に機能していないと思われるケースを確認したのでメモ。

1. Metadataは本来ブロックチェーンに書き込まれているのに対して、Polygon版についてはEditableとなっていて、オーナーにより編集可能になっている。
![](https://i.imgur.com/9ea4oL9.png)

2. コントラクトに署名してトークンが行われるべきなのに、そうならない。
![](https://i.imgur.com/OrbkoZp.png)


