Proposal : Investigation into using Masternodes for anonymous web

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
Hello guys, hope you will like this proposal. It is also referenced here : https://www.dashwhale.org/p/anon-by-masternodes

I reworked this proposal with suggestions given to me by the DASH community and core team. Included you will see an introduction on who I am, some thoughts so far on how to proceed, as well as a rough timeline of what to expect.

Who I am


To start off I'm a developer with 10 years of professional experience, and 16 years if you count university and self learning in high school. Some notable achievements to give people an idea of my abilities are that I rebuilt a RSA program at 16 (public/private keys based on prime numbers). By 21 I was working in the summer at a very prestigious computer research center on a project that was funded by NASA. A paper I contributed to was published which involved auto updating intelligent distributed nodes. After getting a masters in project management I worked in Asia for a while, first as a developer, then senior, then lead, then head of engineering, then CTO.

I have built many projects including a voice recognition system and a augmented reality engine (which could have powered a game like pokemon go (I built it 5 years ago, but because of a legal dispute the code had to be thrown away)).

I got into Bitcoin quite a while ago and now have contacts with a lot of the top bitcoin players. I don't use them at all, and have not yet tried to endorse DASH mainly because I want to make that push when I think we are ready, and I haven't felt that yet.

I joined the DASH community about 2 years ago because I saw it as the most innovative project out there. I see a lot of other projects as hot air, and when I dive into them I just find they just target overzealous investors and have very little to offer. DASH is different. It delivers over and over. As an analogy I see DASH as a developer who gets things done contrary to developers who like to talk a lot in meetings and do nothing.

I joined the core team roughly in August 2015 while working on the iOS app. After completion, the iOS app was rejected again and again by apple which left me very frustrated, demoralized, and made me take a break from working on DASH, as I didn't see how I could contribute. I was eventually removed from the core team as well.

For iOS I had worked a lot on the x11 hashes, so when I found out that the community was looking for someone to do the x11 hash I finally had something I knew I could do well to contribute.

And here I am now, contributing to evolution when needed, and iOS when needed. But I would like to do more, hence this proposal.

Idea


Because of our system of incentivized nodes we have a truly global network that can be put to multiple uses. Quite some time ago Evan talked about the many different uses we could make out of this network and discussed it being used as a sort of Tor like system. This resonated with me. The more I thought about it the more excited I was too. Notably because I saw in it a way to improve upon tor, give quick anonymity (think VPNs) but also a way to monetize the existing Masternode network.

Very recently a new paper was published from MIT called Riffle. It explores a novel way to fix the problems with Tor. While it might not work well for us (probably not) it got me interested in making a proposal to the community.

Proposal

My proposal has two sides. The first is that I would work to figure out how to add various types of anonymity usages to our system. These would include VPNs, anonymous browsing, hidden apps and IP blinding among possibly other use cases I haven't even thought of yet.

The end result of this would be a white paper explaining how such systems could work, as well as a plan to implement each feature. Inside you can expect mathematical and cryptological proofs ensuring the security and robustness of the system as well as the pros and cons of the various choices we will need to make when implementing these solutions.

The second side to my proposal is that I would figure out how to monetize such systems and have them work well for us. There are millions upon millions of VPN users, Dash could potentially be amazing for these users since we have nodes all around the world. And same thing for Tor.

Thoughts so far on how this could/might work :

From a user perspective the core client would have a button that would turn it into a VPN/autonomous gateway. When this happened it would choose a number N of masternodes deterministically based on the hash of the last block. It would then encrypt the outgoing message with N layers as is common with onion routing, laying out the route of the message and would encrypt the last layer in a PGP type style in order to ensure that the entry masternode does not know that it is an entry masternode, this would therefore make the entry anonymous to your system hiding your IP. Then after N hops the exit node will get your message, it will go request the content in clearnet. When it did it could either encrypt the data back or send it clearly (something to think about).

This is basic onion routing with some small extra stuff for us preventing government snooping in between you and the first node. What makes our system better is that the client will only select nodes that are verified to have 1000 DASH, hence it would be almost impossible to have N "malicious" nodes if N>8.

There are some problems here though, the masternodes know who have 1000 DASH, and your client doesn't most likely hence the entry node would know your IP. You would therefore have to have 1000 DASH in your wallet to hide your IP from the original Masternode and prevent it from knowing you are the originator of a message. The problem here is if someone controlled the entry and exit nodes there could be a statistical analysis attack to break the system since with the entry node would know your IP, and the exit node would know the request. The 2 nodes of course do not know each other, but someone doing the attack and owning both nodes could maybe figure out with a certain degree of probability what you where doing. A problem to be researched in depth.

Now that was the easy part, here comes the hard part. How to get people to pay for the service without compromising the system? This is where there is no other system I can base myself off. Ideally we would need to find a solution where people pay for bandwidth and not by month/ day etc. My thoughts were to create a secondary currency on the masternode network, that is not divisible, let's call it ash (or gas, not yet sure on the name) . Each packet would then add some ash to each packet.

The system of course needs to be trustless and the ash can not be allowed to be traced back to the dash address who bought it or else there could be another weakness in the system. I'll be honest that the problems here are monumental to overcome and would require a completely novel type of blockchain system. Hence why I need to do months of research on it.

If we don't go the bandwidth route things can become simpler yet still very complicated. Here we wouldn't need ash, but just a verification by each node that the originator has paid for the day/week/month. How would you verify this without knowing the originator DASH address? You would have to go off an anonymous transaction. I haven't dived further than this yet.

VPN is a lot easier than this because VPN wouldn't need a trustless system to operate. Hence you can just pay any N nodes for N hops. The nodes know what you are doing. A VPN system like this would work very well for china for example. The first HOP could be towards a node inside china, then the second hop would be again a peer outside of china. The great firewall people, knowing our system could be used for this could ban the IP addresses of all nodes outside of china as a response. Here we could come up with a system of having 2 network interfaces per masternode (with the second being IPV6 only). One that would cycle IP addresses (IP V6), one that wouldn't (main masternode IP). This would make systems like china GFW (great firewall) to have a really hard time blocking us, as I think their blacklist is manual. For them to block us they would need to integrate with our system. Further research would be needed to figure out ways to outsmart them if this became a problem.

These are the majority of my thoughts for now. I didn't want to post them before because I wanted to come up with very sturdy ideas before they were released to the public.

You can also expect the following :

- I will assume some Masternodes might want to opt-out. I will keep this in mind.
- I hope to find a way to remunerate nodes that opt-in (as they are paying for bandwidth). I will try to explain different payment models we could have for the network. I will also try to figure out how much money this could make each node depending on usage.
- I will try to explain all the possible use cases and drawbacks of each system as well as how they could potentially be exploited. (As an example VPNs could be used for torrenting which could cause legal issues for the end nodes if they are in certain countries). However if all our end nodes are in countries with no such legal restrictions, there would be no problem.
- Even though I won't published code I will go over the tor code base to try to find elements that could be directly reused to save us time.

After this whitepaper is completed, and also after the community has had time to review it and have their say, I will try to get a team together and build this.

Costs :

For costs I will be asking for 750 Dash (+5 for reimbursement of proposal). Even though the majority of this will go back to me I also plan to use some of this money to incentivize people into helping me, mainly people that work in tor and anonymity systems so that they can validate and review my work to make sure there are no flaws in my designs. If more money is needed to incentivize other people or if I've worked many months but not covered all anonymity issues I will make more proposals.

I'd like to add the following for an open discussion:

From comments I received recently I would like to add that the average computer science salary in the place where I live for my level is around 10000-15000$ a month. I'm not trying to boast, but I just want to be clear that I am not working on DASH for the money. When I factor in costs for my proposal I basically just add up what I spend on rent/food/insurance and ask for that amount. It really frustrates me when people think I'm trying to cheat the system

I must admit that this isn't great for me money wise. In the future voting masternode operators have to realize that the best computer scientists in the USA make ~ 120K-300K USD a year depending on their field. It's really hard to people who make far less than that to understand this. As such drawing them in monetarily is almost impossible with our current budgets.

There's something to be said here as to why my first proposal was maybe a little bland. If I do do this I lose at least 5K USD during this time compared to if I was working for a company doing freelance. That's why if this is downvoted I won't feel too bad because I can work on other stuff that's a lot less difficult for more money. I wanted to do this to improve upon DASH and because I wanted to contribute something meaningful to society, and that's my sole reason for making this proposal.

Timeline :

The project would start in early August to early September, depending on whether my latest submission to the iOS app store goes through. I will report back every 3-4 weeks of work with a deliverable and have a weekly meeting with kot (or another project manager in Dash that wishes to help me with this).

The order of deliverables will be the following:

System for onion routing (18 days work).

Systems for consideration for onion routing payment (20 days work).


VPN solutions (15 days work).

Systems for consideration for VPN payment (5 days work).

Note: I can't provide a perfect timeline since I might be needed on evolution or iOS. If I have to pause this for evolution or iOS I will do so, notify the community, and the PM who is leading me.

Thank you for your consideration, QuantumExplorer

Last thoughts :

There are at least 2 reasons to vote no on this proposal. Either you don't think I can/should do it or you don't like the idea in itself. I'm no longer interested in talking about my capabilities to do this project after this second proposal. I believe I can do it, and would not have made this proposal if I thought I couldn't.

However discussing whether this should be built is another idea in itself, and I would really like to debate that some more. I believe no matter what we should first figure out how to build it. Then depending on the findings discuss if it should be implemented.

So far though most people have told me they love the idea, and I hope you do as well.

Manually vote YES on this proposal:
dash-cli mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 yes

OR from the qt console:
mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 yes

Manually vote NO on this proposal:
dash-cli mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 no

OR from the qt console:
mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 no
 
Last edited:

fible1

Well-known Member
Dash Core Team
Masternode Owner/Operator
May 11, 2014
710
722
163
I loved everything about your proposal, however you lost me when you said you had no fixed time line. I could also see @kot 's ghost shaking his head. please add some fixed delivery dates and you got my vote.

Pablo.
 

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
I'll work on a plan for delivery dates and update this later today. Once again evolution/iOS will take precedence. I see this as taking roughly 1/3rd of my time over a six month period, with evolution and iOS taking the rest of the time (iOS if we are approved by apple).
 

mastermined

Active Member
May 26, 2014
511
388
133
great idea but it seems expensive just for a whitepaper that may or may not even work.
 

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@mastermined I understand your concern. I based the amount on other proposals that you can check. I would like to add that I would be asking for less than half of what I made per hour at my last job assuming this takes me 1 and a half month of work hours (some money will go to others as well).

I won't take it badly if the proposal is rejected either. I just thought of this and wondered if the community also thought it was a good idea. If someone is willing to do it for cheaper and believes they can I would easily delegate it to them and push the extra funds towards anything the community wants. My main goal is to advance DASH.

As for the whitepaper working, well that's the risk with research. I don't know in advance that I will find a great solution but I wouldn't have made this proposal if I wasn't confident in myself as it will reflect really poorly on me if I don't deliver.
 
  • Like
Reactions: mastermined

MangledBlue

Well-known Member
Jun 28, 2014
1,246
678
183
USA
- Even though I won't write code I will dive into tor code and various VPN protocols and check-out how various things work.

?? Things ?? Really ??

This line ALONE tells me that you ACTUALLY have ZERO clue about what you're talking about. I also think you have no clue how to read any code.

Pay me so I can go and try to learn some stuff but I'm not actually going to contribute a single character of code.

HELL!! Pay me - I'll sit around and try to figure out how things work also

- WOW!!!

Riffle was only disclosed to the masses over the past few days and is SO NEW that, unless you are part of that team and I'm 100% sure you are not - you have no clue how it actually works


Also - the creator of this Proposal CLEARLY SAID: I'd like to add that one of the reasons I'm making this proposal now and not later is because we have a lot of funds left for this month.


So what? There are funds left over??? So we should just give them to you?


I'd rather have my car wrapped in DASH vinyl as a Marketing ploy but the DASH Community down voted my pre-proposal because they think it would not draw interest within middle America. I guess they figure middle America is a bunch on ignorant folks that don't own computers or it might be to complicated for them to understand - so why bother with letting them know that DASH even exists

If this proposal passes it will be a sad day in DASH proposals.
YEAH - Lets gave a bunch of DASH to some guy that can't code and will most likely NEVER actually do anything at all

I foresee Strippers, Grey Goose and a lot of LOL's

VOTE NO!!!!
I smell a scam!!

[[Cross-posted]]
 
  • Like
Reactions: camosoul and bhkien

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@MangledBlue You do realize that I've actually already contributed to the dash project. You can check out the code I've written so far here : https://github.com/QuantumExplorer/

So far I wrote the iOS app last year, and at the time I did it with no money coming back to me, and this year just finished porting 9 of the x11 hash scripts to javascript. This is not easy work. For the x11 work I received less than half the proposal amount, the rest of the money going back into evolution. I feel bad that you think I'm just trying to cheat the system. If you can find someone more qualified than me that's willing to do this cheaper, I'll gladly ask everyone to vote me down. I'm already somewhat regretting making this proposal after seeing your comments as I really don't feel like I need to justify my commitment to the project.

Basically this is indeed going to be really hard and I will most likely spend the better half of 2 months of my life on it if it passes. I really want this as a feature to the network but I don't want grief. You seem to have made your mind up about me even though you didn't even look into me. It's fine :)
 

MangledBlue

Well-known Member
Jun 28, 2014
1,246
678
183
USA
Well then...........
If your going to actually do something than so be it but you need to learn how to write a proposal and not come off as somebody that is just gonna "try stuff" and take a look at "things" and then MAYBE something will come from it - or not.

You sound like a scammer and I will call it like I see it.

You need to remember - not everybody knows what is actually happening here all the time and you gave ZERO DASH history of involvement.

If people like you continue to write lame ass proposals, you can expect people like me, to continue to write things, as I did.

It's one thing to form a thought - BUT - It's YOUR responsibility to relay that thought responsibly to the masses, of not only this community but to any community.

I found your proposal to be juvenile and nearly uneducated as if you were grasping for straws.

- WOW Evan use to say - this - this - and this - There is DASH going to go to waste - give me - give me - give me. There's this unreleased new toy called Riffle...... and so on

Give me a break

I make no apologizes.
 
  • Like
Reactions: bhkien

Stealth923

Well-known Member
Foundation Member
Mar 9, 2014
352
404
233
Calm down Mangled - if you look on the Dash.org team page Quantum is listed there and is our iOS developer....this isnt a scam by any means.

He also states in his proposal that he is working on the Dash iOS and Evolution components which should indicate the contribution made to date!
"As a disclaimer I might be needed on other parts of Dash that would take precedence (evolution and iOS). I will try to be as transparent as I can about time spent on this project among other projects"

I think Quantum is qualified and I guess we need to start somewhere in this process but want to ensure there is no overlap with Evolution planned features that could cause work to double up or be redundant?

Also agree with Pablo on getting indicative timelines as this activity is not exactly cheap

Thanks for the proposal Quantum and look forward to further discussion on this proposal, and also your contribution to Dash to date :)
 
Last edited:

qwizzie

Well-known Member
Aug 6, 2014
1,667
807
183
Can we please leave the emotions out of the discussions of budget proposals and discuss it more rationally. At the same time can we also please use pre-discussion proposals
more often (not the fist time i mention this btw). I havent made up my mind about this one, so i will follow the comments for now ..
 
Last edited:

camosoul

Grizzled Member
Sep 19, 2014
2,261
1,130
1,183
I vaguely outlined a modular system by which MNs could offer Optional Proportional Services quite a while ago. Iris, DashSotrj, etc... One needs to assure that the actual currency function is not compromised, and we have Proof of Service in place to assure the core operations are not lost to MNs trying to run too much other crap. Get too greedy, not an MN anymore.
 

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
Thanks @Stealth923 for your comments. Much appreciated. And to answer your question, no there is no overlap between this and evolution. However it's possible evolution might be able to benefit from IP blinding as Andy (who is charge of evolution) pointed out to me yesterday.

For indicative timelines I can create those disregarding my likely future iOS and evolution work as if I was only on this project. But those timelines would get paused if I'm called into another more important project, would that suit you? (I need to get some sleep, I'll make them when I wake up).

@qwizzie Contrary to a lot of proposal owners I won't feel bad if this is turned down. I'm working a lot and I wanted to make sure the discussion didn't last too long, so I made the proposal active as I wanted to get this over as quickly. I hadn't noticed your previous messages about pre-discussion or else I would have still done a pre-discussion.

@camosoul yeah you are right, I'll definitively be thinking about the nodes staying viable for their main usage.
 
  • Like
Reactions: fible1

GrandMasterDash

Grizzled Member
Masternode Owner/Operator
Jul 12, 2015
2,869
1,081
1,183
Given this is the closest proposal we've had to getting back to dash's roots, I'd say this is worth a punt once the timeline thing is sorted.

I'd also like to reiterate my wish to see a third party plugin system on the server side; quorums being formed from participating nodes. This way, MNOs could choose to participate or not, based on their own time, resources and circumstances.
 
  • Like
Reactions: fible1

jsp3cs15

New Member
Masternode Owner/Operator
Jun 21, 2014
37
14
8
As everyone has stated ill be happy to vote for this as long we got some indictive timelines.
Maybe we assign a PM to work with quantum to maintain governance. Or a detailed WBS with some key milstones should suffice also.
 

halso

Active Member
Apr 27, 2016
439
235
113
Sydney, Australia
I plan to vote yes as well.

One request though: when thinking about new uses for MNs. Can you first consider uses that wud support the core currency project.

For example, an inbuilt secure messaging system that cud eventually be plugged into evo.

Or, other features that wud support Dash's core mission.
 

fible1

Well-known Member
Dash Core Team
Masternode Owner/Operator
May 11, 2014
710
722
163
I plan to vote yes as well.

One request though: when thinking about new uses for MNs. Can you first consider uses that wud support the core currency project.

For example, an inbuilt secure messaging system that cud eventually be plugged into evo.

Or, other features that wud support Dash's core mission.
I think you make a valid point, about sticking to Dashs' core competencies, but I think we have migrated from our secure/anonymous roots and into the mission of being user friendly digital cash. I would argue that core focusing on a secure messaging system would not be the best way to bring Dash mainstream as "Digital Cash"; this strikes me more as a third party app after evolution. Anyway, I'm looking forward to seeing what comes from the White Paper, tabula rasa; open mind.

Pablo.
 

noobtrader

Active Member
Mar 27, 2015
188
97
103
although im very interested into making masternode useful and being paid more, i think you should has some prototype (on testnet) to show us , at least a working code on your hand that can be easily ported and implemented into Dash.

EDIT : ill surely vote yes if this project has good chances of success.


Hello guys, hope you will like this proposal. It is also referenced here : https://www.dashwhale.org/p/anon-by-masternodes

I'm going to be reworking this proposal with Dash team members to highlight my abilities to complete it. Many have pointed out that outside the core team no one knows of me, since I'm not active on the forums. So if you are on the fence about this proposal, please wait a few days, for a slightly reworked proposal.

Idea


Because of our system of incentivized nodes we have a truly global network that can be put to multiple uses. Quite some time ago Evan talked about the many different uses we could make out of this network and discussed it being used as a sort of Tor like system. This resonated with me. The more I thought about it the more excited I was too. Notably because I saw in it a way to improve upon tor, give quick anonymity (think VPNs) but also a way to monetize the existing Masternode network.

Very recently a new paper was published from MIT called Riffle. It explores a novel way to fix the problems with Tor. While it might not work well for us (not yet sure) it got me interested in making a proposal to the community.

Proposal

My proposal has two sides. The first is that I would work to figure out how to add various types of anonymity usages to our system. These would include VPNs, anonymous browsing, hidden apps and IP blinding among possibly other use cases I haven't even thought of yet.

The end result of this would be a white paper explaining how such systems could work, as well as a plan to implement each feature. Inside you can expect mathematical and cryptological proofs ensuring the security and robustness of the system as well as the pros and cons of the various choices we will need to make when implementing these solutions.

The second side to my proposal is that I would figure out how to monetize such systems and have them work well for us. There are millions upon millions of VPN users, Dash could potentially be amazing for these users since we have nodes all around the world. And same thing for Tor.

You can also expect the following :

- I will assume some Masternodes might want to opt-out. I will keep this in mind.
- I hope to find a way to remunerate nodes that opt-in (as they are paying for bandwidth). I will try to explain different payment models we could have for the network. I will also try to figure out how much money this could make each node depending on usage.
- I will try to explain all the possible use cases and drawbacks of each system as well as how they could potentially be exploited. (As an example VPNs could be used for torrenting which could cause legal issues for the end nodes if they are in certain countries). However if all our end nodes are in countries with no such legal restrictions, there would be no problem.
- Even though I won't write code I will dive into tor code and various VPN protocols and check-out how various things work.

After this whitepaper is completed, and also after the community has had time to review it and have their say, I will try to get a team together and build this.

Costs :

For costs I will be asking for 750 Dash (+5 for reimbursement of proposal). Even though the majority of this will go back to me I also plan to use some of this money to incentivize people into helping me, mainly people that work in tor and anonymity systems so that they can validate and review my work to make sure there are no flaws in my designs. If more money is needed to incentivize other people or if I've worked many months but not covered all anonymity issues I will make more proposals. I am

As a disclaimer I might be needed on other parts of Dash that would take precedence (evolution and iOS). I will try to be as transparent as I can about time spent on this project among other projects.

EDIT: It has been suggested by Pablo that I would garner broader support if I had a fixed time line for this proposal. While I can't give a perfect timeline I will report back on the forums every 3 weeks with a report explaining how I spent my time, giving my current status as well as any insights I might have had. If however I am needed on evolution or iOS I will post that I am taking a break from this project to help where I am most needed :) As for a hard deadline, I can say that I'll be done in less than 6 months, but can't say more than that (As I'll repeat again that evolution and iOS take precedence).

I'd like to add that one of the reasons I'm making this proposal now and not later is because we have a lot of funds left for this month.

Thank you for your consideration, QuantumExplorer

Manually vote YES on this proposal:
dash-cli mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 yes

OR from the qt console:
mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 yes

Manually vote NO on this proposal:
dash-cli mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 no

OR from the qt console:
mnbudget vote-many 09c9b969eb95743b359108bf2e5cbb767da14d1eb2a52c38d94762eddb5d6790 no
 
Last edited:

camosoul

Grizzled Member
Sep 19, 2014
2,261
1,130
1,183
Strippers
I could vote yes on that part of it... :p

This is a bad proposal. @MangledBlue pretty much covered it in classic @camosoul fashion. It's like having common sense makes people become more like me. Golly, wonder why that it...

It goes to demonstrate that way too many MNOs are still a bunch of derps, and those willing and able to take advantage, will.
 

camosoul

Grizzled Member
Sep 19, 2014
2,261
1,130
1,183
For example, an inbuilt secure messaging system that cud eventually be plugged into evo.
There are other one-trick-pony coins that already do this, an d could be grafted. No research needed.

But dash is supposed to be currency, not a Swiss Army Knife of unrelated, focus-less pie-in-the-sky stuff...

I don't oppose the idea. I oppose the idea as presented. Any feature not directly related to being a currency shouldn't even be considered right now. I already outlined the concept. No need to "research" it. Already done.

Maybe would could fund a study on the flow rates of various brands of ketchup at different temperature on different planets? I bet that would be really expensive and we could totally pay for it! Who wants to pay me to count my nose hairs?
 

halso

Active Member
Apr 27, 2016
439
235
113
Sydney, Australia
@QuantumExplorer

We appreciate you haven't started the white paper yet, but surely you have some idea as to the features you are thinking off? Can at least give us a high level overview of what you are thinking at this stage?

Otherwise its too vague.
 

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@halso Yes I can, so basically what I was thinking so far was the following.

From a user perspective the core client would have a button that would turn it into a VPN/autonomous gateway. When this happened it would choose a number N of masternodes deterministically based on the hash of the last block. It would then encrypt the outgoing message with N layers as is common with onion routing, laying out the route of the message and would encrypt the last layer in a PGP type style in order to ensure that the entry masternode does not know that it is an entry masternode, this would therefore make the entry anonymous to your system hiding your IP. Then after N hops the exit node will get your message, it will go request the content in clearnet. When it did it could either encrypt the data back or send it clearly (something to think about).

This is basic onion routing with some small extra stuff for us preventing government snooping in between you and the first node. What makes our system better is that the client will only select nodes that are verified to have 1000 DASH, hence it would be almost impossible to have N "malicious" nodes if N>8.

But there are some problems, the masternodes know who have 1000 DASH, and your client doesn't most likely hence the entry node would know your IP. You would therefore have to have 1000 DASH in your wallet to hide your IP from the original Masternode and prevent it from knowing you are the originator of a message. The problem here is if someone controlled the entry and exit nodes there could be a statistical analysis attack to break the system since with the entry node would know your IP, and the exit node would know the request. The 2 nodes of course do not know each other, but someone doing the attack and owning both nodes could maybe figure out with a certain degree of probability what you where doing. A problem to be researched in depth.

Now that was the easy part, here comes the hard part. How to get people to pay for the service without compromising the system? This is where there is no other system I can base myself off. Ideally we would need to find a solution where people pay for bandwidth and not by month/ day etc. My thoughts were to create a secondary currency on the masternode network, that is not divisible, let's call it ash (or gas, not yet sure on the name) . Each packet would then add some ash to each packet.

The system of course needs to be trustless and the ash can not be allowed to be traced back to the dash address who bought it or else there could be another weakness in the system. I'll be honest that the problems here are monumental to overcome and would require a completely novel type of blockchain system. Hence why I need to do months of research on it.

If we don't go the bandwidth route things can become simpler yet still very complicated. Here we wouldn't need ash, but just a verification by each node that the originator has paid for the day/week/month. How would you verify this without knowing the originator DASH address? You would have to go off an anonymous transaction. I haven't dived further than this yet.

Anyways these are my thoughts for anonymous web. VPN is a lot easier than this because VPN trusts the nodes. Hence you can just pay any N nodes for N hops. The nodes know what you are doing. A VPN system like this would work very well for china for example. The first HOP could be towards a node inside china, then the second hop would be again a peer outside of china. The great firewall people, knowing our system could be used for this could ban the IP addresses of all nodes outside of china as a response. Here we could come up with a system of having 2 network interfaces per masternode (with the second being IPV6 only). One that would cycle IP addresses (IP V6), one that wouldn't (main masternode IP). This would make systems like china GFW (great firewall) to have a really hard time blocking us, as I think their blacklist is manual. For them to block us they would need to integrate with our system. Further research would be needed to figure out ways to outsmart them if this became a problem.

These are the majority of my thoughts for now. I didn't want to post them before because I wanted to come up with very sturdy ideas before they were released to the public.
 

fible1

Well-known Member
Dash Core Team
Masternode Owner/Operator
May 11, 2014
710
722
163
I am in complete disagreement of where you want to take your research, I don't like this second token idea, and I don't like us becoming building a TOR clone on top of the MN network, but I still voted yes. I voted yes because we need to build our culture around ongoing research and development to stay at the leading edge.

Hope the budget passes, and i wish you the best of luck,
Pablo.
 
  • Like
Reactions: bhkien

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@fible1 I really understand why you think the way you do. My goal here is basically to do as much research as possible and then have a community debate on whether we should implement some of the things I come up with.

I'm only leaning towards all of them being implemented. However doing this research could open up the door for other innovations that could benefit us even more.

Hidden apps on the network would be possible with onion routing, which could lead to darknet marketplaces. While this could be great for us it would also be a disaster. It's very debatable if we want this.

How we could be better though than tor is that we could maybe, through our governance system elect people represented by address that moderate such apps. Hence we would be decentralized yet allow moderation.

See there's a lot to think about.

I like the VPN idea the most as it would start earning the network a potentially serious amount of money and it would draw serious attention to our project from China.
 
Last edited:
  • Like
Reactions: fible1

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@fible Also the second token was just an idea. It would only live on the masternode network, and end users would not be able to interact with it. I just need a system to pay out masternode operators based on their bandwidth without overloading the DASH blockchain. These tokens would also not be mined and would no extra ones would ever be generated. They would never be able to leave the masternode network either. It was just an idea. I'm hoping to find a better one I must admit.
 
  • Like
Reactions: fible1

demo

Well-known Member
Apr 23, 2016
3,113
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
Proposal

My proposal has two sides. The first is that I would work to figure out how to add various types of anonymity usages to our system. These would include VPNs, anonymous browsing, hidden apps and IP blinding among possibly other use cases I haven't even thought of yet.

The end result of this would be a white paper explaining how such systems could work, as well as a plan to implement each feature. Inside you can expect mathematical and cryptological proofs ensuring the security and robustness of the system as well as the pros and cons of the various choices we will need to make when implementing these solutions.
So you have no proposition to offer, you will not write a single row of code, and you want to be paid for browsing the internet and copy paste it.
Is this a rational proposal?

The second side to my proposal is that I would figure out how to monetize such systems and have them work well for us. There are millions upon millions of VPN users, Dash could potentially be amazing for these users since we have nodes all around the world. And same thing for Tor.
So you want to transform the dash network into a TOR or VPN network that offers paid services. Will you write code for that? Or the VPN-TOR transformation of the dash network (and the monetization of these services) will be only in theory?


And my question-request on anonymity.
How can you turn the IP address of a masternode owner to a private one, so that all the rest masternode owners are not allowed to know that IP? Do you have something to propose on that?
 
Last edited:

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@demo Well in a project research comes before implementation. If someone just starts writing code without actually doing the research that code will most likely fail or have security vulnerabilities. In many of the other proposals research has been included in the coding part of the proposal, but this is a far bigger challenge, which is why I broke it up.

My goal is to propose cryptographically secure solutions, have them be vetted, and then form a team where I would then be writing code along with my teammates. However such a project will take a long time. It would be ludicrous to ask for such funds now.

I'm sorry to say but if you think that figuring out how to make this system work is possible just by browsing the web and copy/pasting you really have no clue about the complexities involved. I'm not trying to remake tor, I'm trying to make something better than tor that works faster, more securely and incentivizes nodes. If you think this can be done by copy pasting from the internet then you really should join the project and show me your copy pasting skillset.

I just rewrote my proposal, maybe you saw the previous version. If after that you really think I'm trying to steal money from the system, there's nothing more I can do.

If this proposal fails because of the research aspect (it could fail for other reasons that make more sense), it might underline that we have a problem with research proposals in general. So far Evan has done all the research for DASH, and because of his status as well as the fact that he holds a great deal of DASH he is heavily incentivized to continue doing so. However it would be wise for us to figure out how to incentivize other people to bring in innovation.
 
  • Like
Reactions: bhkien

demo

Well-known Member
Apr 23, 2016
3,113
263
153
Dash Address
XnpT2YQaYpyh7F9twM6EtDMn1TCDCEEgNX
My question-request on anonymity.
How can you turn the IP address of a masternode owner to a private one, so that all the rest masternode owners are not allowed to know that IP? Do you have something to propose on that?
 

halso

Active Member
Apr 27, 2016
439
235
113
Sydney, Australia
I have changed my votes to yes. More research in the field can only be a good thing. Even to build capability in the ecosystem.

However, i must admit im not convinced to much about the VPN angle.

Although i do like the idea of side chains. How would we respond to a big corporate if they came along and said 'i love your incentivised network, can i run my own chain on it?'

Perhaps we could look at the best sidechain ideas in the crypto world and make them better. Then include into Dash.
 
  • Like
Reactions: fible1

QuantumExplorer

Active Member
Core Developer
Aug 20, 2014
126
162
93
@halso I think you heard side-chain and thought of side-chains in the sense of ethereum, that's not what I'm proposing here. Side chains are for another day. This would be a specialized side-chain that serves only one purpose and that is to deal with remunerating nodes that provide a service. Having it on a "side chain" would allow us to ultra specialize it and reduce network usage/blockchain bloat of the main DASH chain since the main DASH chain isn't meant for something like this.