Bitcoin Forum
December 02, 2016, 06:28:09 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: include messages in transaction, alternate use: anti spam email  (Read 1995 times)
P4man
Hero Member
*****
Offline Offline

Activity: 504



View Profile
January 19, 2012, 10:40:37 AM
 #1

Apologies if this has been discussed a million times already, which I would have suspected, but I cant find any such discussion, so here goes:

Why dont we have the ability to include a message/comment with every transaction?  It would be much easier to keep track of your transactions.

The only reason I can think off, is to avoid spamming the blockchain . To counter this,  a system could be devised that stores the messages not in the blockchain, but somewhere else, using the transaction ID to link the message with the transaction. The message could be signed with the private key of the person initiating the transaction.

Once you have this, it suddenly opens a new possibility.. spam free, secure and anonymous email. You can use this system as a regular email system, where your email address is basically a bitcoin address and you can set a minimum bitcoin value, and consider anything below this threshold as spam.  This is not unlike some proposals that have been made in the past to counter spam with digital post stamps. Except, we already have most of this in place. Our digital stamps would be bitcoins.

Thoughts?

1480703289
Hero Member
*
Offline Offline

Posts: 1480703289

View Profile Personal Message (Offline)

Ignore
1480703289
Reply with quote  #2

1480703289
Report to moderator
1480703289
Hero Member
*
Offline Offline

Posts: 1480703289

View Profile Personal Message (Offline)

Ignore
1480703289
Reply with quote  #2

1480703289
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
1480703289
Hero Member
*
Offline Offline

Posts: 1480703289

View Profile Personal Message (Offline)

Ignore
1480703289
Reply with quote  #2

1480703289
Report to moderator
CIYAM
Legendary
*
Offline Offline

Activity: 1820


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 19, 2012, 12:09:34 PM
 #2

Something that was thought up years ago was called "hashcash" which was designed to address the problem of spam by requiring a "proof of work" solution (a set of leading zeros in an SHA1 hash found by trying different nonces very much like the Bitcoin proof of work implementation by probably no co-incidence).

The "hashcash" string would need to include a date along with the recipients email address so that the proof of work could not be re-used. I actually included an implementation of this in an Email client that I wrote recently but I don't think the idea has ever really taken off (one major problem with the idea is the difference in computational power between different computing devices you might use to send email).

The benefit over actually using bitcoins is that the hashcash is just the time it took your computer to solve the proof of work - very little $ cost (and no need to involve exchanges or other ways of getting credit) with just enough difficulty to make it unprofitable for spammers to even bother.

Actually I find that these days I seem to get very little spam (perhaps due to the bayesian detection systems being used) so I doubt that the problem will perhaps ever get to the point of us needing to buy "email stamps".


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
P4man
Hero Member
*****
Offline Offline

Activity: 504



View Profile
January 19, 2012, 12:28:55 PM
 #3

My primary concern was having the ability to add comments to a transaction (without bloating the blockchain). That you could use such a system as a secure, spamfree and anonymous email alternative is just a bonus that may or may not be developed or used as such.

Steve
Hero Member
*****
Offline Offline

Activity: 868



View Profile WWW
January 19, 2012, 12:59:24 PM
 #4

Seems entirely doable.  Any document can be hashed into a valid bitcoin address.  You could create a transaction that sends a very small amount (or zero if allowed) to such an address as well as a coins to a real bitcoin address that the recipient can claim.  The sender can send the email content as well as the bitcoin transaction.  The recipient can verify the email content and the bitcoin transaction and trash the email if it isn't valid (email doesn't hash to one of the outputs of the transaction, the transaction is not a valid bitcoin transaction, or the amount paid to the recipient is insufficient).  You can create a website that makes it easy to send and receive such emails (and set your price for receiving an email).  People could use such addresses for their public email and only reveal their unprotected email addresses on a selective basis.  The service could also require a small fee in the transactions.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
Gavin Andresen
Legendary
*
qt
Offline Offline

Activity: 1652


Chief Scientist


View Profile WWW
January 19, 2012, 01:26:00 PM
 #5

...a system could be devised that stores the messages not in the blockchain, but somewhere else, using the transaction ID to link the message with the transaction. The message could be signed with the private key of the person initiating the transaction.

Thoughts?

Good idea. Somebody should do that.

How often do you get the chance to work on a potentially world-changing project?
interlagos
Hero Member
*****
Offline Offline

Activity: 497


View Profile
January 19, 2012, 10:42:11 PM
 #6

This would be awesome!
casascius
Mike Caldwell
VIP
Legendary
*
Offline Offline

Activity: 1344


The Casascius 1oz 10BTC Silver Round (w/ Gold B)


View Profile WWW
January 20, 2012, 06:17:06 AM
 #7

So instead of downloading 1 mailbox worth of spam, we'll each be downloading and permanently storing a block chain full of microtransactions containing a couple hundred bytes representing e-postage for every e-mail ever sent anywhere in the world.  Buy stock in hard drive companies if it ever happens!

I could see it work if some service offered to be the escrow / bondsman for the antispam service, where a mail server could query, "is this token good for anything", and could redeem it if it was attached to spam, keeping it all off the block chain.  The block chain cannot sustain a transaction for every e-mail that gets sent.

Companies claiming they got hacked and lost your coins sounds like fraud so perfect it could be called fashionable.  I never believe them.  If I ever experience the misfortune of a real intrusion, I declare I have been honest about the way I have managed the keys in Casascius Coins.  I maintain no ability to recover or reproduce the keys, not even under limitless duress or total intrusion.  Remember that trusting strangers with your coins without any recourse is, as a matter of principle, not a best practice.  Don't keep coins online. Use paper wallets instead.
P4man
Hero Member
*****
Offline Offline

Activity: 504



View Profile
January 20, 2012, 07:41:32 AM
 #8

Fair point. Then again, I dont think anyone would expect such a system to replace existing email and approach its volume anytime.. ever.
The first use case, where messages are linked to transactions the way you add comments to bank transfers, would have no impact on the blockchain.

The second use case, if this would also become used as a secure messaging system, yeah there would be an impact. Then again bitcoin will have to scale anyway, the problems associated with a too large blockchain will have to be tackled sooner or later. We are at only 30K users today. If the system cant support a 10x or 100x increase in transactions, we have a big problem anyway.

istar
Hero Member
*****
Offline Offline

Activity: 524


View Profile
January 20, 2012, 12:16:41 PM
 #9

If you could include a message containing an email adress or an adress you would be able to sell things online very easy.

The money and the adress where to ship or the email adress where to send a download link.
Ofcourse this can allready be done but it would be even easier.



Bitcoins - Because we should not pay to use our money
realnowhereman
Hero Member
*****
Offline Offline

Activity: 504



View Profile
January 20, 2012, 12:32:35 PM
 #10

It can be be done entirely outside the blockchain, and entirely without needing everyone to download everyone's messages and it can be done without revealing everyone's message to everyone else.

From my 'features I'd like in my alternative client document':

https://github.com/andyparkins/additup/blob/master/doc/release.mdwn

Quote
### Receipts

This is slightly outside the realm of responsibility for a client, but
it would need support in the client to work.

Nobody is going to keep copious notes when they buy things with
bitcoins. With a bank, at the end of the month I get a statement that
tells me where I spent my money. With Bitcoin all I would get is a list
of addresses. My solution to this is to have a secondary distributed
system (or centralised, it doesn't matter), where vendors can publish
the details of a particular sale. Even if it was just their name.

People will obviously not want that information published, so it needs
to be encrypted if it is going to be publicised. The solution is to use
the public key of the sender of coins to encrypt the details of the
receipt, then store it in a distributed database against the transaction
hash. The client then makes a web lookup for all expenditure on a
particular address, and receives (of course) a load of encrypted
messages. Being the owner of the matching private key means that they
are (uniquely) able to decrypt those messages, which the client would
automatically do and copy the message into its local database.

I think this can be done with ECDH using the exact same keys as are used
for signing. I also can't see how it breaks security as the private key
is never used, and if it were possible to break a private key simply by
generating known messages to it, then it wouldn't be very secure anyway.

As a bonus, the message could be signed by the receiver of the coins so
that the client has a way of verifying that it came from the merchant.
This stops people from spamming transactions. If the signature signed
the encrypted message, the receipt server could verify too, and discard
messages from anyone else.

It's just another service; outside of bitcoin.  But to be really useful it needs integrating into the clients; so probably should be standardised.

1AAZ4xBHbiCr96nsZJ8jtPkSzsg1CqhwDa
Luke-Jr
Legendary
*
expert
Offline Offline

Activity: 2086



View Profile
January 20, 2012, 06:58:12 PM
 #11

No reason clients can't relay them too.

CIYAM
Legendary
*
Offline Offline

Activity: 1820


Ian Knowles - CIYAM Lead Developer


View Profile WWW
January 21, 2012, 10:46:33 AM
 #12

For stopping spam email perhaps there is an even simpler approach:

If you want to send me an email please make a payment of 0.001 BTC to 1xxxxxxxxxxxxxxxxxx.

The modified email app would make the payment and include the from address(es) in a header (perhaps X-Bitcoin-Payment) then the receiver can verify the payment if the header is there or move the email into your junk folder.

This approach should stop spammers and actually make it financially rewarding for you to get email (guess I don't mind getting ads if I'm being paid for it). Smiley


Cheers,

Ian.

With CIYAM anyone can create 100% generated C++ web applications in literally minutes.

GPG Public Key | 1ciyam3htJit1feGa26p2wQ4aw6KFTejU
Steve
Hero Member
*****
Offline Offline

Activity: 868



View Profile WWW
January 21, 2012, 08:57:24 PM
 #13

For stopping spam email perhaps there is an even simpler approach:

If you want to send me an email please make a payment of 0.001 BTC to 1xxxxxxxxxxxxxxxxxx.

The modified email app would make the payment and include the from address(es) in a header (perhaps X-Bitcoin-Payment) then the receiver can verify the payment if the header is there or move the email into your junk folder.

This approach should stop spammers and actually make it financially rewarding for you to get email (guess I don't mind getting ads if I'm being paid for it). Smiley

Cheers,

Ian.
It can be even better than this.  One of the output addresses of the transaction can be a hash of the email message.  The recipient sees the transaction hash in the header, hashes the email payload (see CommitCoin) then checks to make sure one of the output addresses is that hash.  I think that output can have a value of 0 (if not, then 1 Satoshi).  If it pays you enough bitcoins, it moves the message into your inbox (if not, it stays in spam or some other low priority folder).

As for Casascius' concern about HDD space, I don't think the bulk of emails would be sent this way, but it would be a way that one could bypass spam filters if you're a correspondent that's unknown to the recipient.  Also, remember that nodes on the bitcoin network do not need to retain the full transaction history to work…they only need to retain all unspent transactions.

(gasteve on IRC) Does your website accept cash? https://bitpay.com
DiThi
Full Member
***
Offline Offline

Activity: 157

Firstbits: 1dithi


View Profile
January 22, 2012, 12:12:02 PM
 #14

We already have hashcash. Satoshi was inspired by it to make his paper.

1DiThiTXZpNmmoGF2dTfSku3EWGsWHCjwt
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!