Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Status Devs Meeting 4 Agenda #4

Closed
oskarth opened this issue Sep 14, 2018 · 12 comments
Closed

Status Devs Meeting 4 Agenda #4

oskarth opened this issue Sep 14, 2018 · 12 comments

Comments

@oskarth
Copy link
Contributor

oskarth commented Sep 14, 2018

Status Devs Meeting 4 Agenda

Meeting Date/Time: Monday 2018-09-17 at 12:00 UTC (14:00 CEST)
Meeting Duration 1.5 hours
YouTube Live Stream Link TBD
Livepeer Live Stream Link TBD

Notes (WIP): https://hackmd.io/oXOKXab8ST-m6-zgVUNE5A

Agenda

  1. Infra updates (infra, p2p, security, testing)
  2. Client updates (mobile, desktop)
  3. Research updates
  4. Product updates (chat, wallet, dapp)
  5. Specific ideas update

Please provide comments to add or correct agenda topics.

@oskarth
Copy link
Contributor Author

oskarth commented Sep 14, 2018

From @yenda

Swarm and PSS integration and Whisper future

context:

During EthBerlin I had the opportunity to talk with Louis, the main pss developer and Guillaume in charge of Whisper at the EF.
Guillaume would like us to try out his branch of go-ethereum where Whisper over libp2p can be tested out with a switch.
Louis was asking if we had any plans for pursuing the development of swarm light client and explained to me how we could start using pss on mobile withtout swarm sync.
As we plan on using Status Desktop internally instead of Slack, we might soon need file sharing capabilities. Desktop having more resources than mobile we will be able to dabble with Swarm and pss to see if it will be a good fit functionnality wise.

goals:

Check if we agree on experimenting with swarm and pss on desktop
Check if we have resources to contribute to swarm light client development (which is almost stalled at the moment)

@guylouis
Copy link

Whisper key & other status reserved derivation paths

context
We have to fix what will be the derivation paths for the whisper key, the database key, and which range of derivation paths we reserve for other status use in the future
See Michele proposal and discussion here in
https://discuss.status.im/t/whisper-and-database-keys-on-the-hardware-wallet/381

goals
check if we agree with Michele proposal in order to proceed

@mandrigin
Copy link
Contributor

mandrigin commented Sep 17, 2018

Mobile App

context

(ETHBerlin before that), talks to Guillaume

goals

Spend good 2 weeks focusing on LES and add a ULC option

Pausing mobile app releases

@adambabik
Copy link

adambabik commented Sep 17, 2018

P2P

Context

Rate Limiting

Due to running on a mobile device, we are limited with setting high PoW values. This makes our nodes vulnerable to DoS attacks and spam (in a sense of sending a lot of Whisper envelopes regardless of their content). Even if we were able to set PoW to some high number, it wouldn't mean that spam is completely blocked. Rate limiting allows us to drop peers that send more traffic than we expect or we are willing to handle.

Topic rate limiting will allow users to see which topics generate the most traffic. It can open a way to "unsubscribe" from public channels functionality by recalculating the bloom filter without a particular topic.

Rethinking Mail Servers and log-based communication

Recently, a log-based communication has been discussed. The 10000 foot view of the idea is that each identity is responsible to build its own append-only log and share it somehow with its peers. Scuttlebutt is currently the most advanced solution.

We started thinking about it as a replacement for mail servers. Following decentralization principle, we should be working towards removing third parties and make nodes self-sufficient. The current offline communication solution is a trusted model which is hard to decentralize properly and incentivize people to run it.

The alternative that has appeared on the horizon is to use the log-based communication and swarm. Each node can build its own history of messages and upload it periodically to swarm network. The middle-man in form of special MailServer nodes is removed and the nodes become self-sufficient. The incentivization problem is also removed as it will be built into swarm.

What's the role of Whisper? Currently, it looks like log-based communication trade-off is latency. Whisper can be still used to send messages to provide low latency for online communication. It can also be useful for discovery purposes.

Incentivization to run Status nodes

Another topic that we discussed a bit in the last two weeks was incentivization to run Status nodes. As describe above, we'd like to get rid of Mail Server nodes. However, we still need some nodes to pass Whisper messages around. Now, can Status Desktop play this role?

We started working on the documentation that will describe a process to run Status Nodes (as Whisper nodes) by the community members. It will still require some technical knowledge but currently there is zero information how to do that. It's a first step.

@divan
Copy link

divan commented Sep 17, 2018

Reproducible builds

The approach of achieving status-go reproducible builds with buildID rewriting in binary. Explained in
status-im/status-go#1185 (comment) and I would love to get some feedback/ideas on it.

Whisper simulation/visualization toolkit

There was a spike in interest for the Whisper simulation/visualization tool I've been working on for a while, and I started to work on it further: https://github.com/status-im/whispervis I want people to get familiar with it and briefly describe that state it's currently in, and what should be done, and head ideas and suggestions.

@vitvly
Copy link

vitvly commented Sep 17, 2018

Desktop

context
Many features have been requested by Nimbus team and others that are not in scope for Desktop 0.10.0 release yet. These are:

  • improve security
  • improve performance. This and previous item might be tackled by embedding Node.js/JSCore process into Qt
  • private chats
  • riot bridge
  • address port accessibility issue
  • bandwidth issues
  • threads, markdown, search, permalinks
  • platform issues: Windows not ready yet

goals
See how these can be addressed or circumvented.

@Graeme-Code
Copy link

Graeme-Code commented Sep 17, 2018

Adding to point 1.
Deterministic builds, next steps is to build a reproducible build of Status go, exit criteria is to have matching binaries on different environments.

Further, it's gonna be complex running a deterministic build of status react, to investigate further we need to document the entire build process to get a better idea of the problem. Calling out for Status React guru and help with documentation.

On p2p, if people are not aware, the work on incentivized mail servers deserves a mention: https://discuss.status.im/t/log-based-comms/398
https://discuss.status.im/t/rethinking-mail-servers/390

As well as the proposed solution to spam:
POW: https://discuss.status.im/t/solving-low-pow-value-problem/396
Rate Limiting: https://hackmd.io/CVrdAfo0Sh6da1gGqAfeSw#

On point 4. Voting Dapp, Just an announcement for all those interested we have a meeting on Friday to discuss scaling the service, highly recommend it.

@pedropombeiro
Copy link

pedropombeiro commented Sep 17, 2018

Chat team

PFS (and bonus group chat)

Andrea will be merging the status-go x3dh branch with the functionality locked behind a feature flag, enabled only on nightlies. Group chat will also be enabled.

Desktop dogfooding

The chat team will start developing on top of the Desktop platform this week, and as expected, that has already led to some itches being scratched (e.g. create a script to build release on Linux, improve logging output on Qt, etc.)

@mandrigin
Copy link
Contributor

eth_getLogs issue in new geth

It looks like in the new versions of geth, eth_getLogs is misbehaving, causing Infura to time out.

Probably: ethereum/go-ethereum#17611

@3esmit
Copy link
Member

3esmit commented Sep 17, 2018

ENS Usernames

Context
Users can register an username in a Dapp
Registered users in this Dapp can be found by typing their username in "add user"
Registered users can use their username to send messages on public chats.

Goals
Define how usernames can be resolved in public chat messages
Define how usernames can enable/disable their username in public chat messages

@oskarth
Copy link
Contributor Author

oskarth commented Sep 17, 2018

Added comments here, please update directly in HackMD as desirable https://hackmd.io/oXOKXab8ST-m6-zgVUNE5A?bothA

@oskarth
Copy link
Contributor Author

oskarth commented Sep 18, 2018

next #5

@oskarth oskarth closed this as completed Sep 18, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants