DimensionDev / Maskbook-Talks

Where talks of Maskbook happen.
7 stars 1 forks source link

Ethereum Token Reception Feature Brainstorming #47

Open neruthes opened 4 years ago

neruthes commented 4 years ago

Introduction

We will discuss how to receive ETH and ERC20 tokens.

neruthes commented 4 years ago

Background

When we were working on https://github.com/DimensionDev/Maskbook/issues/634, we evaluated the possibility of using Personas as wallets and the conclusion was negative.

As time changes, we may want to add the transfer-to-friend feature. However, since there is no deterministic mathematical relation between Persona public key and Wallet address, it will be difficult to design a robust method.

neruthes commented 4 years ago

Solution 1: Token Cache Allocation

Content

Alice transfers ETH tokens or ERC20 tokens to Bob according to the public key as a wallet address.

The Maskbook installation of Bob periodically checks the balance of Bob Persona-as-a-Wallet. When there is an reception, the Maskbook installation of Bob suggests Bob that he may allocate the tokens to a specific wallet. Alternatively, if Bob chooses to enable automatic allocation, the Maskbook installation of Bob will automatically transfer the received tokens to the default wallet, with a cooldown of 24 hours.

Drawbacks

neruthes commented 4 years ago

Solution 2: Get Back Persona-Based Wallets

Content

When there is a Persona, it is also displayed as a Wallet in Wallets list. These Persona-based wallets are normal wallets, with certain exceptions:

Drawbacks

neruthes commented 4 years ago

Solution 3: Wallet Address Indication in Posts

Content

Each Post should indicate a wallet address. Each Post uses a one-time address, therefore it will be difficult (impossible?) to find the relations among Personas of the same user since these Personas share the same default Wallet.

Drawbacks