Author

Topic: [ON HOLD - 300 BTC] Make a bitcointalk forum plugin to allow tipping via BTC (Read 8404 times)

member
Activity: 98
Merit: 10
If you're still looking for someone to do any bounty related work, feel free to PM me.  I run the NerdTribe.com hacker house, we love projects like this & can usually crush them relatively quickly, if the bounty is right  Wink
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
If you guys think seriously doing this please consider the bounty still open on Rugatu.

http://www.rugatu.com/questions/3575/can-you-make-a-bitcoin-smf-mod
legendary
Activity: 1246
Merit: 1010
Its pretty embarrassing that the bitcoin board doesn't have a tipbot.  We should make a generic tipbot backend that can be taught via plugins to scan different web formats --SMF, facebook, whatever.  So it is completely unconnected to the site itself.

And I'm not sure how "binding" people take bounty announcements but I would also vote to let erik off the "hook" WRT the original bounty amount.  Its been a long time since the OP and there is lost opportunity if the project is not done in a timely fashion.  And of course BTC has exploded  Grin
full member
Activity: 168
Merit: 100
If anything you could set it up so that there is a wallet of the massive funds held for the forum's development and when someone tips the btc goes to that wallet and that wallet automatically sends an equal amount of btc to the address the person chose and linked to their account in their profile settings.

Just a simple program that understands how to receive BTC, read the intended address, and then send BTC to that address.
newbie
Activity: 6
Merit: 0
I run free-to-use website for such bounties: https://fundhub.org/
legendary
Activity: 1708
Merit: 1020
Seems this thread got resurrected. I'm going to put this project on hold. There was one party who seems excellent for the job but a certain moderator, whose help I needed, seems to have lost interested in assisting with this. Will try to resurrect at some point.
Good decision imho. There are better things to subsidize. Also bounties should have $ limits.

I have seen other projects that were done for bounties only and abandoned afterwards. This seems a candidate for this.
hero member
Activity: 658
Merit: 502
Doesn't use these forums that often.
I'm willing to code a backend, but someone will need to make a frontend for SMF. Maybe split the bounty? Smiley
I code in node.js, so your frontend will need to be (node.)js.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
Seems this thread got resurrected. I'm going to put this project on hold. There was one party who seems excellent for the job but a certain moderator, whose help I needed, seems to have lost interested in assisting with this. Will try to resurrect at some point.
hero member
Activity: 658
Merit: 502
Doesn't use these forums that often.
Well, you're talking to the creator of whiskers75/IRC-bot... Smiley

I'll have a look and see if I can do this. I have experience using BTC with node.js and IRC.
hero member
Activity: 588
Merit: 500
Hero VIP ultra official trusted super staff puppet
Doesn't blockchain.info have a plugin for Chrome that works directly with your bitcoin client to show balances etc (importing wallets) through the API? Why couldn't that just be used to have it send funds when clicked?
legendary
Activity: 1176
Merit: 1001
Can I stole your job? You know, 300 btc... Intriguing Wink
hero member
Activity: 938
Merit: 1000
I did start. I think I made initial progress on the javascript library/web-app that would hook up to the forum and the SMF plugin that would take care of stuff behind the scenes.
legendary
Activity: 1102
Merit: 1014
Tachikoma, did you end up building anything then or just designs?
hero member
Activity: 938
Merit: 1000
It did not seem like Theymos was keen on implementing this, so nothing is happening with it so far.
sr. member
Activity: 315
Merit: 255
Can anyone give a brief update about this?
administrator
Activity: 5222
Merit: 13032
Why is that? I think the user experience is a lot better if you don't have to visit an other site to tip. The javascript will be loaded from external servers and all the communication will happen client side directly to the API service. It doesn't have to go through the forum code at all.

So if you lose the bitcoins, people don't blame the forum. Smiley

Any opinions on what should be a fair fee?

1%, maybe.
hero member
Activity: 938
Merit: 1000
You need to give people the option of opting out of PMs when they receive donations. Otherwise some people will be annoyed, especially when they get PMs for very small tips.

This should be possible.

I'd prefer all of the actual tipping stuff to be done on your site, not through JavaScript stuff on this site.

Why is that? I think the user experience is a lot better if you don't have to visit an other site to tip. The javascript will be loaded from external servers and all the communication will happen client side directly to the API service. It doesn't have to go through the forum code at all.

This alone won't prevent people from tipping themselves. Are you also going to take a fee?

I can easily add in a fee, I did not account for tipping with puppets. Any opinions on what should be a fair fee?
administrator
Activity: 5222
Merit: 13032

Sounds mostly good.

You need to give people the option of opting out of PMs when they receive donations. Otherwise some people will be annoyed, especially when they get PMs for very small tips.

I'd prefer all of the actual tipping stuff to be done on your site, not through JavaScript stuff on this site.

Tipping yourself is not possible the tip link won't show on posts that are your own. And even if you try to bypass that we can do an extra check on the server side since we have the internal forum id.

This alone won't prevent people from tipping themselves. Are you also going to take a fee?
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack

If you send tips to an account which is not activated yet the system will simply hold the coins for you.


Could you elaborate on this part? I think it's necessary that the recipient of the tip gets a message alerting him that he has funds awaiting him.

Sure. An "anonymous" user would be created in the service database. It would have a deposit address an forum_user_id key but no secret hash. The user would be send a message via PM that a tip has been send and he can then activate his account by either tipping somebody else or just send a signup message in pm. The service would recognise the forum_user_id of the user just activating his tipping and thus assign him the tips.   

Excellent. Waiting to hear back from Theymos and we can move forward.
hero member
Activity: 938
Merit: 1000

If you send tips to an account which is not activated yet the system will simply hold the coins for you.


Could you elaborate on this part? I think it's necessary that the recipient of the tip gets a message alerting him that he has funds awaiting him.

Sure. An "anonymous" user would be created in the service database. It would have a deposit address an forum_user_id key but no secret hash. The user would be send a message via PM that a tip has been send and he can then activate his account by either tipping somebody else or just send a signup message in pm. The service would recognise the forum_user_id of the user just activating his tipping and thus assign him the tips.   
sr. member
Activity: 322
Merit: 251
Is theymos willing to run a bitcoind instance on this server, or is there another e-wallet online which allows sending to addresses within the same service without a fee, and furthermore has a nice API?

If so, this should be relatively easy:

Like Tachikoma said, simply allow users to fund their account, and tip from their account. This makes it transparent as to who's tipping a user (hell, you can even mark as anonymous if you have over 100 posts, let's say), and keeps it easy and subtracts the whole fee required.

If these conditions are met, and what I just proposed works, I may try to make one of these real fast.

EDIT - Actually, you could just run this off of a random service, keep the "amount a user owns" in a database. That amount is accessible to them, but it doesn't need to actually move coins around the addresses.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack

If you send tips to an account which is not activated yet the system will simply hold the coins for you.


Could you elaborate on this part? I think it's necessary that the recipient of the tip gets a message alerting him that he has funds awaiting him.
legendary
Activity: 1246
Merit: 1010
Erik,

As a developer I'd recommend that you change the format a little for medium sized awards like 300 BTC.  Bounties are great for quick stuff like "get this to compile on Ubuntu".

Instead ask for proposals and then award the best one the opportunity to do the work.  Proposals should contain how the system will work, resumes, how bugs will be fixed, license, and a completion date.  If they miss their completion date you have the opportunity to extend or move the offer to someone else. 

Offering a coding bounty -- AKA a "race" -- is going to get you shoddy (as fast as possible!) work, people with enough time on their hands to out-race other coders, and who are willing to risk their work being wasted just because someone else was a little faster.  But there has never been a time essentially since computers were invented when top quality programmers were not in great demand, so what kind of programmer really wants to grab at this?

Cheers!


I think you're right about this.

Anyone have a problem with this format? I'll approve a proposal, and then if it's completed successfully I'll pay the bounty. But, you have to get my proposal sign off first. Any issues with this?

I agree with thezerg on this, as well. I'd tip him if there was such a feature.   Fast | Cheap | Correct : Choose two


Thanks!  Half my day job is being a "coder-dad" -- I clean up all the junk my people leave behind  Smiley
WRT a tip its always appreciated but not necessary!  16ExHi8FZ848JDsDqrGAXgXbyyLWhdDMe9

Erik, I don't know yet if I have the time to propose, but if I don't (that is, you see nothing from me by whenever you decide to decide) then I'd be happy to do a technical review of the proposals.
legendary
Activity: 1102
Merit: 1014

I think you're right about this.

Anyone have a problem with this format? I'll approve a proposal, and then if it's completed successfully I'll pay the bounty. But, you have to get my proposal sign off first. Any issues with this?

So do we submit proposals here or by PM?
full member
Activity: 216
Merit: 100
Erik,

As a developer I'd recommend that you change the format a little for medium sized awards like 300 BTC.  Bounties are great for quick stuff like "get this to compile on Ubuntu".

Instead ask for proposals and then award the best one the opportunity to do the work.  Proposals should contain how the system will work, resumes, how bugs will be fixed, license, and a completion date.  If they miss their completion date you have the opportunity to extend or move the offer to someone else. 

Offering a coding bounty -- AKA a "race" -- is going to get you shoddy (as fast as possible!) work, people with enough time on their hands to out-race other coders, and who are willing to risk their work being wasted just because someone else was a little faster.  But there has never been a time essentially since computers were invented when top quality programmers were not in great demand, so what kind of programmer really wants to grab at this?

Cheers!


I think you're right about this.

Anyone have a problem with this format? I'll approve a proposal, and then if it's completed successfully I'll pay the bounty. But, you have to get my proposal sign off first. Any issues with this?

I agree with thezerg on this, as well. I'd tip him if there was such a feature.   Fast | Cheap | Correct : Choose two
legendary
Activity: 1246
Merit: 1010
seems good from a user's perspective.  4 suggestions:
put typical tip amounts in the dialog box so we don't have to type numbers in
refund if not claimed within a month
put the tip destination address in the box so we don't have to hold btc in your service if we don't want to.  So tipping direct is inconvenient but possible.
Limit the total tip amount to slow down thieves -- just an added protection alongside the fact that there should not be too many btc in your tipping act
hero member
Activity: 938
Merit: 1000
I've been thinking and prototyping over the last 24 hours with my business partner (I know stupid word) and I think we've come up with a plan that solves most of the issues concerns mentioned here on the forums. We want to make it public now to get some constructive feedback and see if we indeed covered all bases. I will try to not get into too much technical details.

The system would exist of two parts. On the one hand would be a website (service) with an API interface and on the other hand a plugin for SMF that talks to this API. The plan is to create both pieces of code so they can work neatly together.

As a forum member this is how tipping would work.



Each post has an unique 'tip link' that you can press to send a tip to author of the post, specifically for that post.

If you press the 'tip link' one of two things can happen.
  • If you already tipped before: you will get a small modal with an input box that mentions your current balance and asks you how much want to tip.
  • If you have not tipped before: you will instead receive a message your tipping account has been activated and you will be presented with a bitcoin address to fund your account.


Tipping will only be possible if your account is funded either by depositing money or by receiving tips.

If you send tips to an account which is not activated yet the system will simply hold the coins for you. Since you send the internal forum user id with each tip you can later redeem an account if you wish to active your own tipping account, the funds will be automatically in your account at that point.

Tipping yourself is not possible the tip link won't show on posts that are your own. And even if you try to bypass that we can do an extra check on the server side since we have the internal forum id.

Behind the scenes the forum software should do a query to the API service (on cron) to retrieve all tips made and save this in a local table to be used as cache so the tips can be shown on the forum. It will show a total amount received on the left side of the post where general user info is displayed. And the amount of tips received for that post will be displayed next to the date of the post since this is post specific information.



legendary
Activity: 1708
Merit: 1020
[...]
If this was made a bot, what would happen is the bot would have its own account on the forums which it logs into, and users could send commands via pm (for balance checking, depositing, withdrawing) and also tip people by posting +bitcointip in a thread, like how the reddit bot works. The bot & wallet could be hosted elsewhere & could work without specifically needing permission from Theymos (unless he bans the account of course). This is how reddit tip works.
[...]

what happens if your account is not funded?
if you send to an unknown user?

imho the bot solution has issues.


What about something like the Good Post/Bad Post Mod backed by btc?

Theymos?


If one could set the tipping amount to 0 we would even get the "good post" feature for free  Wink

donator
Activity: 1731
Merit: 1008
This might be the greatest enabler of constructive discussion around bitcoin.
legendary
Activity: 1400
Merit: 1005
Are there any other services that will host a wallet in a secure and safe fashion for you?

Am not sure how much I would trust any online wallet but I will say that the support from WalletBit is quite good (there you go Kris - something positive from me at last).


This looks better but still a little too much. The ideal situation would be a service where you would simply get json-rpc details to a hosted bitcoind instance where the third party ensures security for the hosting. Does that exist?
YES.  Jfreak was advertising exactly such a service earlier in the year.  I thought it was neat, but didn't have any use for it.  It sounded like he had it very secure (as much as a live bitcoind instance can be secured, anyway).  Contact him for more details though.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
Erik,

As a developer I'd recommend that you change the format a little for medium sized awards like 300 BTC.  Bounties are great for quick stuff like "get this to compile on Ubuntu".

Instead ask for proposals and then award the best one the opportunity to do the work.  Proposals should contain how the system will work, resumes, how bugs will be fixed, license, and a completion date.  If they miss their completion date you have the opportunity to extend or move the offer to someone else. 

Offering a coding bounty -- AKA a "race" -- is going to get you shoddy (as fast as possible!) work, people with enough time on their hands to out-race other coders, and who are willing to risk their work being wasted just because someone else was a little faster.  But there has never been a time essentially since computers were invented when top quality programmers were not in great demand, so what kind of programmer really wants to grab at this?

Cheers!


I think you're right about this.

Anyone have a problem with this format? I'll approve a proposal, and then if it's completed successfully I'll pay the bounty. But, you have to get my proposal sign off first. Any issues with this?
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
[...]
you have to do a lot of scrapping, but I think if someone was to make a tipping bot they would have to clear it with theymos first. Since this bot would use a lot of bandwidth and could be confused for a DDOS attack.


Erik please make the good post feature happen!



How does a good post feature avoid the self-inflating problem?

Ideally, this forum tipping system should double as a good post feature.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack

Do tips really need to double as a reputation system? The goal is to encourage posters to post more, right, not act as a publicly visible measure of reliability. If you just don't display the total amount of tips gathered by a user, or just show a list of usernames that pressed the tip button on a post, then the issue of tipping yourself goes away.

I think it'd be cool if the tips doubled as a reputation system. Right now, forum users have their post count shown, which builds a rep somewhat... but showing an amount others paid to you for your wisdom would be far more valuable.

But yeah, there does need to be a defense against tipping oneself in this case.
legendary
Activity: 1246
Merit: 1010
And let me just leave this here (from the reddit bitcoin tipper discussion) to encourage any interested developer to make a solution that can be easily extended to other services:

It is probably the single greatest thing to happen to BTC adoption rates.  Now, if we could find a way to do this for youtube we'd be set.

This is a great idea to expand the tips to YouTube.

Also, how can we integrate it with blog comments? That could become a particularly explosive niche. Perhaps a WordPress plugin that connects to the tip bot that allows it to interact with the blog?

With or without the help of the hosting site?  I was considering this project a few months ago.  The basic strategy:

create a website that lets you deposit small amounts of bitcoin or fiat (should be fraud resistant due to deposit limits).  And an automated way to create a tip jar.
users puts some btc in the tip jar and then posts a message on the blog, youtube vid, etc.  The tip jar can do this automatically for the top 5 sites (youtube,etc).

Problems:

1. Verification of the claimant (how to prove that the person claiming the tip jar actually did post the blog or upload the video)
2. Creating trust in the hosting website (i.e. your service), since it is holding the bitcoin.
3. May bend TOS for sites like youtube and/or be considered spam


Tips would also be a great way to encourage bug fixes in FOSS software.



With or without the help of the hosting site?  I was considering this project a few months ago.

... The tip jar can do this automatically for the top 5 sites (youtube,etc).

The WordPress plugin would be installed on each individual blog but report back with the server for the tipbot. Then the plugin could ping the tipbot when a tip needs to be verified and processed. The tipbots would also be able to monitor the sites (but don't eat too much bandwidth!) where the plugin is installed. Perhaps have a blogger API key for installation.

This would solve a need that bloggers have with a way to interact with and reward the community that develops around their blog. Good highly quality comments that are rewarded with bitcoins, by either the blogger or other commenters, would be an excellent way to get bitcoins into that community. Then the blogger could sell products, like ebooks, for bitcoins and spend bitcoins on hosting, etc. Plus, it would help bloggers counteract all the trolls from the Air Force's blog commenter program.

What I envision is a WordPress plugin that works kind of like Gravatar or Disquis where a commenter can create an identity in one place but have it show up in multiple places. 'Facebook comments' has tried to do this but most bloggers do not want their nasty code intertwining with their website. Comment sections often have great content but it is just really hard to find and weed through all the trash. People could make their tipping history public and then others could see where the insightful comments are.

Its an interesting proposal.  A generic tipbot server and then custom integrations with the top sites that solves issues like identity validation.  Last summer it was questionable (in my mind) whether these sites and the public would be "friendly" towards this kind of thing (as opposed to seeing it as some form of spam) but the reddit tipbot and the recent spate of legitimizing news may make the difference.

I wonder if SAAS APIs exist to integrate this with existing online wallets (blockchain, etc)... if so the job becomes a lot easier -- you wouldn't even need to handle the BTC and the additional development care and ongoing security maintenance that that implies.  Regardless, I expect the BTC held by this tipbot would be pretty limited and so not a great target for thieves.

legendary
Activity: 1246
Merit: 1010
Erik,

As a developer I'd recommend that you change the format a little for medium sized awards like 300 BTC.  Bounties are great for quick stuff like "get this to compile on Ubuntu".

Instead ask for proposals and then award the best one the opportunity to do the work.  Proposals should contain how the system will work, resumes, how bugs will be fixed, license, and a completion date.  If they miss their completion date you have the opportunity to extend or move the offer to someone else. 

Offering a coding bounty -- AKA a "race" -- is going to get you shoddy (as fast as possible!) work, people with enough time on their hands to out-race other coders, and who are willing to risk their work being wasted just because someone else was a little faster.  But there has never been a time essentially since computers were invented when top quality programmers were not in great demand, so what kind of programmer really wants to grab at this?

Cheers!
legendary
Activity: 1498
Merit: 1000
[...]
you have to do a lot of scrapping, but I think if someone was to make a tipping bot they would have to clear it with theymos first. Since this bot would use a lot of bandwidth and could be confused for a DDOS attack.

cough. for the bitcointalk top16 topics (http://blockchained.com) I am already scraping all messages on this forum. 

But it says on your site of the last 24hrs so are scraping in realtime or just every 24hours?

And if your already scrapping the site that is half the battle, then you can probably use something to login and post (probably request if it is in python cause that can save cookies) Your probably in the best position to write this.
legendary
Activity: 1708
Merit: 1020
[...]
you have to do a lot of scrapping, but I think if someone was to make a tipping bot they would have to clear it with theymos first. Since this bot would use a lot of bandwidth and could be confused for a DDOS attack.

cough. for the bitcointalk top16 topics (http://blockchained.com) I am already scraping all messages on this forum. 

It is roughly 25MB per day. Please don't hit me Theymos. Grin


300BTC is a generous bounty but otherwise I think tipping Bitcoins is simply not necessary. That fits a Q&A site much better.


What bitcointalk really needs is a "good post" feature (without "bad post" as we have learned painfully when we tried it right here a quite while ago). it is readily available for smf but theymos said it would harm diversification of opinion or something.


Erik please make the good post feature happen!

sr. member
Activity: 461
Merit: 251
I think part of the charm of the Reddit bot is that it makes doing the +1 thing actually meaningful.  It's an overt, public show of thanks for a specific post.

With that in mind, the payment URIs contained in the signatures could contain a message labeling the post being tipped (unique URI per post).  As well, if the tipper is logged in, the URI could also include a message with the tipper's username.  This data would be relayed back to the forum from the tipper so that it knows which post to announce the tip on, and who it came from.

Edit: One last detail about tippers taking the glory, but then double spending their gift: the forum could police this by not sending private keys out to tipees directly, but through blockchain transactions instead.  Then if a user retracts their tips within, say, a month, the forum would know it was the tipper and not the tipee spending them, and could take away the tipper's glory privileges going forward.

Okay I'll stop now.  Too much coffee this morning  Smiley
hero member
Activity: 938
Merit: 1000
I've send an early proposal to Theymos and Evoorhees.

Regardless of the outcome I might be interested in building the service part of the job regardless. Any community based site could implement their own Bitcoin tipping they would just need to implement the tipping API. 
sr. member
Activity: 461
Merit: 251
Regarding the last point, the forum could require payment URIs send it a fee in order to publish it, couldn't it?  That would solve the tip inflation problem, and provide a source of revenue for the forum.

IMO the decentralized/universal nature of Mike's solution is too beneficial to overlook.

Edit: I didn't think about carefully about how people could cheat that...
After actually bothering to read the details of Mike's proposal, the forum knows the private keys it's sending, and can withhold and spend enough of them to itself in order to satisfy their fee.  It could send the private key of the change address of this fee transaction to itself to the person being tipped.

Edit: Agh in too much of a hurry...  The tipper then wouldn't be able to double spend the fee change as desired, so the onus would have to be on him to include a private key with exactly the right amount.
administrator
Activity: 5222
Merit: 13032
Agreed about requirements, but why would you ever want to tip somebody less than 1 satoshi? That level of value is in the extreme-micropayment range, if I got a 1 satoshi tip I'd take it as an insult!

Do tips really need to double as a reputation system? The goal is to encourage posters to post more, right, not act as a publicly visible measure of reliability. If you just don't display the total amount of tips gathered by a user, or just show a list of usernames that pressed the tip button on a post, then the issue of tipping yourself goes away.

If someone sends 1 satoshi and the tipping service charges a fee, the recipient will get less than 1 satoshi. Then they might send that amount on to someone else. That's one possibility. I don't know how common that'd be.

I guess I'm not sure what the goal is. Reddit's bitcointip posts whenever someone gets a tip, which advertises the tipping system and gets people excited about Bitcoin. I was thinking that having a public tally of tips would get people interested in a similar way.
sr. member
Activity: 461
Merit: 251

IMO an E-Wallet is desirable for this because:
- People can instantly make very small tips without having to pay a large fee (relative to the tip amount). They could even send amounts smaller than 1 satoshi.
- People are more likely to keep any tips they receive in the system if withdrawing their BTC requires a higher fee and more time than sending tips does.
- I think that the best way to prevent people from infinitely inflating their "tips received" count is to charge a percentage fee based on the BTC amount sent. You could do this with Bitcoin transaction fees, but it's more complicated for the sender.

The exact requirements clearly need to be figured out before someone starts working on this.
Regarding the last point, the forum could require payment URIs send it a fee in order to publish it, couldn't it?  That would solve the tip inflation problem, and provide a source of revenue for the forum.

IMO the decentralized/universal nature of Mike's solution is too beneficial to overlook.

Edit: I didn't think about carefully about how people could cheat that...
legendary
Activity: 1526
Merit: 1134
Agreed about requirements, but why would you ever want to tip somebody less than 1 satoshi? That level of value is in the extreme-micropayment range, if I got a 1 satoshi tip I'd take it as an insult!

Do tips really need to double as a reputation system? The goal is to encourage posters to post more, right, not act as a publicly visible measure of reliability. If you just don't display the total amount of tips gathered by a user, or just show a list of usernames that pressed the tip button on a post, then the issue of tipping yourself goes away.
administrator
Activity: 5222
Merit: 13032
Why would the forum need to host wallets?

Users could just provide the forum software with some public keys and have a consistent way to format bitcoin: URIs. I can imagine an integration with the payment protocol in future to produce signed payment requests. But the money goes directly from tipper to tipee and the forum itself never touches the money. It means to pay a tip is 2 clicks instead of 1 (click the link to open your wallet program, click approve), but once the payment protocol starts rolling out wallet software could be instructed to auto-approve small payments that are signed by the forum.

If you wanted, you could have the forum monitor the block chain and when you see an address be used, switch to the next for better privacy.

I disagree that bitcoin can't handle micropayments, by the way, for the sorts of sizes and frequencies that tippers would consider it should work fine. But in the odd case where it wouldn't, wallets could simply delay the payment until another larger transaction was made and tack it onto that one.

That said, I agree with Theymos on people using it - it's probably better to wait and see if the redditbot has longevity. If it does, analyzing what made it successful where other attempts failed would be useful, then we know exactly what to recreate. For instance, is it convenience? Immediacy? The ability to show off your charity by requiring tip commands to be public?

IMO an E-Wallet is desirable for this because:
- People can instantly make very small tips without having to pay a large fee (relative to the tip amount). They could even send amounts smaller than 1 satoshi.
- People are more likely to keep any tips they receive in the system if withdrawing their BTC requires a higher fee and more time than sending tips does.
- I think that the best way to prevent people from infinitely inflating their "tips received" count is to charge a percentage fee based on the BTC amount sent. You could do this with Bitcoin transaction fees, but it's more complicated for the sender.

The exact requirements clearly need to be figured out before someone starts working on this.
full member
Activity: 125
Merit: 100
This is where that mythical decentralized reputation/identity system would be useful.  I see that bitcoin-otc identities already (at least many of them) have bitcoin addresses associated with them so tipping based on otc usernames would be trivial.  Is there anywhere that is linking forum names and otc names together already (decentralized or not)?  Of course that still requires setting up another account to receive tips and/or holding unclaimed tips somewhere temporarily for users without an account.
legendary
Activity: 1176
Merit: 1001
From what i understood this relies on someone else services, and there is no easy way to skip this.
Decentralizing this external entity doesn't help on his security.

I would love the 300BTC but even given that i create this service using my infrastructure, how could you relay on me with your money? The only answer is that you couldn't.
legendary
Activity: 1526
Merit: 1134
So what happens on reddit if the user never picks up the coins?

It's better to think in terms of purely decentralized solutions rather than relying on branded third party services. Otherwise you're not really addressing theymos' concerns, just moving them around to some other party.

So I'd start by extending the payment protocol (er, once we ship v1) to be able to mark payments as donations. A donation is processed like a regular payment but the output is not marked as spent in the wallet, it's marked as donated instead. Donated payments can be deliberately double-spent after the user clicks through a confirmation screen. This means if the user doesn't pick up the tip and eventually the tipper gets bored and wants his money back, they can do that easily from within their wallet software.

The Payment message would then be extended to contain not only transactions, but also a list of private keys that can correspond to the tx outputs. The client would submit the Payment as normal to a URL on bitcointalk.org which would simply take the submitted data, and send it as an attachment in a mail to the user. Then the forum would forget all about it. Anyone with access to the file can claim the tip, but it'll end up in the users mailbox and nowhere else.

Advantages:

  • If the forum gets hacked, only newly sent tips can be intercepted and stolen. It'd be easy to set up a bot which tips itself every so often to detect tips that go missing.
  • The forum is not holding money for anyone, just routing some messages around, so there's no additional legal complexity.
  • Tips are pure P2P, as fits Bitcoins design
  • It's a system that's trivial to integrate with any forum, blog, wiki, whatever. As long as the software can accept an HTTP POST and send the attached data to the user via email, you're done.

To go a step further for users who get tipped and want to auto-accept tips in future, with a more complex plugin they can provide the forum with some addresses and the forum can automatically spend the submitted tips to the user themselves. That way they don't have to open the mail attachments.
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Actually am working on something similar (in terms of escrow) for my own project - if it turns out to be useful then will be sure to let others know (not promoting any particular service at this stage though).
hero member
Activity: 938
Merit: 1000
Are there any other services that will host a wallet in a secure and safe fashion for you?

Am not sure how much I would trust any online wallet but I will say that the support from WalletBit is quite good (there you go Kris - something positive from me at last).


This looks better but still a little too much. The ideal situation would be a service where you would simply get json-rpc details to a hosted bitcoind instance where the third party ensures security for the hosting. Does that exist?
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
Are there any other services that will host a wallet in a secure and safe fashion for you?

Am not sure how much I would trust any online wallet but I will say that the support from WalletBit is quite good (there you go Kris - something positive from me at last).
hero member
Activity: 938
Merit: 1000
I wouldn't be promoting Coinapult for this - there is no user support for that service (I only got my 1 BTC back becuase Yankee was nice enough to do so).


Are there any other services that will host a wallet in a secure and safe fashion for you?
legendary
Activity: 924
Merit: 1004
Firstbits: 1pirata
We had this bounty on Rugatu for a while (asked 30 Sep), people are already working on it but it gathered around 6btc only.

http://www.rugatu.com/questions/3575/can-you-make-a-bitcoin-smf-mod
legendary
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
I wouldn't be promoting Coinapult for this - there is no user support for that service (I only got my 1 BTC back becuase Yankee was nice enough to do so).
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
I think an important feature of the reddit and twitter tipping bots is this: they allow you to tip people who haven't done anything special.

In other words, the recipient doesn't need to have set up a tipping account, or advertised his address anywhere. On reddit you can just send a tip to someone who has never heard of btc, and that's the beauty of it.

So, this potential forum system, probably requires this. This is also why the practice of people putting their btc address in their sig is not equivalent. I want to be able to tip someone who has never solicited it.

I agree the forum shouldn't fuss with building an ewallet to hold the funds for this. Instead, it could use an API to a secure wallet system, like Coinapult.com 

Idea:

1) I like a comment Theymos made, so I click the "Tip User" link (maybe similar to how theymos showed in his screenshot)
2) A window pops up, with a BTC address and QR code
3) Upon receipt of btc to that address, the forum emails the user (via coinapult.com api) his donated coins.
4) User claims the coins at his leisure

With this system, the user's email address is never exposed to the public. And, the user never needs to enter a BTC address into his profile. And, the forum doesn't need to host any wallets or store funds at all.

Thoughts?
legendary
Activity: 1526
Merit: 1134
Why would the forum need to host wallets?

Users could just provide the forum software with some public keys and have a consistent way to format bitcoin: URIs. I can imagine an integration with the payment protocol in future to produce signed payment requests. But the money goes directly from tipper to tipee and the forum itself never touches the money. It means to pay a tip is 2 clicks instead of 1 (click the link to open your wallet program, click approve), but once the payment protocol starts rolling out wallet software could be instructed to auto-approve small payments that are signed by the forum.

If you wanted, you could have the forum monitor the block chain and when you see an address be used, switch to the next for better privacy.

I disagree that bitcoin can't handle micropayments, by the way, for the sorts of sizes and frequencies that tippers would consider it should work fine. But in the odd case where it wouldn't, wallets could simply delay the payment until another larger transaction was made and tack it onto that one.

That said, I agree with Theymos on people using it - it's probably better to wait and see if the redditbot has longevity. If it does, analyzing what made it successful where other attempts failed would be useful, then we know exactly what to recreate. For instance, is it convenience? Immediacy? The ability to show off your charity by requiring tip commands to be public?
legendary
Activity: 3038
Merit: 1032
RIP Mommy
- Running a Bitcoin client requires quite a bit of work to make sure the client is updated, it doesn't die, most of the BTC is held in cold storage, etc.
- I don't want anyone to use the forum as an E-Wallet. That's not the forum's purpose, and there might be legal risks associated with doing this.

These sound pretty solid.

On the other hand, anyone who wants to be tipped in BTC can put an address in their sigline.

As you can see, I stuck it under my avatar as personal text, so sig & avatar hiding doesn't work. Even though it's longer than the table column, double clicking it selects the obscured part.
hero member
Activity: 756
Merit: 522
- Running a Bitcoin client requires quite a bit of work to make sure the client is updated, it doesn't die, most of the BTC is held in cold storage, etc.
- I don't want anyone to use the forum as an E-Wallet. That's not the forum's purpose, and there might be legal risks associated with doing this.

These sound pretty solid.

On the other hand, anyone who wants to be tipped in BTC can put an address in their sigline. Why is there a need for more software?

Vaguely related, how's the new forum software coming along?
hero member
Activity: 938
Merit: 1000
I'm interested to see what I can do. I am confident I could build a tipping backend system, https://tippingService.com, as mentioned by Theymos with a tipping API. I'm just not sure I want the responsibility of handling wallets that might end up with a lot of coins that are not mine.

I will see if others are interested in building this as well cause I'm not going to 'risk' working on this and see somebody else snatch up the bounty before I complete the work Wink 
legendary
Activity: 1498
Merit: 1000
The only time the wallet would have to be hot would be for a withdrawal and that could be done every hour only on the backend so it isn't that hot. If you set up a minium amount for withdrawal or move the fee to the withdrawal that would make so people keep there coins in the site longer as well. You could also set a maximum so people can't use it as an e-wallet, but I understand it would just be one more stressful things for you to handle.
administrator
Activity: 5222
Merit: 13032
How can I turn down 100 BTC? Smiley

I'm thinking of an end result something like this:

The first number after "Tip me" is the amount of BTC received for that post (perhaps in bitcents), and the second number is the total amount of BTC that user has received.

I thought about it more and I've decided that I definitely don't want the forum to be an E-Wallet in any way, and a tipping service definitely needs to be an E-Wallet at some level because Bitcoin isn't good for microtransactions. So the tipping stuff needs to be done by a third-party service.

The "tip me" link in the screenshot above will be like:
https://tippingService.com/tip/userID/postID
At that page, users of tippingService.com can send a tip for the specified post. tippingService.com might then alert the recipient via forum PM or email.

The forum will periodically download tip totals for postIDs.

The service should probably charge a fee for every transaction so that people can't endlessly inflate their tip numbers.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
Theymos - I'll add 100btc to bounty, payable to you, if you help make this happen.

I'm not a programmer, so how else can I help move this along? Theymos - are you in?
legendary
Activity: 1498
Merit: 1000
Someone would probably want it to be python (best web scrapping libraries) since there is no api, and you have to do a lot of scrapping, but I think if someone was to make a tipping bot they would have to clear it with theymos first. Since this bot would use a lot of bandwidth and could be confused for a DDOS attack.

Wouldn't necessarily have to be too bad, use a little logo/emote as part of the tip command and it could zero in on just the pages it needs to check.  Would have to think through the details but with a well-crafted javascript bookmarklet you may even be able to sign an image url and have the tipping bot work almost completely passively from the image hits.  (And if you figure out how the recipient gets specified/detected it could potentially work on any page anywhere)

Kinda building off your idea, I mean this would be a lot of work for the user, but you could in theory make a chrome extension that uses JSON RPC and everyone that installs the extension would be forced to supply a bitcoin address that would be saved to a website/database. Then when your on a thread page, it would gather all the usernames and check to see if they are in the database, and if they are display a button that you can click to quickly donate, it would be a lot of work but could be a solution.
full member
Activity: 125
Merit: 100
Someone would probably want it to be python (best web scrapping libraries) since there is no api, and you have to do a lot of scrapping, but I think if someone was to make a tipping bot they would have to clear it with theymos first. Since this bot would use a lot of bandwidth and could be confused for a DDOS attack.

Wouldn't necessarily have to be too bad, use a little logo/emote as part of the tip command and it could zero in on just the pages it needs to check.  Would have to think through the details but with a well-crafted javascript bookmarklet you may even be able to sign an image url and have the tipping bot work almost completely passively from the image hits.  (And if you figure out how the recipient gets specified/detected it could potentially work on any page anywhere)
administrator
Activity: 5222
Merit: 13032
I've thought about this before as a forum feature. It would be kind of cool, but I haven't done it for these reasons:
- I predict that people won't use the feature very much. Donation addresses in signatures rarely receive much BTC. (Reddit's bitcointip will eventually lose popularity, I think.)
- If the donation amount is displayed, something needs to prevent people from inflating the number by donating to themselves.
- Running a Bitcoin client requires quite a bit of work to make sure the client is updated, it doesn't die, most of the BTC is held in cold storage, etc.
- I don't want anyone to use the forum as an E-Wallet. That's not the forum's purpose, and there might be legal risks associated with doing this.

Bots can't be posting in threads because such posts would be off-topic. Any posts by humans consisting entirely of bot commands would also be off-topic. Bots can use PMs as long as PM recipients have some way of unsubscribing from all of the bot's PMs.

I've been thinking about creating a forum API to make it easier to create bots, collect stats, etc. I need to think carefully about how best to do this, since I want the interface to stay the same when the forum moves away from SMF.
legendary
Activity: 1498
Merit: 1000
Someone would probably want it to be python (best web scrapping libraries) since there is no api, and you have to do a lot of scrapping, but I think if someone was to make a tipping bot they would have to clear it with theymos first. Since this bot would use a lot of bandwidth and could be confused for a DDOS attack.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
I'd like Theymos to be part of the discussion. Will PM him now and have him comment.
hero member
Activity: 882
Merit: 1006
If this was made as an SMF plugin, it would need to be applied by Theymos, but, more importantly, BTCTalk would have to host the wallet file. It would also have a much nicer interface than if it was made into a bot.

If this was made a bot, what would happen is the bot would have its own account on the forums which it logs into, and users could send commands via pm (for balance checking, depositing, withdrawing) and also tip people by posting +bitcointip in a thread, like how the reddit bot works. The bot & wallet could be hosted elsewhere & could work without specifically needing permission from Theymos (unless he bans the account of course). This is how reddit tip works.

Would you be prepared to host the bot?

I could make this easily enough either way, and could host the bot myself if need be, but just want to make sure we do this the right way.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
Does it need to be a plugin?

Could a bot be used instead? (which is what is being used on reddit ATM IIRC). This would have the added advantage of not needing to be approved.

Ummm I think that's fine... honestly I'm not smart enough to know how it works technically. If I can tip you the prize via this forum though, then it's valid.

In fact I think if the bot doesn't need to be plugged in/approved by the forum owner, it'd be even more awesome Wink
hero member
Activity: 882
Merit: 1006
Does it need to be a plugin?

Could a bot be used instead? (which is what is being used on reddit ATM IIRC). This would have the added advantage of not needing to be approved.
legendary
Activity: 1008
Merit: 1023
Democracy is the original 51% attack
We've seen the awesomeness of the Reddit tipping bot. http://www.reddit.com/r/bitcointip/comments/13iykn/bitcointipdocumentation/

This concept needs to be made for forums as well. Let's start with BitcoinTalk.org.

I'm hereby offering a bounty of 300 btc to the person who:

A) makes such a system for BitcoinTalk
B) Gets it approved/integrated into this forum

This forum is built on the simplemachines platform... I assume a plugin for this site could then be applied to others?

The way you will win this bounty is by me tipping you in this forum for 300 btc when completed Smiley

Thoughts? Comments? Entrepreneurs?
Jump to: