Bitcoin Forum
May 03, 2024, 04:29:42 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Is it possible to send one Satoshi?  (Read 2527 times)
natoshisakamoto (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile WWW
March 15, 2014, 04:41:30 AM
 #1


When I try to send .00000001 Bitcoins from the Hive app on Mac, it changes the number to zero.

Does this happen on all the wallet apps?

I'm working on a small experiment... an exponential digital coin - where coin #1 costs .00000001 BTC, coin #2 costs .00000002 BTC, and it keeps doubling, all the way to coin #50, which costs over 5 million Bitcoins. (The ownership of each coin is tracked manually... Hehe, it's awkward and silly, I know, but I'm curious to see what happens: http://exponentialsatoshis.wordpress.com)

But, the whole thing won't really work if it isn't possible to actually send 1 Satoshi, and all the wallet apps are rounding to 3 or 4 decimals.

Thanks very much for any help you guys can provide on this topic.

(Any comments on the experiment are welcome too, but I'm not sure if that discussion belongs on another forum topic.)
1714753782
Hero Member
*
Offline Offline

Posts: 1714753782

View Profile Personal Message (Offline)

Ignore
1714753782
Reply with quote  #2

1714753782
Report to moderator
1714753782
Hero Member
*
Offline Offline

Posts: 1714753782

View Profile Personal Message (Offline)

Ignore
1714753782
Reply with quote  #2

1714753782
Report to moderator
1714753782
Hero Member
*
Offline Offline

Posts: 1714753782

View Profile Personal Message (Offline)

Ignore
1714753782
Reply with quote  #2

1714753782
Report to moderator
Even in the event that an attacker gains more than 50% of the network's computational power, only transactions sent by the attacker could be reversed or double-spent. The network would not be destroyed.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
lnternet
Sr. Member
****
Offline Offline

Activity: 299
Merit: 253


View Profile
March 15, 2014, 04:43:42 AM
 #2

There is a minimum, 6800 Satoshis or so.

Here you go:
Quote
Any transaction with any of its outputs less than 5430 satoshis (0.00005430 BTC) would be classified as non-standard, and will not be included or further propagated across the network by default miners.

You can still send raw transactions or use a wallet which supports them, but they might not make it anywhere.

1ntemetqbXokPSSkuHH4iuAJRTQMP6uJ9
grifferz
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
March 15, 2014, 04:46:48 AM
 #3

Transactions below 5300 satoshis are considered non-standard and will not be relayed by any node I am aware of. So while such a transaction is possible, your wallet software is saving you from making an error.
natoshisakamoto (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile WWW
March 15, 2014, 04:50:41 AM
 #4

Got it, thanks very much to both of you.

That's a bummer.

So, if I understand correctly, you can go to the 8th decimal point if you need to, on a transaction larger than around 5300 Satoshis, but transactions lower than that limit will not be processed.

Say hypothetically, as a workaround, someone sends me 10,001 Satoshis, and I send them 10,000 Satoshis back. Would that work on all wallets, and be processed properly by the miners?
cAPSLOCK
Legendary
*
Offline Offline

Activity: 3738
Merit: 5127


Whimsical Pants


View Profile
March 15, 2014, 04:53:56 AM
 #5

Got it, thanks very much to both of you.

That's a bummer.

So, if I understand correctly, you can go to the 8th decimal point if you need to, on a transaction larger than around 5300 Satoshis, but transactions lower than that limit will not be processed.

Say hypothetically, as a workaround, someone sends me 10,001 Satoshis, and I send them 10,000 Satoshis back. Would that work on all wallets, and be processed properly by the miners?

Once you account for transaction fees... Yes.
natoshisakamoto (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile WWW
March 15, 2014, 04:58:04 AM
 #6

Thanks, cAPSLOCK.

And the wallets pull the transaction fees from the wallet in addition to the sum being sent, not from the actual sum, right?

So, if I have 10,000 satoshis and I send 9,001, my balance = 10,000 - 9,001 - the fee, and the recipient gets the full 9,001?
grifferz
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
March 15, 2014, 05:02:21 AM
 #7

Say hypothetically, as a workaround, someone sends me 10,001 Satoshis, and I send them 10,000 Satoshis back. Would that work on all wallets, and be processed properly by the miners?
You will both need to spend at least 0.0001 per transaction in order to get these transactions processed, otherwise they are likely to take days or maybe forever.

So the end result would be:

Code:
them: -0.00010001 - 0.0001 + 0.0001 = -0.00010001
you:  +0.00010001 - 0.0001 - 0.0001 = -0.00009999

You both lose out.
grifferz
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
March 15, 2014, 05:07:54 AM
 #8

So, if I have 10,000 satoshis and I send 9,001, my balance = 10,000 - 9,001 - the fee, and the recipient gets the full 9,001?
Since the minimum txfee is 10k satoshis, this example doesn't work.

If you instead had 20k satoshis and sent 9k of them, the actual transaction would cost you 19k satoshis, leaving you with 1k satoshis and the recipient receiving the 9k satoshis.
natoshisakamoto (OP)
Newbie
*
Offline Offline

Activity: 28
Merit: 0


View Profile WWW
March 15, 2014, 05:22:01 AM
 #9

Ok, I'm understanding better now. Thanks guys.

For amounts under 5300 Satoshis, if you want to transmit them (perhaps to convey data, as opposed to monetary value), you'll need "carrier Bitcoin" for them to ride along with, and then the recipient would send the "carrier Bitcoin" back.

So, you could do something like: A sends .001 000 01 to B, and then B sends .001 back to A, which would effectively transmit one satoshi to B.

BUT, during the process, person A and B have also lost 10,000 satoshis due to the fee, which is 20,000x the amount transmitted obviously, but since it was more of a "data transaction" than a "value transaction," they don't mind.

A lot of thinking just to find a way to do my exponential coin experiment, but it's helping me understand Bitcoin better, so I've got that going for me...

Regarding this 5300 Satoshi limit, where is the official Bitcoin "bible" where rules like that are kept, in moments when you need to check the official protocol to understand some of the finer points of how Bitcoin works?
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
March 15, 2014, 05:25:29 AM
 #10

It is 5430 satoshis not 5300.  Also tx with outputs less than that are allowed they are just non-standard.  If you can find a miner (or yourself) willing to include it in the next block you could send 1 satoshi with no fee.
E.exchanger
Hero Member
*****
Offline Offline

Activity: 714
Merit: 500


NEED CRYPTO CODER? COIN DEVELOPER? PM US FOR HELP!


View Profile
March 15, 2014, 05:26:52 AM
 #11

I hope that you got your answers and suggest you to lock this thread now and always prefer to google and search  the forum before making a new thread !!! Good luck Smiley
grifferz
Full Member
***
Offline Offline

Activity: 154
Merit: 100


View Profile
March 15, 2014, 05:30:16 AM
 #12

Apologies for the 5430 vs 5300 error. You get the idea however.

Regarding this 5300 Satoshi limit, where is the official Bitcoin "bible" where rules like that are kept, in moments when you need to check the official protocol to understand some of the finer points of how Bitcoin works?
I believe it is at the moment just consensus, the 5430 driven by decisions made in the reference client bitcoin-qt, and the 0.0001 based on what most miners will accept. These values are not part of the protocol.
Sindelar1938
Hero Member
*****
Offline Offline

Activity: 490
Merit: 500


View Profile
March 15, 2014, 06:06:42 AM
 #13

Net of Tx fees, yes

ning
Full Member
***
Offline Offline

Activity: 173
Merit: 100



View Profile
March 16, 2014, 10:54:51 AM
 #14

Sending coins roughly involves three steps:

1) Constructing a transaction;
2) Broadcasting the transaction to the network (other nodes);
3) Having the transaction included into the blockchain by a miner;

We can use "Bitcoin-Qt > Help > Debug window > Console" to complete step 1) and 2) of sending one Satoshi. But whether step 3) can be completed is up to the miners.
DannyHamilton
Legendary
*
Offline Offline

Activity: 3388
Merit: 4615



View Profile
March 16, 2014, 04:10:13 PM
 #15

Regarding this 5300 Satoshi limit, where is the official Bitcoin "bible" where rules like that are kept, in moments when you need to check the official protocol to understand some of the finer points of how Bitcoin works?

Here:
https://github.com/bitcoin/bitcoin

For amounts under 5300 Satoshis, if you want to transmit them (perhaps to convey data, as opposed to monetary value), you'll need "carrier Bitcoin" for them to ride along with, and then the recipient would send the "carrier Bitcoin" back.

So, you could do something like: A sends .001 000 01 to B, and then B sends .001 back to A, which would effectively transmit one satoshi to B.

BUT, during the process, person A and B have also lost 10,000 satoshis due to the fee, which is 20,000x the amount transmitted obviously, but since it was more of a "data transaction" than a "value transaction," they don't mind.

Depending on how much each wallet has to start with, this process might not work.

As an example, if wallet B is empty to start with, they will receive a single unspent output valued at 0.00100001 BTC (so far so good).

Then B will attempt to send 0.001 BTC back to A.  Unfortunately, B will run into 2 problems:

  • B doesn't have enough bitcoins to pay the 0.0001 BTC transaction fee
  • B will have to generate a transaction that has a single input of 0.00100001 BTC, the transaction will have to have 2 outputs.  One output sending 0.001 BTC to A, and a second output sending the 0.00000001 BTC change back to his own wallet.  Unfortunately the 0.00000001 BTC output is non-standard, so the transaction won't be relayed by any peers
ns12123
Newbie
*
Offline Offline

Activity: 14
Merit: 0


View Profile
March 16, 2014, 04:21:37 PM
 #16

There is no point sending so small amount, i think that all new versions of software will not allow you to send or even receive so small amount , so do not even try to send it, because if the user you are sending to have newer version he/she will not receive anything.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1079


Gerald Davis


View Profile
March 16, 2014, 04:26:57 PM
 #17

Sending coins roughly involves three steps:

1) Constructing a transaction;
2) Broadcasting the transaction to the network (other nodes);
3) Having the transaction included into the blockchain by a miner;

We can use "Bitcoin-Qt > Help > Debug window > Console" to complete step 1) and 2) of sending one Satoshi. But whether step 3) can be completed is up to the miners.

That isn't exactly true.

Most clients (QT client included) will prevent you from creating a tx that the client itself will not relay.  This is done to protect users from having "stuck txs".  So by default the QT client will not allow you to do #1.  Now #1 isn't part of the protocol.  It is just a client side check to prevent you from doing something stupid.   It can be easily removed from the source code and recompiled.

However #2 isn't as easy.  All nodes have rules on which tx they will relay.  This is a anti DOS mechanism.  Low priority tx w/o fee will be dropped not relayed by any QT client.  Most other clients follow the same (or similar) rules.  So while you can get past #1 by modifying your client you can't control what other nodes do.   It is very likely that all of your peers will simply drop your non-standard tx.  #2 can be bypassed if you can connect to a miner directly of course as you point out nobody can force a miner to include a tx and there is no reason for a miner to include a non-standard no fee tx when there are waiting paying (and high priority no-fee) txs.
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!