-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
19 changed files
with
145 additions
and
106 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,49 @@ | ||
# Decentralized-Guild | ||
|
||
Empower and Thrive Together | ||
|
||
## 概要 | ||
|
||
`Decentralized-Guild` は個人や企業が仕事の受発注を行うプラットフォームです。プラットフォームに参加する不特定多数の人々とバーチャルなチームを組んでプロジェクトに取り組むことができる新しい働き方を検証します。このプラットフォームは、特に高度なスキルや複数の人材が必要なプロジェクトに対応する際に活躍します。また、このプラットフォームは個人や組織の仕事の実績をブロックチェーン上に消えないデータベースとして記録し、日々活動している人々が正確に評価される事を目指します。 | ||
|
||
## 主な機能 | ||
|
||
### ギルド機能 | ||
|
||
ユーザーはプラットフォーム上で自由に「ギルド」と呼ばれるバーチャルなチームを作成できます。ギルドのオーナーはギルド名とメンバーを指定して発行申請を行い、他のユーザーは参加申請画面でギルドに参加できます。ギルドは個人で対応が難しいプロジェクトに対して効果的な解決策を提供し、仕事の依頼者も高度な仕事を依頼できるようになります。また、ギルドチームの中でバディプログラムを推進し、実績が少ないユーザーも経験の豊富なユーザーと共に活動し、実績を積める機能を提供します。 | ||
|
||
### ブロックチェーンへの記録 | ||
|
||
仕事の受発注記録はブロックチェーン上に記録されます。この仕組みにより、仕事の完了時に活動の実績が消えず、安全に記録されます。また、ブロックチェーン上で発行されるトークンも割り当てられます。トークンは、仕事の完了数や実績に応じて増減し、プラットフォーム上での信頼度の可視化が可能となります。トークンの保持量が増えるほど、ユーザーの実績が多いことを証明し、報酬の高い仕事を受注する機会が増えます。 | ||
|
||
### オープンソースプラットフォーム | ||
|
||
このサービスはオープンソースで提供されており、誰でも同じプラットフォームを別のサーバーでも起動できます。GitHub のレポジトリを Clone し、README に記載されたコマンドを実行するだけで、簡単にプラットフォームを立ち上げることができます。 | ||
|
||
### Blockchain ID を利用した認証 | ||
|
||
ユーザーアカウントの登録後、所有するブロックチェーンアカウントの秘密鍵を利用して暗号化したトランザクションをサーバーに登録します。サーバー側で正しく暗号化されているかを検証し、問題がなければアカウントにブロックチェーン ID が登録されます。これにより、この OSS が使われた各種プラットフォーム上で同一 ID で活動することが可能となります。 | ||
|
||
### 元老院機能 | ||
|
||
仕事の受発注時には一定の利率で税金としてプラットフォーム上で手数料が徴収されます。この税金はプラットフォーム上で管理されているブロックチェーンアカウント上に蓄積され、この税金の使い道はサービス上元老院と呼ぶ人々によって決定、執行されます。元老院になる事が可能なユーザーは一定以上実績を積んだユーザー、つまりトークンを一定以上保有するユーザーに限定されます。この機能によってプラットフォームを維持する為に報酬の発生が起きない善意のボランティアに取り組む人々へ報酬を発生させます。 | ||
|
||
## プラットフォーム上のトークンについて | ||
|
||
以下種別のトークンが存在します。 | ||
|
||
- xym ... Symbol。通貨として利用する。 | ||
- wrp ... Work Reputation Point。仕事の完了時にシステムより発行される信用トークン | ||
- gpt ... Guild Point。仕事の完了時にギルドに対してシステムより発行される信用トークン | ||
|
||
## 注意 | ||
|
||
- サービスの詳細な使い方やセキュリティについての情報は、公式 GitHub レポジトリやドキュメンテーションを参照してください。 | ||
- ブロックチェーンを消えないデータベースとして取り扱いますが、該当のチェーンが消失した場合にはデータも消失します。プラットフォームに参加する組織は自身でノードを経て、バリデータに参加することを推奨します。 | ||
|
||
## Future | ||
|
||
API 側 | ||
|
||
1. notification クリック時に開く URL の調整(直接飛ぶように) | ||
2. メール送信機能追加( メールサーバー不要のもので ) | ||
3. SecretLock 解除用 transaction QR 再取得用 API の追加 | ||
4. 退会時、対応中 Quest や募集中クエストがあったら退会できない処理 | ||
|
||
UI 側 | ||
|
||
1. Page コンポーネントの削除 | ||
2. キャンセル関連のボタンはいらないのでは。(クエストを受けますか?No みたいな。もしくは Yes を contain No を Outline | ||
3. Modal ウィンドウを基本すりガラスにしてしまう | ||
4. Quest の提案(提案内容作成画面が必要) | ||
5. クエスト申込時に requester に通知する | ||
6. Quest の詳細表示は /quest/details/[questId] | ||
7. requester がマイページで quest の申込者一覧を表示して対応者を決める | ||
8. 申込者へ受注通知を行い、かつ契約書をチェーンに格納する | ||
9. 契約完了、納品画面の作成 | ||
10. 契約完了をチェーンに格納する | ||
|
||
# Symbol を ID としての活用 | ||
|
||
- Session 回りの構築負荷軽減としてログイン自体には SNS ログインを利用する | ||
- ただし、クエストに対するアクセス権限や記録に Symbol Public Key を用い、Decentralized Guild を他事業者が起動した際に、ログイン ID が異なっても同一人物か判定可能な実装とする | ||
|
||
# 何を改善するか | ||
|
||
- 頑張る人が正しく評価される状態を目指す | ||
- 短時間で大きく収益を挙げるより長期間コンスタントに NW 上で活動する人々を評価する | ||
- また、ギルドプログラムの中で評価ポイントを導入しポイントを得る事を促す | ||
- 古参が有利になりすぎるため、バディプログラムとしてマルチシグで古参者と組み、一定期間 RPT を底上げ可能とする | ||
- 元老院システムの構築 | ||
|
||
## 各ポイントの取り扱い | ||
|
||
**RPT** アカウントに対して RPT TOKEN を報酬額に応じて案件達成時に付与する | ||
**GPT** ギルドアカウントに対して GPT TOKEN を報酬額に応じて案件達成時に付与する | ||
|
||
## 各種コントラクトフロー | ||
|
||
System account が署名をしなければ模倣アカウントとの区別がややこしい | ||
Secret Lock の送信先を2箇所にできない? | ||
|
||
```mermaid | ||
sequenceDiagram | ||
box when contract | ||
actor R AS Requester | ||
actor W AS Worker | ||
participant S as Distributed ledger | ||
participant D as Database | ||
end | ||
W-->>R: Quest Apply | ||
R-->>W: Approval | ||
D-->>R: Send Transaction Serialize data | ||
R-->>S: Sign | ||
alt [aggregate transaction] | ||
R->>W: Transfer Tx (Contract) | ||
R->>D: Transfer Tx (System Fee) | ||
R->>S: Secret Lock Tx(Reward) | ||
end | ||
R-->>D: Secret Key(Set) | ||
W-->>R: Task completed | ||
D-->>W: Secret Key(Get) | ||
D->>W: Transfer Tx Mosaic A | ||
S->>W: Secret Proof Tx(Reward) | ||
``` | ||
2. 退会時、対応中 Quest や募集中クエストがあったら退会できない処理 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# * | ||
User-agent: * | ||
Allow: / | ||
|
||
# Host | ||
Host: https://decentralized-guild.blockchain-authn.app/ |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters