Bitcoin Forum
November 16, 2024, 09:43:42 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: FluxCrypt – Fee Reduction Service  (Read 180 times)
FluxCrypt (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 7


View Profile
November 30, 2020, 04:10:57 AM
Merited by o_e_l_e_o (2), bitmover (1)
 #1

FluxCrypt – Fee Reduction Service

https://bitcoinops.org/en/scaling/payment-batching/img/p2wpkh-batching-best-case.png

If you’re making one transaction per month or year it’s not for you.
But those who already tried to use Bitcoin as currency found how much money they additionally spend for small transactions.

TL;NR
Payment batching allows to save up to 80% on Bitcoin transaction fees.
The more often you use, the more you save.

https://bitcoinops.org/en/scaling/payment-batching/img/p2wpkh-batching-after-consolidation.png


FluxCrypt
Our service offers 3 options of usage:
Max economy – transaction will be processed with max possible fee reduction (customer not expecting immediate payment), value dynamically adapts based by daily volume
Scheduled transactions – customer selects time window, and reduction will be based on grouping with other payments matching this time frame
Immediate – if you need immediate payment, reduction not guaranteed, but based on the payments with same type or time frame


As service efficiency depends on transactions amount, we need to ensure transactions flow.
We are not going to launch unless we know demand and can make initial adjustments for batching thresholds, so we’re asking you to register on our website to show your interest.
All register users will receive launch notification as we’ll reach minimal users amount.


For more technical details on payment batching we advise you these two articles:
https://blog.coinbase.com/reflections-on-bitcoin-transaction-batching-b13dad12a12
https://bitcoinops.org/en/scaling/payment-batching/

Any suggestions, improvements are welcome.
Feel free to contact me if you like the idea of our project and you want to support / help with promotion .
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18747


View Profile
November 30, 2020, 11:29:58 AM
Merited by bitmover (1)
 #2

It's an interesting idea, but I'm going to need some more information on how you will implement it.

Is it going to be a custodial service, where I have to hold my coins on your platform, and you will create batched transactions as and when required? Or is it going to more like coinjoin, where I can hold my coins myself and set up a combined transaction with other users?
Either way, how will you protect my privacy?
What will your fee be, and how will you collect it?
bitmover
Legendary
*
Offline Offline

Activity: 2492
Merit: 6321


bitcoindata.science


View Profile WWW
November 30, 2020, 06:46:29 PM
 #3

It's an interesting idea, but I'm going to need some more information on how you will implement it.

I am interested to know as well.

Personally, I don't see how can this really reduce fees.

Adding inputs makes the transaction more expensive, and tehre is no economy if you add lots of inputs.

There might be some reduction because the person who control the transaction knows how to estimate a good fee looking at the mempool.

But, is it worth giving your private keys and your privacy to someone else just because he knows how to estimate a good fee?

Most of the wallets out there (and third party services) have a terrible fee estimate. All of them overestimate fees. It is easy for someone who knows that he is doing to save on fees, compared to fee estimators.

But it is easier just to educate people.

o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18747


View Profile
November 30, 2020, 07:18:31 PM
 #4

Personally, I don't see how can this really reduce fees.
If you hold your own coins and set up a joint transaction with other users, then combining transactions with them will create the exact same number of total inputs and outputs than if you had all broadcasted your transaction separately, and so as you say, any reduction in size is going to be in the order of a couple of vbytes, and therefore will make no meaningful different to the fee.

The only way I can see this reducing fees is if OP sets up a custodial wallet, sweeps and consolidates all deposits in to a couple of large UTXOs, and then batches all withdrawals from these UTXOs, thereby reducing the number of inputs in to each withdrawal transaction down to one. But the reduction in fees gained from doing this does not warrant the risk of leaving all your coins with a third party custodial, in my opinion.

If someone is making a lot of transactions each day, then there is no reason they can't just batch their own transactions to achieve the same fee savings as they would by using this service.
FluxCrypt (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 7


View Profile
November 30, 2020, 07:54:02 PM
 #5

It's an interesting idea, but I'm going to need some more information on how you will implement it.

I am interested to know as well.

Thanks for your interest!

So, we play around 3 things: wallet management, privacy and transaction optimization.
Optimized transaction (best case) = one input + many outputs
Optimized transaction = high economy

For better understanding, let’s imaging you’re going out and taking a hundred bucks for pocket expenses, you know you gonna buy a lot of small thing today
You don’t want to take your nano-ledger out of strongbox for buying an ice-cream and Starbucks coffee
So, our service giving you “a pocket” for regular expenses with discount or cashback as bonus   Cheesy

1 way of usage:
Batching Box (our internal name)
Batching Box purpose is to consolidate inputs to achieve the best-case efficiency
Batching Box has time window and volume parameters
Parameters and Batch Box’s amount are dynamically adjusted to match current service load (for example, to not let somebody wait for too long till reach best case)
User receive batching box address to put coins on, this amount became user’s balance
When making payment, the transaction is performed from a random matching batching box and the user receives a transaction which he can share with the recipient
This means, there is no link between your account, your initial batching box and transaction.

If customer wants to withdraw, everything is same, he receive coins from random batching box.

High economy, high privacy, but some users may dislike feeling of “not having a wallet”.


2 way of usage:
Personal Wallet (two-steps procedure)
You’re getting a wallet address and a private key that can be imported
When you perform a transaction there are two steps:
1) Wallet -> batching box slow transaction (low-fee rate) to consolidate inputs
2) One-to-many optimized transaction from batching box (another) to recipients

Still high privacy, less economy, but still better (cheaper and/or faster) then single transaction and giving user a control of his wallet  

What will your fee be, and how will you collect it?
There is still a market niche for such types of solutions, and the goal is to take the place, so there will be no fee for using a service for beginning. Afterwards, most likely, it will be just small percent of the economy of large transactions.

If someone is making a lot of transactions each day, then there is no reason they can't just batch their own transactions to achieve the same fee savings as they would by using this service.
Yes, the idea of service to gather these people who don’t  Smiley
And yes, if you know all your planned transactions beforehand, you can save ~75% having 25 payments combined.
bitmover
Legendary
*
Offline Offline

Activity: 2492
Merit: 6321


bitcoindata.science


View Profile WWW
November 30, 2020, 08:12:32 PM
 #6

...

So you are basically holding the users private keys and sending bitcoin in their names back and forth.

Even your second option you will send the private key to the users. This is very dangerous for 2 reasons:
1- A hacker may intercept your message to your client. (even if it is a web client, such as blockchain.info wallet)
2- You can still spend your client funds (I am not accusing you, just saying it is possible)

There is a huge risk in using your service. I think you should think about creating an alternative to let the users hold their own private keys without you knowing them.

FluxCrypt (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 7


View Profile
November 30, 2020, 08:36:37 PM
Merited by bitmover (1)
 #7

So you are basically holding the users private keys and sending bitcoin in their names back and forth.

Even your second option you will send the private key to the users. This is very dangerous for 2 reasons:
1- A hacker may intercept your message to your client. (even if it is a web client, such as blockchain.info wallet)
2- You can still spend your client funds (I am not accusing you, just saying it is possible)

There is a huge risk in using your service. I think you should think about creating an alternative to let the users hold their own private keys without you knowing them.

Thank you for participation in discussion! That's exactly why I posted it in the development section.
You're totally right, especially about those vulnerabilities, that they are applieble almost for any web project.
But, do you see the technical problem here? If a user sends from his own wallet, he makes 1 to 1 transaction with full-size fee, and if we share control - we can batch even these "wallet-to-box" transactions, otherwise there is no sense in fee reduction, you already paid full-size fee.
So yes, it's about sharing control, which means even if the site is down, the user can manipulate his wallet.

But I can see your point, especially when you think about funds, investments, but here is the difference. You usually make one 'pricey' transaction and that's all. And the purpose of the service to deal with issues that appears when you do regular transactions on daily basis
bitmover
Legendary
*
Offline Offline

Activity: 2492
Merit: 6321


bitcoindata.science


View Profile WWW
November 30, 2020, 08:46:37 PM
 #8

But, do you see the technical problem here? If a user sends from his own wallet, he makes 1 to 1 transaction with full-size fee, and if we share control - we can batch even these "wallet-to-box" transactions, otherwise there is no sense in fee reduction, you already paid full-size fee.
So yes, it's about sharing control, which means even if the site is down, the user can manipulate his wallet.

But I can see your point, especially when you think about funds, investments, but here is the difference. You usually make one 'pricey' transaction and that's all. And the purpose of the service to deal with issues that appears when you do regular transactions on daily basis

I agree with you. If the user already paid for the tx , there is no reduction.

But how will you batch the transactions and group them if they didnt send you in the first place(and paid the full fee)?
Will you be working with fiat?

I agree that we can live with some vulnerabilities in a web service. After all, if a user is sending 10k usd he can pay 2usd in fees. But for small transactions (which don't need high level security) we can use a web service with some vulnerabilities

FluxCrypt (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 7


View Profile
November 30, 2020, 10:50:08 PM
Last edit: November 30, 2020, 11:01:08 PM by FluxCrypt
Merited by The Sceptical Chymist (3)
 #9

After all, if a user is sending 10k usd he can pay 2usd in fees. But for small transactions (which don't need high level security) we can use a web service with some vulnerabilities
Yeah, exactly, especially if they provide us opportunities unavailable before

Will you be working with fiat?
Do you mean add exchange feature? Maybe one day, definitely it will not be the first priority feature, KYC, AML, etc., a lot of headache.

But how will you batch the transactions and group them if they didnt send you in the first place(and paid the full fee)?
You are asking about 2nd option, right?

Customer has 20,000 USD balance somewhere, he decides he can spend 400 this month for small purchases
He sends 400 to his wallet on service paying regular fee ($3.5 current fee on blockchain.com)
Let's imagine he will make 20 x $20 purchases

As he decided to use personal wallet feature, each purchase will consist of 2 steps
1) Wallet -> Batching Box transaction (very slow, very low fee transaction, batched with other users that making transactions in same time) (with 12 sat/byte - $0.44)
2) Batching Box -> Recipients (regular speed) ($3.5 * (100 - 72.5%) ~= $0.96)

So every purchase fee becomes few times cheaper, keeping the same speed.

Total fees = 3.5 + 20*(0.44 + 0.96) = $31.5
Comparing to 3.5*20 = $70
Economy is 55%


If custom fully trust coins storage to the server:
Total fees = 3.5 + 20*0.96 = $22.7
Comparing to 3.5*20 = $70
Economy is 67.5%


bitmover
Legendary
*
Offline Offline

Activity: 2492
Merit: 6321


bitcoindata.science


View Profile WWW
November 30, 2020, 11:09:09 PM
 #10

But how will you batch the transactions and group them if they didnt send you in the first place(and paid the full fee)?
You are asking about 2nd option, right?

Customer has 20,000 USD balance somewhere, he decides he can spend 400 this month for small purchases
He sends 400 to his wallet on service paying regular fee ($3.5 current fee on blockchain.com)
Let's imagine he will make 20 x $20 purchases

As he decided to use personal wallet feature, each purchase will consist of 2 steps
1) Wallet -> Batching Box transaction (very slow, very low fee transaction, batched with other users that making transactions in same time) (with 12 sat/byte - $0.44)
2) Batching Box -> Recipients (regular speed) ($3.5 * (100 - 72.5%) ~= $0.96)

So every purchase fee becomes few times cheaper, keeping the same speed.

Total fees = 3.5 + 20*(0.44 + 0.96) = $31.5
Comparing to 3.5*20 = $70
Economy is 55%


If custom fully trust coins storage to the server:
Total fees = 3.5 + 20*0.96 = $22.7
Comparing to 3.5*20 = $70
Economy is 67.5%

I understand now what your service does.
You are basically consolidating small inputs and sending all together. It can be useful for newcomers which doesn't know how to work exactly with transactions and choose an appropriate fee.

Interesting. That can work. For me the problem would be to keep high values at custody.

Tell us when your website is ready. I visited it but you didn't release it yet.

I will share with you a tool that I made to calculate transaction fees, maybe it will be of your interest. You can add the number of inputs/outputs, address format, etc and you will see the tx size and total fees that would be spent (and where would it be in the mempool)

FluxCrypt (OP)
Newbie
*
Offline Offline

Activity: 11
Merit: 7


View Profile
December 01, 2020, 12:14:37 AM
 #11

Tell us when your website is ready. I visited it but you didn't release it yet.
Yeah, the backend part is mostly done, I would even say it's done. Meanwhile working with frontend we want to estimate demand of service, so we are asking to register before launch.

If we open a website right now, imagine, the user registers on a service to get lower fees, and can’t get it because there are 2 transactions per day.
I guess 'coming soon' is more suitable than a working site with impossibility to use by destination, while we gather people together.
o_e_l_e_o
In memoriam
Legendary
*
Offline Offline

Activity: 2268
Merit: 18747


View Profile
December 01, 2020, 11:02:17 AM
 #12

So users can fund the "batching box" well in advance (perhaps when fees are low), and then payments can be made at a later date from the batching box? Presumably I don't need to spend all my funds from the batching box at once, so I could fund it with 0.1 BTC (for example), and then make a number of smaller payments over the coming weeks?

My next question is what wallets and security are you using to ensure the safety of coins deposited in your wallets or batching box?
The Sceptical Chymist
Legendary
*
Offline Offline

Activity: 3528
Merit: 6990


Top Crypto Casino


View Profile
December 01, 2020, 05:13:45 PM
 #13

My next question is what wallets and security are you using to ensure the safety of coins deposited in your wallets or batching box?
Damn good question in addition to all of the other ones regarding the trust factor.

I would definitely not use a service like this, but that's just me.  If OP is honest in his dealings with people and if his system works, I wish him all the best.  We need some sort of fee reduction system, especially at times like this when my Electrum wallet is suggesting something like 125sats/b as a reasonable fee.  So I wish you luck, OP.  At least you're trying to develop a method to save people some money on fees and I give you props for that.

███████████████████████
████▐██▄█████████████████
████▐██████▄▄▄███████████
████▐████▄█████▄▄████████
████▐█████▀▀▀▀▀███▄██████
████▐███▀████████████████
████▐█████████▄█████▌████
████▐██▌█████▀██████▌████
████▐██████████▀████▌████
█████▀███▄█████▄███▀█████
███████▀█████████▀███████
██████████▀███▀██████████

███████████████████████
.
BC.GAME
▄▄▀▀▀▀▀▀▀▄▄
▄▀▀░▄██▀░▀██▄░▀▀▄
▄▀░▐▀▄░▀░░▀░░▀░▄▀▌░▀▄
▄▀▄█▐░▀▄▀▀▀▀▀▄▀░▌█▄▀▄
▄▀░▀░░█░▄███████▄░█░░▀░▀▄
█░█░▀░█████████████░▀░█░█
█░██░▀█▀▀█▄▄█▀▀█▀░██░█
█░█▀██░█▀▀██▀▀█░██▀█░█
▀▄▀██░░░▀▀▄▌▐▄▀▀░░░██▀▄▀
▀▄▀██░░▄░▀▄█▄▀░▄░░██▀▄▀
▀▄░▀█░▄▄▄░▀░▄▄▄░█▀░▄▀
▀▄▄▀▀███▄███▀▀▄▄▀
██████▄▄▄▄▄▄▄██████
.
..CASINO....SPORTS....RACING..


▄▄████▄▄
▄███▀▀███▄
██████████
▀███▄░▄██▀
▄▄████▄▄░▀█▀▄██▀▄▄████▄▄
▄███▀▀▀████▄▄██▀▄███▀▀███▄
███████▄▄▀▀████▄▄▀▀███████
▀███▄▄███▀░░░▀▀████▄▄▄███▀
▀▀████▀▀████████▀▀████▀▀
bitmover
Legendary
*
Offline Offline

Activity: 2492
Merit: 6321


bitcoindata.science


View Profile WWW
December 01, 2020, 05:17:20 PM
 #14

We need some sort of fee reduction system, especially at times like this when my Electrum wallet is suggesting something like 125sats/b as a reasonable fee.  So I wish you luck, OP.  At least you're trying to develop a method to save people some money on fees and I give you props for that.

Electrum has a terrible fee estimator. It overestimate fees, like all others.
I talked about it here .

I recently discovered that the mempool was completely empty and you could get a 1 sat/byte confirmation in the next block and electrum was suggesting 200 sat/byte fee.

It is very important to educate people on how the mempool works, and why you should not use your wallet recommended fee (until they make a decent algorithm to estimate fee)

Edit: Anyway, this makes services like the one from the OP important. I don't know if his business model will work. I wouldn't use it as well due to security/privacy/custody reasons. But there is a real demand for fee reduction services (even decent fee estimators)

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!