filecoin-project / notary-governance

115 stars 58 forks source link

Notary Application: IPFSMain - Neo Ge #168

Closed neogeweb3 closed 3 years ago

neogeweb3 commented 3 years ago

Notary Application

Core Information

Long Term Network Alignment

Time Commitment

Describe the nature and duration of your affiliation with the Filecoin project. Please include relevant Github handles, miner ids, significant projects or contributions (with links).

As an individual, I have worked as a crypto miner for over 8 years. 
I’ve been a part of the Filecoin community since 2017 and founded IPFSMain in 2018. 
I am also one of the Slingshot community reviewers who are helping evaluate applicant projects. 
I recently have been nominated to serve in the Filecoin Foundation Mining Working Group. 

As an organization, IPFSMain is a leading service provider committed to comprehensive Filecoin mining solutions in a cost-effective way. 
We have built quite an extensive relationship with the Filecoin community since its initial launch back in 2017, 
and as a result, have sustained countless contributions to the overall network. 
Just to name a few, we've helped out with both phase 1 & 2 of the trusted ceremony setup, ranked #1 in the Space Race, 
and presented in multiple Filecoin talks and panels (i.e., Miner Show & Tell, Mining Hardware & Architecture, etc.). 
We’ve also held and participated in over 100 events around the world. 
These events include blockchain summits, conferences, online and offline meetups, hackathons, and online streaming events. 
With these events, we have influenced over 3 million people globally. 
Pictures and snapshots of some of these events can be found on our Chinese website: https://www.ipfsmain.cn/aboutus 

We have multiple miners running on the Filecoin network:

- f01235
- f09037
- f022361
- f022373
- f022374
- f023626
- f023627

Stake Exposure

Please cite total token at stake (currently available, locked as collateral, vesting over time) and any substantiating evidence.

The total FIL at stake is over 2MM, with the following miners f01235, f09037, f022361, f022373, f022374, f023626 & f023627 by the date of May 24, 2021. 

Industry Reputation

In-protocol Reputation

Please describe (in detail) your activity and tenure as a member of the Filecoin community. Please note (with links where possible) any contributions made to implementations of Filecoin, the spec, documentation, or to substantially help the Filecoin ecosystem grow.

As a member of the Filecoin community, we have
- joined the Lab Day's Panel on August 18th, 2018, at San Francisco: https://youtu.be/ztPi2e21Mw4  
- presented at the GDIS on October 1st, 2018, at Santa Clara: https://youtu.be/ZHMejeZJdXY  
- joined the IPFS Camp on June 27-30, 2019, in Barcelona: https://youtu.be/kc_dxO-V8YM 
- held the DSAS on July 13th, 2019, in Shenzhen and invited PL members to present: https://www.youtube.com/playlist?list=PL2Vjsl9pQ2TJAbx8JZLsfRQZj0yZPgPhf  
- sponsored the Tokyo and Osaka IPFS Meetups during Devcon V in Japan: https://gihyo.jp/news/report/2019/10/2302?page=2  
- contributed some translation work to help the ecosystem grow: https://blog.ipfs.io/46-ipfs-weekly-12/ 
More recently, we have
- contributed our resources to help complete both phase 1 & 2 of the trusted ceremony setup: https://filecoin.io/blog/roadmap-update-august-2020/ 
- sponsored the HackFS Hackathon: https://hackfs.com/
- joined the Miner Show & Tell panel during Space Race: https://youtu.be/M8rFiweyKyk
- ranked at the top of the SR1 leaderboard: https://spacerace.filecoin.io/
- helped set up the Bootstrap Node: https://github.com/filecoin-project/lotus/blob/master/build/bootstrap/bootstrappers.pi 
- joined multiple events like the Mining Hardware & Architecture talk and the Miner Spotlight panel during Filecoin Liftoff Week: https://filecoin.io/blog/mainnet-liftoff-day2/

Update: we have sponsored NFTHack (https://nfthack.ethglobal.co/) and Scaling Ethereum (https://scaling.ethglobal.co/) virtual Hackathons and summits. 

In-protocol Security

Please describe your contributions to the security of Filecoin and the duration over which you've made contributions. Please also include any links or references who might be able to substantiate your contributions (e.g. if you've filed several bugs, please cite who you've communicated with on the Filecoin side).

Our team and I have identified several bugs during the past two years and have informed the Filecoin team accordingly. 
Please check with @why, who will be able to substantiate our contributions. 

External Reputation

Please describe the nature of your organization, including the country of registration, size of the organization, and time since inception.

IPFSMain is a private company founded on April 28, 2018, in Shenzhen, China. 
The company is for-profit, and its country of registration is China. 
At the moment, we have over 50 employees working at the Shenzhen headquarters since its inception 3 years ago. 

Please share any relevant details to help substantiate information about your organization (website, named officers, links to social media profiles).

IPFSMain Website: https://www.IPFSMain.cn 
IPFSMain Twitter: https://twitter.com/IPFSMain 
IPFSMain LinkedIn: https://www.linkedin.com/company/IPFSMain 
IPFSMain Facebook Page: https://www.facebook.com/IPFSMain 
IPFSMain Instagram: https://www.instagram.com/IPFSMain 

Please share any relevant external information regarding your organization (e.g. news articles, social media profiles, etc.)

https://decrypt.co/41702/space-race-filecoin-hackathon-video 
https://forkast.news/filecoin-space-race-miners-challenged-with-network-upgrades/ 
https://www.chaintalk.tv/tv/10-questions-about-filecoin-with-ipfs-main/ 
https://hackernoon.com/we-plan-to-establish-the-first-ipfs-node-on-mars-says-filecoin-miner-neo-ge-ke2c3whe 
(Some other relevant external news links in Chinese: 
https://cointelegraphcn.com/news/beep-with-ipfsmain-ceo-li-yandong 
https://www.chaindd.com/3326120.html 
http://www.pcpop.com/article/6317692.shtml 
http://www.shilian.com/baike/185381.html 
https://www.zilian8.com/33547.html) 

Diversity and Decentralization

Use Case Diversity

(Optional) Any additional information you'd like to share about the use case(s) you plan to support?

I plan to support multiple use cases; the percentage will be determined by my knowledge and usage expectation, 
which may vary depending on the variable circumstances of each scenario and different regions. 
- 35% - user content (personal user storage)
- 25% - scientific datasets (AI training, geological data, autonomous driving) 
- 40% - media & entertainment (video & music)

Update: from what I learned in the past 6 months of DataCap allocation, I'd like to change the use case distribution based on the actual demand:

- 45% - user content (personal user storage)
- 35% - scientific datasets (AI training, geological data, autonomous driving) 
- 20% - media & entertainment (video & music)

Allocation Plan

Concreteness of Allocation Plan

Allocation Strategy

How do you plan on allocating the DataCap requested above? Please describe your allocation strategy with as much specificity as you can.

Allocating the DataCap is all about distinguishing rational clients from malicious clients, and as such, my allocation strategy seeks to emphasize the key question "how much does the Notary trust the client?" rather than "does the Notary trust the client?". I have set up thresholds with varying degrees of trust. The way we traditionally audit Notaries can also be used to audit clients as well. Below, I've created 7 varying degrees of trust. The Rubric will be the primary guideline I use when evaluating a client and determining their DataCap allocation. These scoring guidelines can serve as a tool of assessment and further add a level of consistency across the board.

Update#1: I have created my allocation flow and workbook.

Update#2: @andrewxhill adjusted and improved my rubric calculation here which I think it's a better version that I would use for the new DataCap.

Are there any internal processes you plan on implementing regarding the target, amount, or rate at which you'll allocate DataCap?

There aren’t many internal processes, as most of these processes are external and open to the public for transparency purposes. The only few internal processes like confidential information collection or the execution of Due Diligence will be conducted privately. However, the Due Diligence procedure will only be triggered when I am unable to verify the client’s legitimacy with the given information. Some third-party tools may also be used to collect the information of prospective clients over Github repo in order to help score and determine their DataCap allocations.

How do you plan on securing the DataCap to ensure your organization (and its delegated members) are the ones allocating the DataCap?

A hardware wallet will be used to store the keys associated with the DataCap allocation address securely.

Client Due Diligence

How will you vet your Client to ensure they are spending that DataCap responsibly?

In general, the higher the DataCap thresholds are, the more restricted the client scrutiny would be. 
For individual clients, online identity will be verified by both account age and account activity perspectives, 
and this will serve to prove that they are valid users and not bots or sybils. 
Third-party tools like twitteraudit may also be used to verify online identities. 

For organizational clients, application organizations should be easy to verify through the appearance of their application. 
The developing applications may require further stringent investigation; 
this is to ensure that the application is valid and enclosed with meaningful content, rather than the shell of a malicious client. 
Large public datasets hosted by organizational clients are easy to verify because the data should be unencrypted and accessible to anyone. 
However, in the event that the organizational client has large private encrypted datasets(i.e., law firms), the Due Diligence procedure will be executed.

Below is the proposed procedure of Due Diligence. We need 3 types of information for review by myself or our compliance team depending on the volume of clients required Due Diligence:
1. Entity Information
 - Formation documents - this includes certificates of registration/incorporation/information; 
 - government-issued identification number for the entity
2. Authorized Signatory Information
 - evidence of the authorized signatory’s authority to act on behalf of the application entity (evidence include written consent of the company board of directors, or a secretary’s certificate, a signed letter from the applicant’s CFO, or may be included in the company operation agreement); 
 - close-up photo of the signatory’s face next to the visible passport or other government-issued photo-bearing ID
3. Beneficial Owners - If there are any 25%+ shareholders, we need a document as a capitalization table, operating agreement, or similar to verify the ownership, and also the following information for each of them: 
 - legal name;
 - date of birth; 
 - street address (P.O. box number is not acceptable); 
 - a government-issued identification number, which shall be either an SSN, ITIN, passport number and country of issuance, alien identification card number, or number and country of issuance of any other government-issued document evidencing nationality or residence; 
 - copy of an unexpired passport or other government-issued document evidencing the individual's nationality or residence which bears a photograph of the individual. 

What questions will you ask to ensure the Client can properly handle the DataCap you intend to allocate to them?

Update: There are two questionnaires to help me get to know our clients. The first one is about the basic information collection of new clients. 
The second one is more like follow-up questions about previous allocations for returning clients. 

Questionnaire #1
Please describe answers as much specificity as you can.

1. Can you introduce yourself? Where can I find you online? (Github, Twitter, Linkedin handle, Wechat, etc.)
2. If you represent an organization, what is the name, nature, registration country, time since inception, and named officers of your organization?
3. In which region(s) do you intend to use the DataCap?
4. What is your use case for the DataCap being requested?
5. Do you plan to specify advanced features when utilizing a DataCap in your storage deal? If so, please specify the feature.
6. How many miners do you plan on allocating the DataCap? If you have a specific miner(s) you would like to allocate a DataCap, please specify.
7. Do you agree on providing transparency of DataCap allocation decisions & execution details in public to prevent excessive/unfair self-dealing?

Questionnaire #2
Since you have requested DataCap from me before, I have some questions regarding your previous DataCap allocation.

1. How much cumulative DataCap was allocated to you from me?
2. In which region(s) did you use the DataCap?
3. What was your use case for the previous allocation?
4. Did you specify any advanced features for the previous allocation?
5. How many miners did you allocate the DataCap to? Please specify transaction links to the storage deals.
6. In your previous allocation, did you violent any community principles like excessive/unfair self-dealing?
7. Is there anything I could improve to serve you better in future allocations?

What processes will you employ to confirm that a Client is not improperly over-allocating DataCap to a single entity?

Prospective clients are encouraged to allocate the DataCap to more than 5 different miners, 
which not only increases storage redundancy but also helps maintain decentralization and reduce the possibility of potential misuse. 
The more miners clients allocate, the more DataCap clients are likely to get. 

Update: I am currently verifying storage deals based on Question #5 in Questionnaire #2

Bookkeeping Plan

Do you plan on keeping records of your allocation decisions? If so, with what level of specificity do you intend to respond to any audit requests?

Yes, all allocation decisions will be guided by the rubric publicly on Github. So are all communications. 
Since all interactions are intended to occur publically, most of the allocation decisions should be self-explanatory. 
Any challenges raised regarding allocation decisions should be discussed publicly in the Github repo first. 
If convincing justifications can’t be given by the Notary, a dispute resolution application can be filed to the Notary Governance after 14 calendar days since its original challenge date. 
Once the dispute resolution application is filed, the Notary Governance can assign an arbitrator among the Root Key Holders in order to resolve the dispute. 
A hearing may be given within 30 calendar days of the dispute resolution application depending on the arbitrator's decisions. 

Do you plan on conduct your allocation decisions in public (e.g. Github repo), private (e.g. over email, Telegram, etc), or both?

All allocation decisions will be conducted in the Github repository. 

Track Record

Past allocation

Have you previously received DataCap to allocate before? If so, please link to any previous applications.

Yes, https://github.com/filecoin-project/notary-governance/issues/11

Cumulatively, how much DataCap have you previously successfully allocated?

50.72TiB

Have there been (or are there still) any disputes raised against you from your previous DataCap allocations?

None
dkkapur commented 3 years ago

Previous applications:

dkkapur commented 3 years ago

Allocation track record from last round:

Client applications and usage of datacap: image

DataCap received by miner IDs: Notary Name Miner ID DataCap received in GiB % of Notary's DataCap Grant
IPFSMain f0127896 2.000000656 0.00%
IPFSMain f019551 192.000063 0.37%
IPFSMain f0678914 1408.000462 2.71%
IPFSMain f09848 224.0000735 0.43%
IPFSMain f014768 128.000042 0.25%
IPFSMain f022142 160.0000525 0.31%
IPFSMain f01247 0.500000164 0.00%
IPFSMain f0157535 64.00002099 0.12%
IPFSMain f08403 224.0000735 0.43%
IPFSMain f0145874 96.00003149 0.18%
IPFSMain f022352 3986.001307 7.68%
IPFSMain f010479 1408.000462 2.71%
IPFSMain f015927 128.000042 0.25%
IPFSMain f01234 64.00002099 0.12%
IPFSMain f019362 96.00003149 0.18%
IPFSMain f010446 3032.000994 5.84%
IPFSMain f022163 224.0000735 0.43%
IPFSMain f08399 128.000042 0.25%
IPFSMain f058369 224.1250735 0.43%
IPFSMain f0215497 2.000000656 0.00%
IPFSMain f02576 4262.001398 8.21%
IPFSMain f066596 448.0001469 0.86%
IPFSMain f01278 128.000042 0.25%
IPFSMain f023467 3026.125993 5.83%
IPFSMain f01240 6096.001999 11.74%
IPFSMain f019041 64.00002099 0.12%
IPFSMain f099608 192.000063 0.37%
IPFSMain f0165400 96.00003149 0.18%
IPFSMain f023971 64.00002099 0.12%
IPFSMain f02606 0.125000041 0.00%
IPFSMain f071624 160.0000525 0.31%
dkkapur commented 3 years ago

Hi @neogeweb3 - thanks for submitting your application to be a Notary! The initially scored rubric can be found here: https://docs.google.com/spreadsheets/d/13U8vpIN_hN6fzCRY6MxvE6nsfdBVQcYtKQIFWiUXXjQ/edit?usp=sharing

Please take a look at the notes (column I) and share any relevant additional details here in comments so we can update your score ideally within the next 2 days. Specifically - we need to see the audit trail for the allocations that are not accounted for in the GitHub based client applications. This information is being pulled from here https://filplus.d.interplanetary.one/notaries, which is a recently published dashboard. If there are issues with the data being reported here, please do share as well so we can correct this immediately. Thank you!

Your initial unrounded score is: 2.4.

neogeweb3 commented 3 years ago

Hi @dkkapur, thanks for putting this together.

Regarding your concern about my allocation to address f1g7ynmax7azy6kbeudidtcxzaljshauupl25itcq, since I don't take private allocation requests, all applications should be tracked in Github. So I took a close look. Here is what I found.

  1. I searched the address in my email, but found nothing, which is odd (I will explain why later);
  2. I checked my public workbook, and in Column T, I found the only one possible client "北京托比咨询有限责任公司". But when I clicked on the request (Issue# 224) URL, it shows 404. That explained why you couldn't find it in Github.
  3. I searched the "北京托比咨询有限责任公司" in my email, and I found the request was manually assigned by you to me on Mar 10, 2021, around 3:07 PM PST. That explains why I couldn't find the address in my email, because the request wasn't originally assigned to me.
  4. I couldn't find anything about the applicant "@jacky-zhangxueyou" in Github.

My investigation shows the Github user account @jacky-zhangxueyou has been deleted after the allocation. So the issue#224 owned by @jacky-zhangxueyou was deleted as well. This is why you can't find it accounted for in the Github-based client application.

Please let me know if you find it differently. Thanks.

neogeweb3 commented 3 years ago

I have also updated our tokens at stake and commented on 'Time Commitment' in the scored rubric. Let me know what's your thoughts. Thanks.

dkkapur commented 3 years ago

@neogeweb3 - thanks for diving into the missing issue. I looked through this as well and could not find anything useful, so I agree with your hypothesis. It is quite likely that I re-assigned based on another notary running out of DataCap. Thank you for confirming!

The final scores for this election cycle are:

Here is the link to the updated rubric: https://docs.google.com/spreadsheets/d/13U8vpIN_hN6fzCRY6MxvE6nsfdBVQcYtKQIFWiUXXjQ/edit?usp=sharing

dkkapur commented 3 years ago

@neogeweb3 - based on this Notary election cycle's final scoring, you/your organization has qualified to be a Fil+ Notary! Per your application and the scored rubric, you will be receiving an allocation of 975 TiB (eligible for up to 1024 TiB, currently has an active allocation of ~49 TiB). In order to confirm your participation as a Notary in the Fil+ ecosystem, please respond to the following:

  1. Please confirm that the region of operation for client applications you will focus on is [Greater China Region]

  2. Please confirm each of the following items below (you can do this by quoting each of the following bullets and adding a line under each section agreeing that you'll abide by these operational principles.

  • Upfront Disclosures: Prior to being confirmed as a Notary, Notaries are expected to disclose all relevant addresses which they control, have a financial stake in, or are strongly connected to by other means. For the disclosure, the Notary should state the relevant addresses and the nature of the relationship

  • Promoting Client Best Practices: Notaries agree to educate approved clients about the best practices for using their DataCap (e.g. how to request additional services from miners, storing data redundantly across many miners, etc). Some reference information can be found here.

  • Commitment to efficiently serving the Network: Notaries agree to serve as fiduciaries of the Network, striving to work towards bringing useful data onto Filecoin and improving the experience for clients to do so. Notaries should generally be able to respond to Client applications and updates within 3 days, and should be comfortable communicating with Clients and Notaries if an application needs to be redirected.

  • No Self Dealing: To prevent conflicts of interest, Notaries should not allocate DataCap to Clients over which they control the private keys, or to a Client who intends to specifically spend the allocated DataCap with an address affiliated with the Notary. When in doubt, Notaries should bias towards transparency (i.e. public disclosure) or to getting a different Notary to handle the individual request.

  • Operating in Good Faith: Notaries hold a position of trust in the network, and as such it is expected that they operate keeping the Principles of this mechanism in mind. While each form of abuse cannot be exhaustively defined, Notaries are expected to bias towards caution and act in a way that promotes transparency. Notaries should expect to potentially receive requests or questions for allocation decisions (within reason) - and should make decisions with this in mind.

  • Community Governance Participation: It is expected that Notaries make an effort to regularly attend the scheduled Governance calls. As these calls are a forum to shape this process, it is important to ensure Notaries are present to provide their context, learnings, and input.

  1. Please list any addresses you are affiliated with, and state the nature of the relationship. Please refer to the first bullet point in (2) for the definition of "affiliated", and bias towards transparency when in doubt.

  2. Please affirm that you will abide by the allocation / client due diligence plan you laid out above.

  3. (If ready) Please confirm the address that should receive DataCap. This is the address which you will use to sign messages on-chain to verify clients (through using a Ledger and the Fil+ Registry App). If you have an active (non-zero) DataCap grant from a previous election cycle, please provide a different address here.

neogeweb3 commented 3 years ago
  1. Please confirm that the region of operation for client applications you will focus on is [Greater China Region]

ACK

  1. Please confirm each of the following items below (you can do this by quoting each of the following bullets and adding a line under each section agreeing that you'll abide by these operational principles.
    • Upfront Disclosures: Prior to being confirmed as a Notary, Notaries are expected to disclose all relevant addresses which they control, have a financial stake in, or are strongly connected to by other means. For the disclosure, the Notary should state the relevant addresses and the nature of the relationship

ACK

  • Promoting Client Best Practices: Notaries agree to educate approved clients about the best practices for using their DataCap (e.g. how to request additional services from miners, storing data redundantly across many miners, etc). Some reference information can be found here.

ACK

  • Commitment to efficiently serving the Network: Notaries agree to serve as fiduciaries of the Network, striving to work towards bringing useful data onto Filecoin and improving the experience for clients to do so. Notaries should generally be able to respond to Client applications and updates within 3 days, and should be comfortable communicating with Clients and Notaries if an application needs to be redirected.

ACK

  • No Self Dealing: To prevent conflicts of interest, Notaries should not allocate DataCap to Clients over which they control the private keys, or to a Client who intends to specifically spend the allocated DataCap with an address affiliated with the Notary. When in doubt, Notaries should bias towards transparency (i.e. public disclosure) or to getting a different Notary to handle the individual request.

ACK

  • Operating in Good Faith: Notaries hold a position of trust in the network, and as such it is expected that they operate keeping the Principles of this mechanism in mind. While each form of abuse cannot be exhaustively defined, Notaries are expected to bias towards caution and act in a way that promotes transparency. Notaries should expect to potentially receive requests or questions for allocation decisions (within reason) - and should make decisions with this in mind.

ACK

  • Community Governance Participation: It is expected that Notaries make an effort to regularly attend the scheduled Governance calls. As these calls are a forum to shape this process, it is important to ensure Notaries are present to provide their context, learnings, and input.

ACK

  1. Please list any addresses you are affiliated with, and state the nature of the relationship. Please refer to the first bullet point in (2) for the definition of "affiliated", and bias towards transparency when in doubt.

We change the owner/worker/controller addresses from time to time for security reasons, but the miner ID will stay the same. The MainPool miner list: f01235, f09037, f022361, f022373, f022374, f023626, f023627 All the miners are managed by IPFSMain and owned by investors. Other addresses that are not related to the above miner list will be listed below and updated from time to time: f13k5zr6ovc2gjmg3lvd43ladbydhovpylcvbflpa

  1. Please affirm that you will abide by the allocation / client due diligence plan you laid out above.

ACK

  1. (If ready) Please confirm the address that should receive DataCap. This is the address which you will use to sign messages on-chain to verify clients (through using a Ledger and the Fil+ Registry App). If you have an active (non-zero) DataCap grant from a previous election cycle, please provide a different address here.

Will update soon, as I have an active DataCap grant.

dkkapur commented 3 years ago

@neogeweb3 as per our communications on Slack - you can use the same address and refresh on it! Will attempt this now via the RKH.

dkkapur commented 3 years ago

Request Approved

Address

f13k5zr6ovc2gjmg3lvd43ladbydhovpylcvbflpa

Datacap Allocated

1PiB

filecoin-plus-bot commented 3 years ago

The request has been signed by a new Root Key Holder

Message sent to Filecoin Network

bafy2bzacebipjdzudllhx5xcjnqtos23irwkrkmeulmnk5jvbbqxn7tjapn3w

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacebipjdzudllhx5xcjnqtos23irwkrkmeulmnk5jvbbqxn7tjapn3w

filecoin-plus-bot commented 3 years ago

The request has been signed by a new Root Key Holder

Message sent to Filecoin Network

bafy2bzacecqhzbjghbrjzondczsf7zipqb5kuoohhwserkx6tbfz2dzy35imu

@dkkapur There was an error processing the message >bafy2bzacecqhzbjghbrjzondczsf7zipqb5kuoohhwserkx6tbfz2dzy35imu

You can check the status of the message here: https://filfox.info/en/message/bafy2bzacecqhzbjghbrjzondczsf7zipqb5kuoohhwserkx6tbfz2dzy35imu

dkkapur commented 3 years ago

Looks like this was actually granted correctly!