---
# System prepended metadata

title: Core team scope proposal for Core

---

# Core team scope proposal for Core

## Summary 

1. Hybrid NET - Making Golem network less centralized
- Make big part of the communication between Nodes peer-to-peer
  - Choice to the users: they can have p2p connections, if they open port or use more convinient relaying
  - Requestor can always have p2p connection with Nodes, if he has open ports (it doesn't depend on Providers' choices)
- Reduce workload of central instance (`ya-relay-server`)
  - Reduce cost of server upkeep
  - Better scaling network
- Faster file transfers GFTP
- Faster VPN communication


2. Open internet connection for users (inbound network traffic)
- Users can setup services exposing internet access
  - This opens new class of use cases to be ran on Golem


3. KYC (Nodes signed identity)
- We can control (for now), who can setup his service, to make sure no illegal content is hosted on not aware Providers
- Requestor identity in Agreement - it can be used not only for restricting internet, but more cautious Providers can limit
  cooperation to identified Requestors
  - The same standard could be used opposite way, so that Requestors can choose identified Providers


4. Developer UX improvments and reducing development cycle
Examples:
- Make VMs more docker like
- Better error messages from ExeUnit and VM
- File transfer progress
- Mechanisms for sending messages from/to VM


5. Network traffic encryption


6. NAT punching
Why:
- Improving Golem network performance
  - Users behind NAT can have p2p connections (at least for some types of NATs)
  - Greater % of the network can connect p2p
  - Improve VPN communication between Provider Nodes (most Providers probably won't open ports)


7. Sepolia
- Keep up with Ethereum changes (rinkeby deprecated)


8. Lacking functionalities in yagna
Examples:
- Reject Invoice/Debit Note
- List Agreeements
- Task status events
Why:
- Rejecting Agreements opens way for reputation


9. Yagna Extensions
Why:
- Enable users to contribute to Golem
  - Avoid taking time to review these contributions, since extensions are external
- Set a path for community how should they contribute



10. Support for yajsapi in browser



11. Goth tests
- Improve yagna stability
- Improve goth framework to easier debug and fix bugs



# Input from different sources

## From SDK:

7. IN PROGRESS Raise a feature request in Yagna (Core team)
    1. CORS - support CORS in yagna REST API, preferably specified per AppKey (https://github.com/golemfactory/yagna/issues/2000)
    2. GFTP control web socket-based endpoint (to enable TRANSFER command over gftp from browser) - waiting on entry to Core team’s backlog
    3. TODO Amendment to Requestor-side REST API to allow long-polling of Activity events happening on Provider side (eg. Activity state transitions?
   
   Probably it's not enought:
    - We need to handle problem of DebitNotes acceptance
    - Re-attaching 
  

## From Wojtek:
- Goth tests
  - Write more tests
- Finish extensions
- Can we do something related to yapapi work by Janek?
  - Task status Events
- How to support reputation?




## Dependencies for SDK team

Inbound network traffic
- Negotiation protocol
  - Include Node signature in Proposal
  - Negotiate inbound internet access
  - (Maybe) Check IP:Port during negotiation, if it is really open

Outbound network traffic
- Finish/Review yapapi example
- Finish/Review handbook chapter
- Add manifest signature support to yapapi (is anything more than example needed?)
- Choosing Providers that support outbound traffic

Hybrid NET
- (Probably not) Chose Providers based on having ability to connect p2p with them




