Fatman3001
Legendary
Offline
Activity: 1526
Merit: 1013
Make Bitcoin glow with ENIAC
|
|
March 07, 2016, 01:48:47 PM |
|
... So?!... My point is: giving more space to spammers doesn't solve anything and just gives spammers incentives to spam more. What is your point?
>giving more space to spammers doesn't solve anything Sure it does. If 20 people legitimately need to get to work by bus, and your bus is a BMW Isetta, people aren't going to get to work. Simple as that. >gives spammers incentives to spam more No. That's stupid. Currently, riding around, maliciously and, otherwise, aimlessly, on the Isatta bus costs $0.03. How would making the bus bigger (20 seats) be an incentive to ride aimlessly? wouldn't the little shit have to spend $0.03 x 19 to accomplish what $0.03 did on the Isetta bus? 1MB 2MB
|
|
|
|
AlexGR
Legendary
Offline
Activity: 1708
Merit: 1049
|
|
March 07, 2016, 01:49:11 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Apparently satoshi did take it seriously and had planned the fee mechanism as a countermeasure. I admire the flexibility of the scripts-in-a-transaction scheme, but my evil little mind immediately starts to think of ways I might abuse it. I could encode all sorts of interesting information in the TxOut script, and if non-hacked clients validated-and-then-ignored those transactions it would be a useful covert broadcast communication channel.
That's a cool feature until it gets popular and somebody decides it would be fun to flood the payment network with millions of transactions to transfer the latest Lady Gaga video to all their friends...
That's one of the reasons for transaction fees. There are other things we can do if necessary. Obviously, fees won't work as a countermeasure for spam if they are too low. The whole point is to disincentivize the attacker. If the attacker doesn't feel sufficient pain he can easily proceed with the attack. Giving the attacker more space to conduct the attack, instead of more fee pressure, will simply amplify the attack and reduce the attackers cost. The fee pressure might originate from either blocksize scarcity, miners setting a higher fee limit to what they process and/or devs setting higher default recommendations (or even network enforced fees - as long as the miners run the code).
|
|
|
|
ahpku
|
|
March 07, 2016, 01:52:27 PM |
|
... Now I might be dumb, but it means current network can't handle 300 000 users daily. So now explain me how network can scale?
I'll field this one. Core has a multipronged approach to scaling. The first step is SegWit, which will effectively quintuple the blocksize. As if that wasn't enough, having SegWit in place allows for the implementation of Lightning Network, with virtually unlimited number of prepaid transactions as long as said transactions are between the same two people!
|
|
|
|
Ibian
Legendary
Offline
Activity: 2268
Merit: 1278
|
|
March 07, 2016, 01:56:03 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Apparently satoshi did take it seriously and had planned the fee mechanism as a countermeasure. I admire the flexibility of the scripts-in-a-transaction scheme, but my evil little mind immediately starts to think of ways I might abuse it. I could encode all sorts of interesting information in the TxOut script, and if non-hacked clients validated-and-then-ignored those transactions it would be a useful covert broadcast communication channel.
That's a cool feature until it gets popular and somebody decides it would be fun to flood the payment network with millions of transactions to transfer the latest Lady Gaga video to all their friends...
That's one of the reasons for transaction fees. There are other things we can do if necessary. Obviously, fees won't work as a countermeasure for spam if they are too low. The whole point is to disincentivize the attacker. If the attacker doesn't feel sufficient pain he can easily proceed with the attack. Giving the attacker more space to conduct the attack, instead of more fee pressure, will simply amplify the attack and reduce the attackers cost. The fee pressure might originate from either blocksize scarcity, miners setting a higher fee limit to what they process and/or devs setting higher default recommendations (or even network enforced fees - as long as the miners run the code). Your definition is bunk. We can't cryptographically verify intent for any given transaction, and until that becomes possible you will have to come up with something better. Fees are in place and your worries are unfounded. If we ever get so many transactions that the network can't process them miners will focus on the ones with highest fees first, which will give spam attacks diminishing returns as their volume increase. And if a malicious attacker is willing to pay so high fees that his transactions rise to the top of the pile, then he has paid for that privilege. This is how a free market works.
|
|
|
|
ChartBuddy
Legendary
Offline
Activity: 2352
Merit: 1803
1CBuddyxy4FerT3hzMmi1Jz48ESzRw1ZzZ
|
|
March 07, 2016, 02:00:36 PM |
|
|
|
|
|
mainpmf
|
|
March 07, 2016, 02:03:21 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Isn't there a way to measure the number of very low fees txs? Maybe spam are a great part of network pressure bu best would be to check it, I suppose somebody must have done it no?
|
|
|
|
ahpku
|
|
March 07, 2016, 02:07:07 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? It's a wonderful thing to try, even if you never plan to do it for fun or profit. It's, in a way of speaking, explaining complex things to a machine, a machine which, though capable of being quick and consistent, doesn't know its ass from its elbow without you telling it, procedurally, how to do it. Step by step. This will prepare you for future interhuman interactions, like the one I'm having with you. Bitcoin is not sentient, it makes no value judgements beyond truth values of variable, so telling Bitcoin "spam is the stuff we don't want, get rid of it" will only result in "Brrp! bleep bloop X=42." Please tell me you understand, and that I don't need to resort to lower, register-level explanations.
|
|
|
|
AlexGR
Legendary
Offline
Activity: 1708
Merit: 1049
|
|
March 07, 2016, 02:11:36 PM |
|
Your definition is bunk. We can't cryptographically verify intent for any given transaction, and until that becomes possible you will have to come up with something better. You asked me about my definition of spam, not how we can limit it by using code. Fees are in place and your worries are unfounded. If we ever get so many transactions that the network can't process them miners will focus on the ones with highest fees first, which will give spam attacks diminishing returns as their volume increase.
I've been dealing with spam and dos since the mid-90s. I know pretty well when my worries are founded or not and when assurances are crap. We disagree on the importance of the network to process as many transactions as it can - unconditionally (whether they are spam or not). The creator of the system didn't make the system to get abused and destroyed by spam. I also disagree with the idea that other people have on what constitutes "growth", like if we make 10mb blocks and fill them tomorrow morning with crap, that it would "mean" that "bitcoin is somehow being used at 10x rate", which would in turn "mean" it's "network effect is better" and thus price should increase. This is bullshit. Spam isn't growth. Like hitting the reload in a web page 100.000 times isn't "page traffic" (compared to unique views). I would definitely like the network to be able to process as many txs as it can, but only by paying some serious fee as not to have the system abused. That's the only rational thing to do. Unfortunately, the political situation and animosity is such that I doubt core devs have the ability to propose fee increases to deal with spam. Perhaps they could create 2-3-5 block increase proposals that could go like that: 2mb effective blocks with unchanged fee structure 3mb effective blocks with min fee X 4mb effective blocks with min fee X+y% 5mb effective blocks with min fee X+z%. ...or something like it.
|
|
|
|
mainpmf
|
|
March 07, 2016, 02:15:58 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? It's a wonderful thing to try, even if you never plan to do it for fun or profit. It's, in a way of speaking, explaining complex things to a machine, a machine which, though capable of being quick and consistent, doesn't know its ass from its elbow without you telling it, procedurally, how to do it. Step by step. This will prepare you for future interhuman interactions, like the one I'm having with you. Bitcoin is not sentient, it makes no value judgements beyond truth values of variable, so telling Bitcoin "spam is the stuff we don't want, get rid of it" will only result in "Brrp! bleep bloop X=42." Please tell me you understand, and that I don't need to resort to lower, register-level explanations.Because there is a lower level? xD Anyway it's easy to considerate spam. We could pu a low minimum fee. Say anything under 0.0001 btc fee is spam. Seems good no? It means it would cost people more money to spam.
|
|
|
|
AlexGR
Legendary
Offline
Activity: 1708
Merit: 1049
|
|
March 07, 2016, 02:24:37 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? ... Please tell me you understand, and that I don't need to resort to lower, register-level explanations. Yes, I have. Starting with zx spectrum basic in the 80s and leading to assembly on PCs in the 90s. However trying to understand the intent by code is unnecessary. You can see it and patch it in some cases (like dust movement), but it can be fooled with larger amounts. Anyway, the primary way to deal with the issue is simple: Fees. That's what all altcoins do when they get attacked. Raise fees. That's what the practice shows. The miners will typically transact anything that comes their way because they follow the system's rules. If the system hasn't the proper disincentives in place, in a way, it's not their fault.
|
|
|
|
ahpku
|
|
March 07, 2016, 02:25:28 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? It's a wonderful thing to try, even if you never plan to do it for fun or profit. It's, in a way of speaking, explaining complex things to a machine, a machine which, though capable of being quick and consistent, doesn't know its ass from its elbow without you telling it, procedurally, how to do it. Step by step. This will prepare you for future interhuman interactions, like the one I'm having with you. Bitcoin is not sentient, it makes no value judgements beyond truth values of variable, so telling Bitcoin "spam is the stuff we don't want, get rid of it" will only result in "Brrp! bleep bloop X=42." Please tell me you understand, and that I don't need to resort to lower, register-level explanations.Because there is a lower level? xD Anyway it's easy to considerate spam. We could pu a low minimum fee. Say anything under 0.0001 btc fee is spam. Seems good no? It means it would cost people more money to spam. I don't have a problem with introducing minimal fees, and no problem with defining spam as "any tx with less than X sat/kb." I'm good with that, though neither Classic or Core have this option on the table. Can you guess why? Once we define spam, we have a starting point, we can discuss why/why not the definition is acceptable to us & likely consequences of filtering those tx. Instead of being stuck in this lockgroove.
|
|
|
|
ahpku
|
|
March 07, 2016, 02:35:32 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? ... Please tell me you understand, and that I don't need to resort to lower, register-level explanations. Yes, I have. Starting with zx spectrum basic in the 80s and leading to assembly on PCs in the 90s. However trying to understand the intent by code is unnecessary. What does that mean? Before you can codify, before you can start coding, *you must have a clear understanding what it is that you wish your code to do,* hence my X=42 ("Answer to the Ultimate Question of Life, the Universe, and Everything", calculated by Deep Thought over a period of 7.5 million years.) Your definition of spam is, effectively "things that I believe are useless and/or malicious." Unless you're thinking of doing a mind meld with Bitcoin, it's not a useful definition. It doesn't meet the "necessary and sufficient" criteria. It's not even enlightening. It's nothing
|
|
|
|
mainpmf
|
|
March 07, 2016, 02:35:50 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? It's a wonderful thing to try, even if you never plan to do it for fun or profit. It's, in a way of speaking, explaining complex things to a machine, a machine which, though capable of being quick and consistent, doesn't know its ass from its elbow without you telling it, procedurally, how to do it. Step by step. This will prepare you for future interhuman interactions, like the one I'm having with you. Bitcoin is not sentient, it makes no value judgements beyond truth values of variable, so telling Bitcoin "spam is the stuff we don't want, get rid of it" will only result in "Brrp! bleep bloop X=42." Please tell me you understand, and that I don't need to resort to lower, register-level explanations.Because there is a lower level? xD Anyway it's easy to considerate spam. We could pu a low minimum fee. Say anything under 0.0001 btc fee is spam. Seems good no? It means it would cost people more money to spam. I don't have a problem with introducing minimal fees, and no problem with defining spam as "any tx with less than X sat/kb." I'm good with that, though neither Classic or Core have this option on the table. Can you guess why? Once we define spam, we have a starting point, we can discuss why/why not the definition is acceptable to us & likely consequences of filtering those tx. Instead of being stuck in this lockgroove. So you're implying bot Classic and Core have interest in letting the users stuck in their shit? Because that seems rather obvious to me that the answer to spam attack is to decrete spam anything lower than X btc fee. It'll make every miners include as many txs as possible and will clear the mempool quickly.
|
|
|
|
AlexGR
Legendary
Offline
Activity: 1708
Merit: 1049
|
|
March 07, 2016, 02:43:08 PM |
|
What does that mean?
It means you only need to work with economic disincentives for those who are serious in transacting versus script kiddies. One man making one-five-ten transactions with, say, a 0.08$ fee won't go "bust" by paying these low fees. One man that doesn't really want to transact, but has the intention to spam the system with, say, 1 million transactions => that would be another issue altogether because he'd be required to pay a minimum of 80.000$. It would harm his wallet so to speak. Still, you have large actors that could pay the 80.000$, or 8mn$, or 80mn$, but at least you got rid of the script kiddies.
|
|
|
|
becoin
Legendary
Offline
Activity: 3431
Merit: 1233
|
|
March 07, 2016, 02:46:24 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? It's a wonderful thing to try, even if you never plan to do it for fun or profit. It's, in a way of speaking, explaining complex things to a machine, a machine which, though capable of being quick and consistent, doesn't know its ass from its elbow without you telling it, procedurally, how to do it. Step by step. This will prepare you for future interhuman interactions, like the one I'm having with you. Bitcoin is not sentient, it makes no value judgements beyond truth values of variable, so telling Bitcoin "spam is the stuff we don't want, get rid of it" will only result in "Brrp! bleep bloop X=42." Please tell me you understand, and that I don't need to resort to lower, register-level explanations. blah-blah-blah... There is no need to programmatically define spam. 'It's the economy, stupid!'
|
|
|
|
rebuilder
Legendary
Offline
Activity: 1615
Merit: 1000
|
|
March 07, 2016, 02:47:16 PM |
|
re: spam, I fail to see what the problem is, unless you think miners would willingly process more tx than they can actually handle. Let the people who have to deal with the costs decide what criteria they want tx to meet. If that means "spam" by anyone else's definition gets through, then it's probably not much of a problem.
|
|
|
|
Dotto
Legendary
Offline
Activity: 981
Merit: 1005
No maps for these territories
|
|
March 07, 2016, 02:47:31 PM |
|
|
|
|
|
ahpku
|
|
March 07, 2016, 02:54:59 PM |
|
But let us find out. How do you define spam, and why should anyone take that definition seriously?
My definition of spam is when someone doesn't transact because they want to make an economic transaction, but rather to do something else, like filling blocks with crap or bloating the blockchain. Alex, have you ever written any code? It's a wonderful thing to try, even if you never plan to do it for fun or profit. It's, in a way of speaking, explaining complex things to a machine, a machine which, though capable of being quick and consistent, doesn't know its ass from its elbow without you telling it, procedurally, how to do it. Step by step. This will prepare you for future interhuman interactions, like the one I'm having with you. Bitcoin is not sentient, it makes no value judgements beyond truth values of variable, so telling Bitcoin "spam is the stuff we don't want, get rid of it" will only result in "Brrp! bleep bloop X=42." Please tell me you understand, and that I don't need to resort to lower, register-level explanations.Because there is a lower level? xD Anyway it's easy to considerate spam. We could pu a low minimum fee. Say anything under 0.0001 btc fee is spam. Seems good no? It means it would cost people more money to spam. I don't have a problem with introducing minimal fees, and no problem with defining spam as "any tx with less than X sat/kb." I'm good with that, though neither Classic or Core have this option on the table. Can you guess why? Once we define spam, we have a starting point, we can discuss why/why not the definition is acceptable to us & likely consequences of filtering those tx. Instead of being stuck in this lockgroove. So you're implying bot Classic and Core have interest in letting the users stuck in their shit? Because that seems rather obvious to me that the answer to spam attack is to decrete spam anything lower than X btc fee. It'll make every miners include as many txs as possible and will clear the mempool quickly. I'm implying that introducing mandatory fees is seen by many as heresy, a striation cult at best. "I know that, whatsoever Satoshi doeth, it shall be for ever: nothing can be put to it, nor any thing taken from it" (the previous min. fee were merely 'suggestions,' not part of the protocol). The *need* to introduce nontrivial minimal fees highlights the flaws of presuming a naturally-developing fee market.If free market doesn't lead to fee market, and we need to change the protocol, the sacred writings of our Prophet are wrong. And if wrong once... But about fees & spam: Miners, according to "rational self-interest" argument, are sufficiently incentivized by "thou shalt not shit where thee sleepeth" commandment. They should not debase bitcoin by bloating the blockchain, thus devaluing their rewards. Caveat: They sell BTC for USD -- their wealth is not in BTC, so that's why. So pushing for min fees brings attention to some serious shit, so not to be done.
|
|
|
|
ChartBuddy
Legendary
Offline
Activity: 2352
Merit: 1803
1CBuddyxy4FerT3hzMmi1Jz48ESzRw1ZzZ
|
|
March 07, 2016, 03:00:35 PM |
|
|
|
|
|
ahpku
|
|
March 07, 2016, 03:15:23 PM Last edit: March 07, 2016, 03:49:06 PM by ahpku |
|
Sorry, missed this: What does ["However trying to understand the intent by code is unnecessary."] mean?
It means you only need to work with economic disincentives for those who are serious in transacting versus script kiddies. One man making one-five-ten transactions with, say, a 0.08$ fee won't go "bust" by paying these low fees. There you go again I agree with you that bad things are bad. Is your definition of spam "tx X is spam if X contains < 0.08$ tx fee?" That's just an example of a useful definition, what one might look like, because, sometimes, examples help. Edit: So let's go with the < 8c definition, for giggles. What would you like to see happen? Change in the protocol, so nodes running it would shitcan all tx < 0.08$ tx fee? What do you think is preventing Core from implementing 8c min tx fee? 1. Lazy? 2. Haven't thought of it? 3. ? ? ? Is it in the miners' rational self-interest to include < 0.08$ transactions now? 1. If not, why? 1a. how would raising the blocksize limit change this? 1b. how would lowering the blocksize limit change this? 2. What incentivized miners to include zero-fee tx in the past? 2a. What changed?
|
|
|
|
|