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

Node Network #1

Open
dbkeys opened this issue Apr 20, 2021 · 3 comments
Open

Node Network #1

dbkeys opened this issue Apr 20, 2021 · 3 comments

Comments

@dbkeys
Copy link

dbkeys commented Apr 20, 2021

To strengthen our network of nodes, we can have a page on our web site where people can pledge to run a node, and register their nodes's IP or DNS name. Then we can track of it, and if it has good uptime, say 80% available, every month send that person some MARKS in token appreciation

@melvincarvalho
Copy link
Contributor

melvincarvalho commented Apr 20, 2021

I like this idea as it seems to be a way to earn marks initial marks without needing an exchange. Sort of like mining but with some proof of uptime instead of proof of work

I guess questions would be around where to run it (the web page and the server component), how to prove uptime, where the marks would be stored, how they would be distributed, and what the funding model would be (I would guess it's oriented towards donations)

@dbkeys
Copy link
Author

dbkeys commented Apr 20, 2021

I think the infrastructure to run it we already have in place with the VPS's that support hard-coded fixed nodes, DNS seeders and the web site.
Proving uptime could be accomplished with a cron job that iterates throught all the registered nodes (stored in a SQL database most likely). Some type of rudimentary check, such as that port 9265 is open, and perhaps some other JSON-RPC query to establish that it is a bitmark node on that port.
Funding would be through donations, and the amount paid per node could be dependent on

  1. total amount funded
  2. number of nodes
  3. chosen time period (perhaps a year ) that amount funded should cover.

So if for example, 12,000 MARKS were on hand one month, and there were 52 nodes registered, there would be 1000 MARKS for the month to divide among 52 nodes = 19.23076923 MARKS per node, that month.
If the next month only 200 MARKS donation had come in, and there were 65 nodes, then 11,200 MARKS would be on hand, and the next 12 months would each be allocated 11,200 / 12 = 933.33333333 MARKS, to be divvied that month among 65 nodes 933.33333333/65 = 14.35897435 MARKS per node.
If donations totaling 5000 MARKS came in, and there were 72 nodes, the payment per node in the next iteration would be:
11200 - 933.33333333 + 5000 = 15266.66666667 total amount funded (for next 12 months)
15266.66666667 / 12 = 1272.22222222 to divide among nodes this month
1272.22222222 / 72 = 17.66975308 MARKS per node

@melvincarvalho
Copy link
Contributor

Sounds like a great idea to me

Checking the port could be done with, for example telnet. RPC would be I think harder because you need a password for it, perhaps? That would need to be checked. Seems to me no doubt that RPC is much more useful because it's like another explorer.

Funding via donations, that makes sense. So we'd need a way to keep track of that (a simple ledger I guess). There would need to be a wallet then to hold the donations. And that would mean a private key to look after. The biggest challenge is normally with respect to withdrawals and security. But as it's small amounts, I expect doable

What I like about this is that even a fraction of a bitmark is actually enough to do lots of things. For example 1/1000th of a bitmark ie 1 mark, would be 100,000 M-Sats. That's enough for maybe 100-1000 transactions each of which could be, for example an open time stamp or git mark. So tiny amounts of this currency can be useful, and you start to encourage a circular economy

Dividing the pool by what's remaining makes sense, the frequency of payments could be a parameter maybe. Waiting one month for a small payment might be a while for impatient people

Re SQL it makes sense, tho I love to work with JSON personally if it can be kept within space. The question of whether we make an open reputation table or keep it all private I guess is something to discuss. Perhaps both options are viable. But rewarding public good behaviour is in the spirit of marking.

Identities would probably need to be by IP, I wonder if some may run bitmarkd on a non standard port. Probably nothing to worry about at first.

I guess the final part would be to create a web page for the app

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

2 participants