---
# System prepended metadata

title: Concordium Govote

---

# Concordium Govote

## Group NFTのメタデータ
- グループ名
- メンバーNFTの二次流通の可否
- 管理者の有無
- メンバーの参加方法
- メンバーNFTの最大数(2から無制限)
- 投票の作成権限(誰でも or 管理者のみ)

## Member NFTのメタデータ
- メンバー名
- グループでの権限

## メンバーの参加方法
- 自由参加
- 管理者による招待
- メンバーによる招待

## メンバーの脱退方法
脱退は２つのパターンがある。
1. メンバーNFTをバーンすること
2. メンバーNFTを第三者へ移動すること

### 自主脱退の場合
- メンバーNFTをバーンする

### 強制脱退の場合
- 管理者による強制脱退
- 脱退投票による強制脱退

## メンバーNFTでできること
- 投票
- 提案の作成
- メンバーの招待

## 管理者がいないグループの場合
- 投票によるGroup NFTのデータの変更

### 管理者がいるグループの場合
- 管理者によるGroup NFTのデータの変更

## 投票
### 提案の種類
#### NormalProposal
通常の提案ができる。

提案作成時に入力する情報

- タイトル
- 提案内容
- 投票可能なメンバー種別
- 有効賛成率
- 集計時間
- 選択肢

#### UpdateGroupProposal
Group NFTのメタデータの変更ができる。

提案作成時に入力する情報

- タイトル
- 提案内容
- 投票可能なメンバー種別
- 集計時間(At least 1 week)
- 選択肢
- 提案が認められた場合に実行される内容


*有効賛成率
投票の結果が有効と認められるのに必要な賛成率。集計時に最も票を獲得した選択肢が有効賛成率を下回った場合、その投票は無効となる。

### 提案の作成者
#### 管理者がいる場合
管理者はUpdateGroupProposalとNormalProposalの両方ができる。
メンバーは通常提案のみできる。

#### 管理者がいない場合
誰でもUpdateGroupProposalとNormalProposalができる。

### UpdateGroupProposalを使った攻撃への対策
UpdateGroupProposalは悪用された場合、重大な被害が起きる。それを防ぐための方法を用意している。

#### Case 1
UpdateGroupProposalに有効賛成率がある場合、有効賛成率を0%や極端に低い値に設定すると簡単にGroupの情報を書き換えることができる。

##### 対策
UpdateGroupProposalの有効賛成率は51%に固定する。

#### Case 2
集計時間を極端に短い時間にした場合、一部のメンバーが結託して他のメンバーが提案に気づく前に投票を済ませてGroupの情報を書き換えることができる。

##### 対策
集計時間を最低１週間後に設定しなければならないようにする。

## 管理者権限の移動
- 管理者権限を持つMember NFTを別の管理者に移動
- Menber NFTに管理者が管理者権限を付与

### 管理者の権限を持つNFTがバーンされた場合
誰でも実行できる管理者権限を確認するメソッドを用意する。
メンバーの誰かがそのメソッドを実行し、管理者権限を持つMember NFTがなければGroup NFTを管理者がいないグループに設定する。
