Local Network Egress Traffic Improvements to the Kubernetes configuration for Compute-to-data

Name of Project: Which category best describes your project?
Build / improve core Ocean software

Which Fundamental Metric best describes your project?
Other - Adoption of Compute-to-Data (C2D). We have realized that some teams may not have dedicated developers as part of their team or may have little exposure to the inner working of C2D or Kubernetes and how to use it or customize it. This may lead to a lower adoption since C2D is complicated and is not meant for entry-level developers. By participating in this Ocean DAO we plan to reduce the friction that entry-level developers may have and as a result, encourage other teams to use C2D. The proposed code base will be open-source so that anybody can use it for their projects or use it as a reference.

Proposal in one sentence:
Local Network Egress Traffic Improvements to the Kubernetes configuration in order to increase adoption of Compute-to-data functionality for teams with either a small programming team or have entry-level/junior programmers. In addition, the development of complimentary documentation to the Ocean Protocol Developer documents in order to help other development teams build access policies and assist teams in building and deploying their own kubernetes mini-cube. This will be supported by clear coding samples that can be used as a template or use as a starting point.

Description of the project and what problem is it solving:
Please see this GitHub Repo for details. (https://github.com/m-Powered/Network-Security-Improvements-to-Compute-to-data)

What is the final product?:
An open-source models that any team can use to help implement C2D solutions. In addition, we will create documentation to help developer teams design their own access policies and teach people how to build and deploy on their own kubernetes implementation. We can publish the developer documentation on our website (mpowered.io) under development documents or any other web URL that the community may want.

Grant Deliverables: (Provide us with a list of deliverables for the funding provided)
Implement “allowNetworkAccess” and provide the open-source code in a public repository in GitHub. In addition, provide clear documentation on how build access control mechanisms to limit egress network traffic. We will provide developer documentation on how to build scalable and trusted kubernetes implementation. This code will also be open-source and available for anyone to use and be hosted on any web URL that the community decides on.

Funding Requested: (Amount of OCEAN your team is requesting - Round 7 Max @ 32,000)
25,000

If your proposal is voted to receive a OceanDAO Grant, how would the proposal contribute a value greater than the grant amount back to the Ocean Ecosystem (best expressed as “Expected ROI”)?

Expected ROI
Bang
Developers will have to implement our proposal to implement C2D improvements and supported documentation. It will save developers time and effort to implement. Presently, the Provider repo has forked 17 times and as a result, if they don’t implement our proposed solution in Milestone #1, a potential security flaw can be exposed. We estimate a 30% time savings for developers by implementing both of our milestones. 20% will go towards improved documentation (a project proposed by akshay in Round 2 - Maintain Ocean Protocol core component document has shown a 20% efficiency by improved documentation). The other 10% is for the implementation of “allowNetworkAccess” or Milestone #1.

4 weeks in a month
30% savings of a 40 hour work week = 12 hours/week
average hourly developer rate of $40
0.44 (Ocean Token Price)
41240 * 0.44 = 844.8 per developer
And since the “Provider” GitHub repo has been forked 17 times
The value is 844.8 *17 = 14,361.6 Ocean Tokens/month

Assuming that Milestone 1 & 2 add 5 new teams use C2D then the value generated is 5*14,361.6 = 71,808 Ocean Tokens/month

Buck
The 25,000 will be to complete milestone 1 & 2

Chance of Success
We think that there is a high chance of success because of our previous software development experience in not just the Ocean Protocol ecosystem but also in almost 40 years of combined developer experience within the team.
We feel like a 95% chance of success with 5% left to failure as a result of unforeseen circumstances.

Final Ratio
Bang/Buck
71,808/25,000=2.872
2.872*.95% (Success Rate)=2.728

Proposal Wallet Address: (must have minimum 500 OCEAN in wallet to be eligible. This wallet is where you will receive the grant amount if selected).
Wallet Address: 0xF49A4ba03f69eEf2366303e64Fc7b3a33d3f0043

Team Website (if applicable):
www.mpowered.io

Project lead Contact Email:
hello@mpowered.io

Twitter Handle (if applicable):
@mpowered

Country of Residence:
Canada

Have you previously received an OceanDAO Grant (Y/N)?
No

How does this project drive value to the “fundamental metric” (listed above) and the overall Ocean ecosystem? This is best expressed as Expected ROI, details here.

*Part 2 - Proposal Details (Recommended)
IF: Build / improve Ocean core software, then:
A public repository will be made to these Ocean components: allowNetworkAccess: boolean - if algo pod has network access during compute (not implemented yet in C2D) as per this GitHub issue (https://github.com/oceanprotocol/multi-repo-issue/issues/90#issuecomment-804264134/) to help other development teams implement tighter security protocols.

In addition, we will provide examples and clear code documentation in order to help other developer teams build access policies and interested teams in building and deploying their own kubernetes mini-cube. We will also help out any other teams who are building on Ocean who are looking for help.

I commit to working with Ocean core developers to merging the PR
Yes, I have contacted both Trent and Alex and they were very supportive of our adding some code to the core code base which can be used for reference or directly integrated into projects utilizing C2D.

Project Deliverables - Roadmap
Any prior work completed thus far?

We have recently pivoted from just a Transport Genie focus to one that is more focused on being data brokers and bridging the gap between businesses who want to participate in the data economy. As a result of this pivot, we have launched mPowered (mpowered.io) that will be strategically focused on Data-Centric AI. From our analysis and discussions with research AI scientists, advance business analytics, and other influencers in this field we need to not focus on just high volume of data. Having volumes of data is not enough. Quantity doesn’t equate to quality. Traditionally, in the AI space a lot of emphasis was in getting troves of data, while this was invaluable in the early stages of AI/ML development, but a high focus of just obtaining data been proven by researchers that GIGO (garbage in - garbage out) is limiting AI advancement and too much effort is spent on “cleaning” data prior to use.

What is the project roadmap? That is: what are key milestones, and the target date for each milestone.
Milestone #1
A public repository will be made to these Ocean components: allowNetworkAccess: boolean - if algo pod has network access during compute (not implemented yet in C2D) as per this GitHub issue (https://github.com/oceanprotocol/multi-repo-issue/issues/90#issuecomment-804264134/) to help other development teams implement tighter security protocols.
Expected Completion Date: July 19, 2021

Milestone #2
In addition, we will provide examples and clear code documentation in order to help other developer teams build access policies and interested teams in building and deploying their own kubernetes mini-cube. If other teams are interested, we can participate on an episode of “Sailor Lounge” dedicated to our proposal.
Expected Completion Date: Aug. 3, 2021

Please include the milestone: publish an article/tutorial explaining your project as part of the grant (eg medium, etc).
A public github repo will be available so other teams can fork the code or Ocean core developers can merge the code into the main repo.

Please include the team’s future plans and intentions.
Build, grow, create awareness and repeat

Any maintenance?
Yes, code changes and always requires maintenance

Foreseen or possible additions?
Depending on the responses that we get from the community, but we are open. As long as we can help other development teams understand or use C2D we will gladly help out.

Team members
For each team member, give their name, role and background such as the following.

We are the team behind Transport Genie, an award winning IoT company that has created bespoke sensors from scratch that monitors local environmental conditions as livestock are in transit. We have pivoted to mPowered because we have seen the vast potential of Ocean Protocol because of what they have been building.

Joel Sotomayor: Co-Founder of mPowered
A serial entrepreneur who has already exited 2 companies, owns multiple patents (in 10 countries), 2 trade-marks, and multiple innovation awards in Canada and Australia. When he isn’t writing code, he is often hanging out with his Uber smart GF or talking to Corrie. Like most developers, he likes predictable results, loves to study pattern-behaviours relationships, has lots of quirks and quarks, and enjoys music but has 2 left feet when he dances.

Corre Sloot: Co-Founder of mPowered
Senior Full-Stack developer and has been involved with Blockchain since 2009 (he was a Satoshi-Era miner). He has undergraduate degrees in Physics and Computer Science and Joel thinks he is one of the smartest guys that he has ever met. He also loves cURL

More importantly, along with Joel, they have a recently filed a patent-pending application to improve IoT security that is resistant to Quantum Computing and Time which will revolutionize the IoT security industry.

4 Likes

Wow. Awesome idea! A++

1 Like

Thanks, for the note we too are excited. This is our first DAO and we want to give something back to the community. Not sure if you know about how to implement C2D but we can help out. All of the code will be open source so its free to use and in Milestone #2 we will provide clear and easy documentation to implement your own Kubernetes Minikube.

Our proposal is designed to give something back to the Ocean community. We have learned so much from our Shipyard experience for the past 8 months and we wanted to share our knowledge and best practices. We figure this would help out teams who may not have senior developers on board or have little knowledge about Kubernetes.

Onwards and upwards…

2 Likes

This is a great proposal and I surely will support it in this DAO. Thank you for your contribution, I very much look forward to seeing it alive.

Thank you for your comments and support. The URL for the public GitHub repo can be found Here and if we get approval of all the code and relevant documentation will be provided available here for you or anyone else to use and add to your projects.

We are using the GNU General Public License v3.0 for licensing which means that the code that we publish can be used by anyone for the following use cases:

  • Commercial use
  • Modification
  • Distribution
  • Patent use
  • Private use

We hope we can encourage others to try out C2D and integrate it to their projects/ideas and help grow the Ocean Ecosystem.

1 Like

Absolutely great. Thanks a lot. Making C2D / CtD as available as possible by lowering entry barriers is super important.

mPowered is proud to announce that we have completed Milestone #1 of our Proposal.

GitHub Repo for Milestone 1

GitHub Repo - Code Base Link

2 Likes

mPowered is proud to announce that we have completed Milestone #2 of our proposal and finished our commitment for Round 7. We’ve even added an SSH bridge for improved security.

GitHub Repo for Milestone 2

We’ve also created a Video Link

4 Likes

mPowered does deliver. Wonderful!

Hi Joel and Corrie et al! Great stuff in the work so far. Could you please do a PR get this documentation into the main Ocean docs please? (github.com/oceanprotocol/docs).

Akshay can hold your hand if you would like. I guess you’ve reached out to him already, great:)

Trent

These tasks have been completed.

The pull request was done on August 23, 2021 and was merged on September 1, 2021:

Our documentation can also be found here:

If you encounter any problems, please reach out to us at hello@mpowered.io

1 Like