Jump to content

Answer: A Charity Project for all to Learn from and Participate in


Guest

Recommended Posts

I just messaged Bob and he messaged this back which I would like you to read before you read what I messaged him because I don't want people thinking that I'm being a shilly *********.

1.thumb.png.7cabdd404af6c39d9a92f39e460b63f1.png

 

Ok so with that out of the way, this is what I messaged.

 

Hi Bob,

I don't want to hijack the patent thread and I can't be arsed to bump my original thread in case people think I'm harassing to promote my website so I'll just message here in private.

I'm setting up a global democratic charity.  People suggest one way to make the world a better place from planting a tree to building a school, I put it on my website and people vote for the ideas and the idea with the most votes that can afford to be done at the end of the month gets done.  I want every transaction to go through the XRP ledger so my entire project is 100% transparent.  I didn't even think about FIAT going through the ledger before you mentioned it.

So I'm hoping to have donations coming in EUR, USD, GBP, XRP etc and then everything gets sent out to the winning project and then I'd want any purchases made by the winning project to be through the XRP ledger too.  So if the winning project is a school being built then they would buy labour, cement, bricks etc.  Of course I would be happy with regular receipts as proof but the XRP ledger is better totes obvs.

So my first question for you is what would be the best way for me to achieve this?

I have a bitstamp account, uphold, coinbase etc etc, then I have two nano s ledgers and I have a friend who created a cold wallet for me using ripple-lib + JS to create wallet+key offline from source code.  I can pretty much do anything with regards to crypto storage and movement but what's the best way?  Is it better to have paypal FIAT donations going into my bitstamp account?  Or FIAT into my bank account then sent straight to uphold then XRP sent to a cold wallet?

My second question is, assuming I store all donated funds in a cold storage XRP wallet after converting from FIAT, would I be able to set up an escrow multisig where my signature is worth 2 and two other signers are worth 1 and the wallet needs a total of 3 to release the funds at the end of each month?  So it's not entrusted entirely to me?

And my final question is, would I be able to automate this entire process with smart contracts eventually?  So the whitepaper template for the charitable action is filled out and the filler outer person sends it off to the ledger with their electronic signature and *beep boop* computer stuff happens and Codius spits out a smart contract where the whitepaper filler outer person agrees to do X and Y with the donations money should they win the vote.  Then contingencies can be put in place where if they fail to do either X or Y then they're responsible for applying to the charity for extra funds or sourcing it themselves depending on the shortfall amount.

Edited by Guest
Bob: Changed the thread name.
Link to comment
Share on other sites

9 hours ago, BobWay said:

Thanks for posting this. I’m going to comment on it further when I get home. This is exactly the kind of proactive projects I think people should be launching on the ledger.

Thanks Bob I appreciate it.

Link to comment
Share on other sites

I have to admit I'm not the most generous person. I'm all very skeptical about people collecting money, "to help others". But I don't see that as a good quality in myself. It is just my internal cynicism showing through. I really do LOVE actually helping people. What I HATE is people "addressing the problem" without actually solving it. Or worse, sometimes without actually helping anyone at all. In my libertarian view, a really expensive failure to solve a problem, is way worse than cheaply avoiding bad approaches until an actual solution can be found.

 

18 hours ago, VoteForTomorrow said:

I'm setting up a global democratic charity.  People suggest one way to make the world a better place from planting a tree to building a school, I put it on my website and people vote for the ideas and the idea with the most votes that can afford to be done at the end of the month gets done.  I want every transaction to go through the XRP ledger so my entire project is 100% transparent.  I didn't even think about FIAT going through the ledger before you mentioned it.

But as VoteForTomorrow points out, a very good way to combat cynicism is through both transparency and direct participation. If people's participation is voluntary, then their motivation can be driven by their ability to actually monitor the project's success. Giving each person the ability to directly participate in that success, I believe, gives double return-on-investment. 1) People got helped. Yay!   2) I had the personal pleasure of helping them!  Booyah!

So, even with my natural inclination to be skeptical, I 100% support VoteForTomorrow's efforts here. I also think everyone on this site, should join in and follow this discussion, as an XRP Ledger learning example, whether or not you intend to contribute financially to his project.

 

18 hours ago, VoteForTomorrow said:

So I'm hoping to have donations coming in EUR, USD, GBP, XRP etc and then everything gets sent out to the winning project and then I'd want any purchases made by the winning project to be through the XRP ledger too.  So if the winning project is a school being built then they would buy labour, cement, bricks etc.  Of course I would be happy with regular receipts as proof but the XRP ledger is better totes obvs.

 So my first question for you is what would be the best way for me to achieve this?

Getting the money into the system is always the hardest part. Especially for non-cryptocurrency savvy people. You are going to need a good website with a step-by-step guide for doing so. Currently, the ways I know to get cash into the XRP Ledger involve existing cryptocurrency exchanges and their associated "gateways". Bitstamp is one example of an exchange that also has an XRP Ledger fiat gateway. I think building or identifying a list of all the other functioning fiat gateways would be helpful here.

This is also a great motivation to brainstorm new "cash in" ideas. Really what you are doing with the XRP Ledger is representing on the public ledger, fiat funds held by particular people at particular places. Such as "10,000 EUR in V4T's account at Bitstamp that belongs to the charity.  Each of the underlined concepts are easily represented on the XRP Ledger for all to see.

18 hours ago, VoteForTomorrow said:

I have a bitstamp account, uphold, coinbase etc etc, then I have two nano s ledgers and I have a friend who created a cold wallet for me using ripple-lib + JS to create wallet+key offline from source code.  I can pretty much do anything with regards to crypto storage and movement but what's the best way?  Is it better to have paypal FIAT donations going into my bitstamp account?  Or FIAT into my bank account then sent straight to uphold then XRP sent to a cold wallet?

You will likely need to create a well known XRP Ledger address that represents your new charity (probably incorporated) on the public ledger. Then you'll set the "domain" field on that address to your charity's website domain for further information. On the website, you'll need to publicly refer back to that same ledger address from an HTTPS non-spoof-able page. The HTTPS certificate can refer to the charity's real world (incorporated) identity. This double binding assures people that the XRP Ledger address they are sending funds to, is really controlled by the charity to which they hope to support.

I would create the charity's address completely offline. I would then store the master secret on paper (or some other permanent representation) and keep it in a safe deposit box while you are getting started. But before I locked the master secret it away, I'd generate a second "regular key" secret to use for the charity's daily signing needs. It is this secret I would protect using a ledger nano (or other hardware wallet) at first. Keeping the master key separate but still active, allows you to recover from a lost or compromised regular key incident. You might end up losing some funds, but you won't lose control of your entire XRP Ledger identity and relationships.

Keep in mind at the beginning you are going to be doing a lot of things manually. So trust in you (the person) and your personal operational security is paramount. Later as the charity grows and becomes more organized, you'll be able to automate functionality. You'll also want to implement additional operational security practices like multi-sign and key splitting as well.

18 hours ago, VoteForTomorrow said:

My second question is, assuming I store all donated funds in a cold storage XRP wallet after converting from FIAT, would I be able to set up an escrow multisig where my signature is worth 2 and two other signers are worth 1 and the wallet needs a total of 3 to release the funds at the end of each month?  So it's not entrusted entirely to me?

I wouldn't assume you want to store all your funds in XRP. It is quite reasonable to store funds in different currencies depending upon the goals of the charity. All those accounts are equally transparent and trackable on the ledger.

The reason I say this is that I've watched several project launch over the years. For example, Ethereum launched with a large pile of BTC donations. But they didn't diversify their holdings. So not long afterward, BTC's price took a tumble and the Ethereum developers were less well funded than they expected to be. Of course later BTC recovered. But the ups and downs of crypto volatility may not serve the day-to-day needs of a charity wishing to fund daily projects.

I think it is fair for a charity to keep most of its longterm holdings in XRP, but then to convert that to fiat in anticipation of planned spending needs. This gives a charity the ability to "dollar cost average" from XRP to fiat in order to avoid converting on a particularly bad price day.

 

In answer to your real question, yes, multi-sig can do exactly what you want. I'd have to go back and read the documentation to determine the "best" way to implement what you want to do. But an easy way to think of it is, create a 3 of 5 multi-sign. Then give yourself 2 of the secrets, and give three other people 1 secret each. So for any day to day transactions, you'll sign twice and someone else will sign once.  Should something incapacitate you, the other three can all get together and sign transactions in your absence.

 

18 hours ago, VoteForTomorrow said:

And my final question is, would I be able to automate this entire process with smart contracts eventually?  So the whitepaper template for the charitable action is filled out and the filler outer person sends it off to the ledger with their electronic signature and *beep boop* computer stuff happens and Codius spits out a smart contract where the whitepaper filler outer person agrees to do X and Y with the donations money should they win the vote.  Then contingencies can be put in place where if they fail to do either X or Y then they're responsible for applying to the charity for extra funds or sourcing it themselves depending on the shortfall amount.

Let's say you can do the monetary implementation with "smart contracts". You likely still need lawyers and human to human signing to bind the funded parties to their execution promises, and also to provide recourse incase they don't do as they promised.

Smart contracts are good for automating the transaction signing part of the process. You might replace the daily 3 of 5 multi-signing with a smart contract authorized to spend the charities money. But likely, information from a human or legal "oracle" would need to be input to that smart contract operation as well.

So you could automate a process that went something like this:

  1. George suggested a project
  2. Community voted to support George's project
  3. Community reserved an amount of funds to support George's project
  4. The funds are contingent on George signing a human binding legal contract.
  5. Notarization of George's contract by a pre-configured "oracle" notifies the Smart Contract
  6. Smart Contract transfers funds to George's account. (This could also be done with an ILP condition)

I hope that is helpful to get started.

As you implement this charity step-by-step, I hope you will continue asking questions and discussing your progress here in this thread!

Bob

 

 

Link to comment
Share on other sites

4 hours ago, BobWay said:

I hope that is helpful to get started.

As you implement this charity step-by-step, I hope you will continue asking questions and discussing your progress here in this thread!

Bob

Yes I will continue in this thread as time goes on.  There's no way I can achieve this on my own.

I'm meeting a friend tomorrow who is ex-army, lost an arm in Iraq part one so he has lots of ties with charities in the real world.  I'm going to spend some time with him talking about partnerships and endorsements.  Given how new the charity is I will need to build up trust before I can get these endorsements but it's more of a fact finding mission to see if I can partner with smaller charities and start putting myself out there in the real world.

I will be honest...I understood very little of what you wrote but I learn quickly.  When I get back tomorrow I will make a To-Do list and I will go through everything you just wrote and post here for help if I can't source the answer elsewhere.  I'll keep regular updates through my blog and on here but I'll be honest mate, I won't be getting much help from the XRP community in the beginning because they will be cynical.  And in these wild west days of crypto I do not blame them.

Link to comment
Share on other sites

I’m sure there are lots of people here who will be interested in helping you set up the XRP ledger parts and advise on operational security.

Of course building trust is going to fall to the founder. 

Link to comment
Share on other sites

On 4/2/2019 at 4:23 PM, BobWay said:

You will likely need to create a well known XRP Ledger address that represents your new charity (probably incorporated) on the public ledger. Then you'll set the "domain" field on that address to your charity's website domain for further information. On the website, you'll need to publicly refer back to that same ledger address from an HTTPS non-spoof-able page. The HTTPS certificate can refer to the charity's real world (incorporated) identity. This double binding assures people that the XRP Ledger address they are sending funds to, is really controlled by the charity to which they hope to support.

There are quite a few things I don't understand in your post but I think this is one I could get to grips with an address myself without bugging my debugging friend.

1 - "You will likely need to create a well known XRP Ledger address that represents your new charity (probably incorporated) on the public ledger"

Does this mean create an offline wallet but with a personalised address?  Like WietseWind has rPEPPER at the start of his wallet so I would have something like rVote4 at the start of mine?  What does the incorporated bit mean?  Do I have to register the charity now or is that business talk for something else?

2 - "Then you'll set the "domain" field on that address to your charity's website domain for further information"

Is the domain field the small bit at the start?  If it isn't.....what is it? lol

3 - On the website, you'll need to publicly refer back to that same ledger address from an HTTPS non-spoof-able page. The HTTPS certificate can refer to the charity's real world (incorporated) identity.

When I click on my website it says HTTPS:// at the beginning before all the double you's.  Does that mean I have already addressed this issue?  Or are you saying I need to connect my newly created rVote4 wallet to a HTTPS:// website or are you saying something completely different and I don't know what I'm even asking.

If my answers are correct then I can probably go ahead and use bithomp to mess around and try to create tailor named wallets myself and link it to the website.  If I'm incorrect then your guidance to better understand this bit would be much appreciated.

Not much else has happened this week but I have a whitepaper template down which is included in this week's blog, "My Fat Toe".

https://www.vote4tomorrow.com/v4t-blog

Link to comment
Share on other sites

22 hours ago, VoteForTomorrow said:

There are quite a few things I don't understand in your post but I think this is one I could get to grips with an address myself without bugging my debugging friend.

1 - "You will likely need to create a well known XRP Ledger address that represents your new charity (probably incorporated) on the public ledger"

Does this mean create an offline wallet but with a personalised address?  Like WietseWind has rPEPPER at the start of his wallet so I would have something like rVote4 at the start of mine?  What does the incorporated bit mean?  Do I have to register the charity now or is that business talk for something else?

You just need to create an offline wallet address at first. You don't need a personalized "vanity" address.  I'd invest in a 'practice' address first if you haven't used the XRP Ledger extensively. You can start out by practicing on the test net, but I recommend people ultimately practice on the main networks because everyone internalizes things better when real value is at stake.

The reason I say 'practice' first is that if you are creating a charity you want many people to trust with large amounts of value, then you are going to need GREAT security practices to manage the secrets behind your addresses. Almost nobody implements GREAT security practices when learning. Don't pretend you are smart enough to do so. Just create a practice address, take all the steps, send and receive some test payments, integrate it with your voting processes.

THEN, when you are experienced and ready to open the charity to the world, define your security best practices, and then generate an entirely NEW address following those procedures.

 

These tools will get you started in generating your practice address. Make sure you keep your secret completely offline and completely private. 

https://bithomp.com/paperwallet/  OR  https://bithomp.com/create/

Then you will have to "fund" the wallet by sending at least 20 XRP to it. That XRP 'funding" payment is what creates your address in the XRP Ledger. You must do that before any subsequent steps are possible.

 

22 hours ago, VoteForTomorrow said:

2 - "Then you'll set the "domain" field on that address to your charity's website domain for further information"

Is the domain field the small bit at the start?  If it isn't.....what is it? lol

If you create an address on the test net and use the test net Bithomp tools you'll be able to see it.

Under "Choose Transaction Type" --> Settings,  You see "Choose a Setting to Modify" --> Domain

You'll set this to your website's domain. In your case, "vote4tomorrow.com"

Setting that field lets anyone viewing the XRP Ledger know how to find your website.

1867992846_ScreenShot2019-04-08at10_39_40AM.thumb.png.0e3058777c8b34470286013e5c8bebc2.png

22 hours ago, VoteForTomorrow said:

3 - On the website, you'll need to publicly refer back to that same ledger address from an HTTPS non-spoof-able page. The HTTPS certificate can refer to the charity's real world (incorporated) identity.

When I click on my website it says HTTPS:// at the beginning before all the double you's.  Does that mean I have already addressed this issue?  Or are you saying I need to connect my newly created rVote4 wallet to a HTTPS:// website or are you saying something completely different and I don't know what I'm even asking.

Yes, your website seems to already have a working HTTPS certificate. It was registered through "Let's Encrypt".  However, your certificate doesn't have any information about your charity organization or its operators. As you start asking for real money from people, you might want to upgrade to an Extended Validation Certificate

For the remainder of the process, @Sukrim linked the best practice advice.

On 4/2/2019 at 12:58 PM, Sukrim said:

Basically it says, "Create a text file according to the Contents section. (Your's will be simpler than the expanded example.) You'll care about:

  1. [METADATA]
  2. [[ACCOUNTS]]      This is where you list your newly created ledger address.
  3. [[PRINCIPALS]]     This is where you talk about who you are and how to contact you.
  4. [[CURRENCIES]]   This is where you talk about what currencies you charity is holding/distributing

Then serve the file from "https://vote4tomorrow.com/.well-known/xrp-ledger.toml"

 

If you do a practice run, I'm sure others would like to take a crack at validating your process. Others might want to make sure automated verification tools exist to check for any configuration mistakes.

 

 

Link to comment
Share on other sites

@VoteForTomorrow I have my own reservations about charities in the cryptosphere but that's irrelevant. What counts is that you have taken the initiative to dive into this. Your journey can only make us all more knowledgeable and provide more depth to the XRPL ecosystem.

I'll leave others to comment on the technical/security details. I'm more interested in the voting system and smart contract set-up. Is the intent that your voting system would result in automated transfers of funds based on the outcome of the vote? I ask because voting systems are notoriously game-able when built on smart contract platforms.

If your online vote is simply the first step before due diligence is conducted of the applicant and a second vote is taken by the charity's board, you obviously lose transparency but will reduce the risk of a Boaty McBoatface situation, scammers, money launderers or worse.

Also just a quick comment on the name because it really jumped out at me: "vote4tomorrow" sounds a lot like a Super PAC. Luckily the website clearly dispels that idea but it might be relevant as your project grows...

I'm really interested to see how this develops!

Link to comment
Share on other sites

On 4/8/2019 at 5:03 PM, BobWay said:

You just need to.....

Cheers Bob, I'll post an update Sunday.

 

On 4/8/2019 at 10:24 PM, Pablo said:

1- I have my own reservations about charities in the cryptosphere but that's irrelevant.

2 - I'm more interested in the voting system and smart contract set-up. Is the intent that your voting system would result in automated transfers of funds based on the outcome of the vote?

3- I ask because voting systems are notoriously game-able when built on smart contract platforms.

4 - If your online vote is simply the first step before due diligence is conducted of the applicant and a second vote is taken by the charity's board.

5 - Also just a quick comment on the name because it really jumped out at me: "vote4tomorrow" sounds a lot like a Super PAC. Luckily the website clearly dispels that idea but it might be relevant as your project grows...

6 - I'm really interested to see how this develops!

1 - I would like to know these reservations.  If you have a specific reservation then other people will have the same reservation and I would like to address any issue or potential issue beforehand if possible.

2 - Yes the idea is that it's a smart contract set up but I completely forgot smart contract voting was a thing.  I was just going to have the votes going through a process similar to the forum polls you get here on xrpchat before you reminded me of this.  I have a few ideas about this.  I'm torn between,

  • People having a "vote bank" that they could replenish at any time for 0.1 XRP per vote.
  • People clicking on the project they want to vote for and it appearing as a purchase (like on ebay) with the number of votes they would like to make and once payment is made, their votes are added.

3 - Any advice you might have with respect to this would be appreciated.  I don't want the voting system being gamed.  How do they game it?

4 - I would want due diligence to take place as part of the whitepaper uploading.  Proof of identity and address would be part of that.  I would not want a charity board to take a second vote.  It's extremely important to me that the result of the vote is absolute.

5 - I just looked at superPAC and it looks political?  I've no interest in politics.  I'm stealing the democratic part of the charity from the political arena but politics is for politicians and I'm guessing politicians have little to no interest in charity (unless it serves to improve their standing to some degree).

6 - Me too bud.

Link to comment
Share on other sites

Charities are in the trust game. Crypto isn't. Crypto has a massive deficit of trust (due to it being optional) so putting oneself in that space already places your organisation in the same footing as scammers, ponzis and the dark web. In fact, when I first saw this thread, my immediate reaction was "hmmm, what's this?" but more in the sense of wanting to test your bona fides.

If you want to have a better understanding of voting systems as they apply in the cryptosphere, you should definitely check out the following article by the guys at Cornell. They (deservedly) earned a boost from Ripple's university funding program and have written some of the most important and relevant crypto research there is.

http://hackingdistributed.com/2018/07/02/on-chain-vote-buying/

Link to comment
Share on other sites

14 hours ago, Pablo said:

1 - Charities are in the trust game. Crypto isn't. Crypto has a massive deficit of trust (due to it being optional) so putting oneself in that space already places your organisation in the same footing as scammers, ponzis and the dark web. In fact, when I first saw this thread, my immediate reaction was "hmmm, what's this?" but more in the sense of wanting to test your bona fides.

2 - If you want to have a better understanding of voting systems as they apply in the cryptosphere, you should definitely check out the following article by the guys at Cornell. They (deservedly) earned a boost from Ripple's university funding program and have written some of the most important and relevant crypto research there is.

http://hackingdistributed.com/2018/07/02/on-chain-vote-buying/

1 - There's nothing I can do about trust at the moment.  I could say, "trust me, TRUST MEEEE!!" and people will say, "I don't trust him."  With all the scamming turds out there it has become second nature no to trust so I'm putting no effort into trying to convince people with words.  In a year or two when I have completed a number of projects and have delivered everything I promised with regards to transparency and democracy then people will trust the process.

2 - Well that sucks.  What I understand is there is still no way to deliver an E-vote without plutocrats manipulating the outcome.  Again there is nothing I can do about this except wait for the blockchain smartypants' to develop a way to automate electronic voting.  Luckily this isn't an issue at the moment because I can't see my local cricket club executing a dark DAO to win the vote over my local library wanting a wheelchair ramp.  In the early days the winning projects will only be small projects so the financial incentive to win the month's vote is minimal.  Hopefully by the time V4T has more considerable money flowing into it, Cornell will have accomplished something from the funding program.

Does this mean I will have to opt for the standard poll type of vote that you see on a forum?  In the beginning I don't think anonymity will be that important because not many will care if others know whether they voted for a wheelchair ramp or a new cricket lawn and I can't see hackers deriving much value from hacking the results to find out.

Link to comment
Share on other sites


×
×
  • Create New...