Bitcoin Forum
May 24, 2024, 12:42:00 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 166 »
101  Bitcoin / Development & Technical Discussion / Re: Elastic block cap with rollover penalties on: June 02, 2015, 10:10:53 PM
Isn't it precisely what is implemented in Monero? (except you don't have a rollover pool, the penalty is simply deducted from the block reward for good).
No idea what happens in Monero, but if so, more power to them.

In theory you could have the penalty coins vanish here as well, but that has several disadvantages.

So, I support the idea. Just that 2T is a bit high, will that work? I mean, will it be possible to download  a blockchain with 2T blocks in it? A 2T blockchain consisting of smaller blocks is not an issue, but what happens if the download gets stuck DURING the 2T?

Is the Bitcoin client ready to download blocks partially and continue after a crash/shutdown/process kill?  Huh
In case it's unclear, T doesn't mean terabyte. It's just a parameter that can be configured based on our needs. At this point in time I suggest T = 3MB.
102  Bitcoin / Development & Technical Discussion / Re: Elastic block cap with rollover penalties on: June 02, 2015, 09:45:47 PM
This is a very good, but as you said will require a lot of work, seems like a good portion of BTC's code would need to be rewritten.
I don't think the changes are that extensive. Basically you just need to change the rules for generation transaction validity.

I'd say we're better off just letting BTC croak and eventually once the damage that is caused to public image has faded, transitioning to a better alt will be in the best interest of the whole cryptocurrency community.
Umm... No?


The key here is how is T set. If T is fixed then 2T becomes the hard limit and the problem remains. If T is set based on an some average of previously mined blocks then this may address the problem
We still need some way to determine the optimal block size, but we have much more leeway. The wrong choice will not cause catastrophic failure, rather gradually increasing fees which will indicate that a buff is needed. The flexibility will make it easier to reach community consensus about changing hardcoded parameters.

Reusing what I wrote to Gavin an a private exchange - I don't believe in having a block limit calculated automatically based on past blocks. Because it really doesn't put a limit at all. Suppose I wanted to spam the network. Now there is a limit of 1MB/block so I create 1MB/block of junk. If I keep this up the rule will update the size to 2MB/block, and then I spam with 2MB/block. Then 4MB, ad infinitum. The effects of increasing demand for legitimate transaction is similar. There's no real limit and no real market for fees.

Perhaps we can find a solution that uses an automatic rule for short-term fluctuations, and hardcoded parameters for long-term trends. If a good automatic cap rule can be found, it will be compatible with this method.


Would this address bandwidth issues that China could suffer from if block size was increased?
Only very indirectly - it can help Bitcoin function with a low cap, hence reducing the need to increase the cap.
103  Bitcoin / Development & Technical Discussion / Elastic block cap with rollover penalties on: June 02, 2015, 08:16:17 PM
tl; dr: I propose replacing the hard cap on the data size of a block (1MB, 20MB, or whatever it is) with an elastic one, where resistance to larger blocks accumulates progressively. Miners will be required to pay a superlinear penalty for large blocks, to be paid into a rollover fee pool. This will greatly increase Bitcoin's robustness to a situation where the block cap is approached, and allow a healthy fee market.

Background
In these days there is heated debate about whether the block size limit of 1 MB should be relaxed. Many arguments are being discussed, but the most common one is the classic tradeoff:

Bigger blocks -> Harder to run a node -> Less nodes -> More centralization
Smaller blocks -> Less payments can be done directly as transactions on the blockchain -> More reliance on payment processing solutions involving 3rd parties -> More centralization

Most agree that there is some optimal value for this tradeoff, and the debate is about what it is, how to determine it, how to make decisions revolving it, etc. And most assume that if the blocks are too small, we'll get a "heads up" in the form of increasing tx fees.

However, Mike argues, and I tend to agree, that this is not how it will work. Rather, if the block limit is too small for the transaction demand, the Bitcoin network will crash. The gist of his argument, as I see it, is - market forces should find a fee equilibrium where transaction supply matches demand, whatever they are. However, market forces don't react fast enough to fluctuations, creating buildups that technically can't be handled by the software.

Mike argues also that since we don't know when we'll reach the limit - and once we do, we will have catastrophic failure without warning - we must hurry to raise the limit to remain safe. That part I have an issue with - if Bitcoin can't gracefully degrade in the face of rising transaction volume, we will have problems no matter what the current block size limit is. We should instead focus on fixing that problem.

In this post I will introduce a protocol modification that might eliminate this problem. I will describe the suggestion and analyze how it can help. With it in place, we no longer run the risk of a crash landing, only rising fees - giving us an indication that something should be changed.

And then, we can go back to arguing what the block size should be, given the tradeoff above.

Rollover fee pool
This suggestion requires, as a prerequisite, the use of a rollover fee pool. I first introduced the concept here - this post is worth a read, but it used the concept for a different purpose than we have here.

The original idea was that fees for a transaction will not be paid to the one miner of the block which includes it - rather, fees would be paid into a pool, from which the funds will gradually be paid to future miners. You could have, for example, that in each block, the miner is entitled to 1% of the current funds in the pool (in addition to any other block rewards).

In the current suggestion, we will use such a pool that is paid out over time - but it will not be the users who put money into the pool. Transaction fees will be paid to the miner who found the block as normal.

Edit: Saying again for clarity - In the current proposal, fees from transactions will be paid to the miner of the current block instantly and in full. The miners can't gain anything by accepting tx fees out of band. The one paying into the rollover pool is the miner himself, as explained below.

Elastic block cap
The heart of the suggestion is - instead of forbidding large blocks, penalize them. The miner of a large block must pay a penalty that depends on the block's size. The penalty will be deducted from the funds he collects in the generation transaction, and paid into the rollover pool, to be distributed among future miners. If the penalty exceeds the miner's income of tx fees + minted coins + his share of the current rollover pool, the block is invalid.

This requires choosing a function f that returns the penalty for a given block size. There is great flexibility and there's little that can go wrong if we choose a "wrong" function. The main requirements are that it is convex, and has significant curvature around the size we think blocks should be. My suggestion: Choose a target block size T. Then for any given block size x, set f(x) = Max(x-T,0)^2 / (T*(2T-x)). (graph)

This will mean that there are no penalties for blocks up to size T. As the block size increases, there is a penalty for each additional transaction - negligible at first, but eventually sharply rising. Blocks bigger than 2T are forbidden.

Analysis
I assume we do want scarcity in the blockchain - this prevents useless transactions that bloat the blockchain and make it harder to run nodes, and incentivizes users to fund the Bitcoin infrastructure. A block size limit creates scarcity - but only if there ever really are situations where we reach the limit. But as things stand, reaching the limit creates technical malfunctions.

Mike calls the problem "crash landing", but to me it's more like hitting a brick wall. Transaction demand runs towards the limit with nothing slowing it down, until it painfully slams into it. One minute there is spare room in the blocks, and no reason to charge tx fees - and the next, there's no room, and we run into problems.

If more transactions enter the network than can be put in blocks, the queue will grow ever larger and can take hours to clear, meaning that transactions will take hours to confirm. Miners can use fees to signal to the market to ease up on new transactions, but the market will be too slow to react. First, because the software isn't optimized to receive this signal; and second, because transaction demand is inelastic in short time scales. If, over sustained periods of time, transaction fees are high, I will stop looking for places to pay with Bitcoin, I will sign up to a payment facilitation service, etc. But short-term, if I have a transaction I'm set on sending right now (e.g. a restaurant tab), I'll be willing to pay very high fees for it if I must. So fees are not effective in controlling the deluge of transactions.

Enter an elastic cap. When tx demand exceeds the target block value, a backlog doesn't accumulate - miners simply include the extra in the block. They will start to require a bit of extra fees to compensate for the penalty, but can still clear the queue at the rate it is filling. If the incoming tx rate continues to increase, the marginal penalty miners have to pay per tx will increase, so fees will become higher - but since the process is more gradual, clients will be in a better position to understand what fee they need to pay for quick confirmation. The process will resemble climbing a hill rather than running into a brick wall. As we push the limits, the restoring force will grow stronger until we reach an equilibrium.

On longer time scales, the market will have an understanding of the typical fees, and make decisions accordingly. It can also analyze times of the day/week when fees are lower, and use those for any non-time-sensitive transactions.

With a hard cap, the queue of transactions can only clear at a specific rate. Below this rate there is no fee tension, and above it there is instability. With an elastic cap, a longer queue cause transaction fees to be higher, encouraging miners to include more in a block, increasing the speed at which the queue clears. This is a stable equilibrium that prevents the queue from growing unboundedly, while always maintaining some fee tension.

Incidentally, the current system is a special case of this suggestion, with f(x) = If (x<T, 0, Infinity). We assume that an invalid block is equivalent to an infinite penalty.

The way forward
I believe there is very little downside, if any, to implementing this method. It can prove useful even if the crash landing scenario isn't as grave as Mike suggests. And the primitives will be handy for other possible protocol improvements. I believe it is an essentially simple and fully fleshed-out idea. As such, I hope it can be accepted without much controversy.

It is however a major change which may require some significant coding. When discussing this idea with Gavin, he explained he'd be in a better position to evaluate it if given working, testable code. Writing code isn't my thing, though. If anyone is interested in implementing this, I'll be happy to provide support.

Related work
A similar system exists in CryptoNote, see e.g. section 6.2.3 of https://cryptonote.org/whitepaper.pdf.

Greg Maxwell proposed a similar system with variable mining effort instead of reward penalty - see e.g. http://sourceforge.net/p/bitcoin/mailman/message/34100485/ for discussion.

This proposal is not directly related to floating block limit methods, where the limit parameters are determined automatically based on recent history of transaction demand.
104  Local / עברית (Hebrew) / Re: קבוצת מפגשי ביטקוין בישראל on: May 31, 2015, 02:08:57 PM
מם הביטקוין
http://www.meetup.com/bitcoin-il/events/222908113/
105  Bitcoin / Meetups / Re: Israel Bitcoin Meetup Group on: May 31, 2015, 02:08:05 PM
A Bitcoin lecture, "The Bitcoin Meme", has been scheduled for June 15, 19:30, in Campus Tel Aviv, Floor 34, Electra Tower, 98 Yigal Alon, Tel Aviv. Gathering at 19:00.

Details and registration at http://www.meetup.com/bitcoin-il/events/222908113/.
106  Local / עברית (Hebrew) / Re: קבוצת מפגשי ביטקוין בישראל on: May 17, 2015, 06:43:38 PM
אנשי ביטקוין - יונתן רואש
http://www.meetup.com/bitcoin-il/events/222594991/
107  Bitcoin / Meetups / Re: Israel Bitcoin Meetup Group on: May 17, 2015, 06:43:12 PM
A Bitcoin personal story by Jonathan Rouach has been scheduled for May 26, 19:00, in Google Campus Tel Aviv, Electra Tower, 98 Yigal Alon, Tel Aviv. Gathering at 18:30.

Details and registration at http://www.meetup.com/bitcoin-il/events/222594991/.
108  Economy / Marketplace / Re: CoinPal beta - Buying bitcoins with PayPal on: May 06, 2015, 09:51:41 PM
I'm wanting to know if they ever unfroze your account? Did you get your money back from them that was seized? Since they are now starting to mingle with bitcoins, I was curious if they would release funds they seized during their btc is against TOS.
Unless I'm missing something, the account was unfrozen long ago - https://bitcointalk.org/index.php?topic=2555.msg595903#msg595903.
109  Bitcoin / Bitcoin Discussion / Re: Exclusive Interview with Meni Rosenfeld on: May 06, 2015, 09:35:44 PM
I'm Meni Rosenfeld and I approve this message.

Hmm, seems semi-active here in Bitcointalk based on his last login time and posts.
He is very active on the forum and as far as I recall he is or at least was the moderator of the Hebrew boards here. You can easily reach him by sending him a PM on the forum or by posting on the threads on the Hebrew board.
Both correct, I used to be extremely active here but now that the Israeli Bitcoin community hubs are bustling with activity this forum is a lower priority.
110  Bitcoin / Meetups / Re: Israel Bitcoin Meetup Group on: May 05, 2015, 03:24:33 PM
A Bitcoin event featuring Rob Witoff from Coinbase, organized by Startup Nation Central, has been scheduled for May 13. Gathering at 9:00.

Details and registration at http://www.meetup.com/bitcoin-il/events/222318784/.
111  Local / עברית (Hebrew) / Re: קבוצת מפגשי ביטקוין בישראל on: April 24, 2015, 02:03:51 PM
טרנסאקציות ביטקוין
http://www.meetup.com/bitcoin-il/events/222068495/
112  Bitcoin / Meetups / Re: Israel Bitcoin Meetup Group on: April 24, 2015, 02:03:10 PM
A Bitcoin lecture, "Bitcoin Transactions", has been scheduled for May 4, 19:00, in Google Campus Tel Aviv, Floor 34, Electra Tower, 98 Yigal Alon, Tel Aviv. Gathering at 18:30.

Details and registration at http://www.meetup.com/bitcoin-il/events/222068495/.
113  Bitcoin / Development & Technical Discussion / Re: Theoretical minimum # of logic operations to perform double iterated SHA256? on: April 19, 2015, 11:27:52 AM
You should read up on https://en.wikipedia.org/wiki/Reversible_computing. You can in theory construct your logic gates in a way that will not erase information, and make arbitrarily long computations with a bounded energy expenditure. The notion that the Landauer's principle places a lower limit on the energy cost of computation is a myth.
114  Local / עברית (Hebrew) / Re: הונאה בקניית כוריים עזרה דחוף on: April 04, 2015, 07:02:13 PM
קודם כל תיגש לתחנת המשטרה ותגיש תלונה על הונאה.
בנוסף לתלונה, תאסוף כל מידע רלוונטי, כתובות שליחה \ קבלה, אתר איטנטרנט, שמות, טלפונים, תאריכים, סכומים כל מידע שאתה יכול רק לחשוב עליו.

במקביל, שלחתי לך בפרטי את המייל שלי, תפנה אלי ונמשיך משם.
115  Local / עברית (Hebrew) / Re: New Forum in Hebrew | Technical Question on: April 04, 2015, 06:36:10 PM
Hello. I've just added a board in Hebrew language on Bitcoin Garden.

Now I'm trying to figure how to set the text alignment to right by default. Maybe I've to use a specific theme template for that board?

I'm using smf 2.0.9. Any hints?
I don't know, but Theymos should, as he's the one who actually set up this subforum to have rtl by default.
116  Local / עברית (Hebrew) / Re: קבוצת מפגשי ביטקוין בישראל on: March 16, 2015, 10:20:57 AM
אפליקציות מבוזרות - הדגמת מוצרים
http://www.meetup.com/bitcoin-il/events/221182869
117  Bitcoin / Meetups / Re: Israel Bitcoin Meetup Group on: March 16, 2015, 10:19:28 AM
"Decentralized applications - Product demonstrations" has been scheduled for March 29, 19:00, in Google Campus Tel Aviv, Floor 34, Electra Tower, 98 Yigal Alon, Tel Aviv. Gathering at 18:15.

Details and registration at http://www.meetup.com/bitcoin-il/events/221182869.
118  Bitcoin / Bitcoin Discussion / Re: Stupid newbie question about the nonce on: March 11, 2015, 09:56:11 AM
That page did not exist in 2011 when the question was asked.
Not only did the page exist since 2010, the Merkle tree section was added before the question was asked.

Anyway, looks like Geremia is trying to set some sort of record on gratuitous necrobumps...
119  Local / עברית (Hebrew) / Re: קבוצת מפגשי ביטקוין בישראל on: February 10, 2015, 02:25:37 PM
העתיד של ארנקי ביטקוין
http://www.meetup.com/bitcoin-il/events/220432707/
120  Bitcoin / Meetups / Re: Israel Bitcoin Meetup Group on: February 10, 2015, 02:20:58 PM
A Bitcoin lecture, "The Future of Bitcoin Wallets", has been scheduled for February 23, 19:00, in Google Campus Tel Aviv, Floor 34, Electra Tower, 98 Yigal Alon, Tel Aviv. Gathering at 18:30.

Details and registration at http://www.meetup.com/bitcoin-il/events/220432707/.
Pages: « 1 2 3 4 5 [6] 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ... 166 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!