Bitcoin Forum
May 16, 2022, 10:31:29 PM *
News: Latest Bitcoin Core release: 23.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: Scaling bitcoin: the elephant in the room  (Read 3331 times)
monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 06:51:31 AM
Last edit: January 27, 2018, 09:41:14 PM by monsterer2
 #1

Hi there,

It seems to me that no one is talking about something quite obvious that has come to light quite recently regarding scaling bitcoin. None of the segwit/blocksize increase proposals are the right answer. That's why there hasn't been a unanimous agreement on the right path the choose. Both of the major camps are lobbying for changes which are only stop gap measures.

IMO, something quite radical needs to change in the way bitcoin works in order to facilitate proper scaling and to decrease centralisation literally as far as physically possible in a system with mining incentive.

What we need is something like this:

*) Homogenise - Remove the distinction between miners and users of the system
*) Reduce blocks to one per transaction
*) Users mine their own blocks when sending a transaction, no other user can mine another users block
*) Users can choose their own difficulty level when mining their blocks
*) Block reward is proportional to chosen difficulty (up to a an moore's law based maximum and with a spam preventing minimum)
*) Preserve orphaned branches of blocks and include them in a new LCR scoring system so we maintain deterministic, global state

These measures:

*) Allow bitcoin to scale indefinitely, as the block size is now as small as it possibly can be, and there is now no fixed block interval, as these tiny blocks arrive constantly
*) Miners can still participate, but instead of enabling transactions to be sent/received their only job is now in securing the chain by providing hashing power; they still earn their mining reward
*) Chain security remains strong; miners get paid for being on the longest (largest cumulative difficulty) branch, and now this weighting includes orphaned branches which are referenced within each block, so no history based attacks are possible
*) Decentralisation is maximised because there is no need for mining pools anymore, since variance in mining reward is now under the control of the user. Moreover, since only you can mine your own blocks (the PoW is signed by you), mining pools are unattractive anyway.

Thoughts?

edit: draft whitepaper: https://github.com/wildbunny/docs/blob/master/T.E.T.O-draft.pdf

Cheers, Paul.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
amaclin1
Sr. Member
****
Offline Offline

Activity: 686
Merit: 283


View Profile
July 20, 2017, 09:47:52 AM
 #2

Thoughts?
drivel

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
dfebrero
Newbie
*
Offline Offline

Activity: 49
Merit: 0


View Profile
July 20, 2017, 10:49:08 AM
 #3

Did you get hacked through email recovery or password leak ?
amaclin1
Sr. Member
****
Offline Offline

Activity: 686
Merit: 283


View Profile
July 20, 2017, 11:22:21 AM
 #4

Did you get hacked through email recovery or password leak ?
I think moderator changed email for my account by "fake" requesst
https://bitcointalk.org/index.php?topic=2030689.msg20221556#msg20221556
Sorry for offtopic.

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 01:25:38 PM
 #5


Care to expand?
amaclin1
Sr. Member
****
Offline Offline

Activity: 686
Merit: 283


View Profile
July 20, 2017, 01:31:07 PM
 #6

Care to expand?
No.
Your ideas told me that you know absolutely nothing about how crypto works.
Start with this article: https://en.wikipedia.org/wiki/Tragedy_of_the_commons

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 01:39:12 PM
 #7

Care to expand?
No.
Your ideas told me that you know absolutely nothing about how crypto works.
Start with this article: https://en.wikipedia.org/wiki/Tragedy_of_the_commons

Self interests are still aligned with overall system convergence.
amaclin1
Sr. Member
****
Offline Offline

Activity: 686
Merit: 283


View Profile
July 20, 2017, 01:50:03 PM
 #8

Self interests are still aligned with overall system convergence.

Quote
Homogenise - Remove the distinction between miners and users of the system
There is/was no distinction in original bitcoin idea. Everything was implemented to gain fiat profit

Quote
Reduce blocks to one per transaction
Users mine their own blocks when sending a transaction, no other user can mine another users block
Why do we need "blocks" in this paradigma?  Grin



Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 01:54:15 PM
 #9

Self interests are still aligned with overall system convergence.

Quote
Homogenise - Remove the distinction between miners and users of the system
There is/was no distinction in original bitcoin idea. Everything was implemented to gain fiat profit

In original bitcoin and now, there were miners and non miners. This change would make *everybody* a miner by necessity.

Quote
Quote
Reduce blocks to one per transaction
Users mine their own blocks when sending a transaction, no other user can mine another users block
Why do we need "blocks" in this paradigma?  Grin

Because a block contains more than just info relating to the transaction.
HeRetiK
Legendary
*
Offline Offline

Activity: 2198
Merit: 1746


the forkings will continue until morale improves


View Profile
July 20, 2017, 01:59:26 PM
 #10


*) Allow bitcoin to scale indefinitely, as the block size is now as small as it possibly can be, and there is now no fixed block interval, as these tiny blocks arrive constantly
*) Miners can still participate, but instead of enabling transactions to be sent/received their only job is now in securing the chain by providing hashing power; they still earn their mining reward
*) Chain security remains strong; miners get paid for being on the longest (largest cumulative difficulty) branch, and now this weighting includes orphaned branches which are referenced within each block, so no history based attacks are possible
*) Decentralisation is maximised because there is no need for mining pools anymore, since variance in mining reward is now under the control of the user. Moreover, since only you can mine your own blocks (the PoW is signed by you), mining pools are unattractive anyway.

Thoughts?

Cheers, Paul.


1) If every user just mines their own blocks, how are double spends prevented?

2) If tiny blocks get propagated everywhere with users only mining their own blocks, how do they know which chain to base their blocks on?

3) How can miners still participate if there's no distinction between users and miners and everyone just mines their own chain?

monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 02:05:19 PM
 #11

1) If every user just mines their own blocks, how are double spends prevented?

2) If tiny blocks get propagated everywhere with users only mining their own blocks, how do they know which chain to base their blocks on?

3) How can miners still participate if there's no distinction between users and miners and everyone just mines their own chain?


1) There is still an LCR rule for selecting the branch with the largest cumulative difficulty. Users want to be on the longest branch, so they have timely confirmation of their transactions.

2) See (1)

3) Miners participate by choosing high PoW difficulty blocks to mine (their own blocks). They are incentivised to add them to the branch with the largest cumulative difficulty, because otherwise they won't get their mining rewards.
amaclin1
Sr. Member
****
Offline Offline

Activity: 686
Merit: 283


View Profile
July 20, 2017, 02:20:21 PM
 #12

1) There is still an LCR rule for selecting the branch with the largest cumulative difficulty.
And how will you send your transaction if there are another 100500 users who have more 100500x times hashrate than you?
It will be very complicated quest to send coins in your network Smiley
"Run you PC for a week or buy an ASIC device to purchase a cup of coffee"  Grin

Bitcoin SV GUI client for Windows and Linux
https://github.com/AlisterMaclin/bitcoin-sv/releases
monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 02:36:48 PM
 #13

1) There is still an LCR rule for selecting the branch with the largest cumulative difficulty.
And how will you send your transaction if there are another 100500 users who have more 100500x times hashrate than you?
It will be very complicated quest to send coins in your network Smiley
"Run you PC for a week or buy an ASIC device to purchase a cup of coffee"  Grin

Because you can chose your own difficulty. Miners who are in it for the money, as they are in bitcoin, can mine with maximum difficulty. End users like you and I can chose a much, much lower difficulty because we don't expect to earn anything, we just want to send a transaction.
HeRetiK
Legendary
*
Offline Offline

Activity: 2198
Merit: 1746


the forkings will continue until morale improves


View Profile
July 20, 2017, 02:54:35 PM
 #14

1) If every user just mines their own blocks, how are double spends prevented?

2) If tiny blocks get propagated everywhere with users only mining their own blocks, how do they know which chain to base their blocks on?

3) How can miners still participate if there's no distinction between users and miners and everyone just mines their own chain?


1) There is still an LCR rule for selecting the branch with the largest cumulative difficulty. Users want to be on the longest branch, so they have timely confirmation of their transactions.

2) See (1)

3) Miners participate by choosing high PoW difficulty blocks to mine (their own blocks). They are incentivised to add them to the branch with the largest cumulative difficulty, because otherwise they won't get their mining rewards.

...how does anyone know what the branch the one with the largest cumulative difficulty is if everyone is just firing transactions away on their own branches? How do you keep track of transactions if everyone is just writing their own transaction history? How do you achieve consensus what the actual global state of the ledger is? And once again, how do you prevent double spends? Nothing is preventing a user from sending the same coins multiple times to different addresses... they can just mine different transactions using the same inputs over and over again and see what sticks.

monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 02:57:05 PM
 #15

...how does anyone know what the branch the one with the largest cumulative difficulty is if everyone is just firing transactions away on their own branches? How do you keep track of transactions if everyone is just writing their own transaction history? How do you achieve consensus what the actual global state of the ledger is? And once again, how do you prevent double spends? Nothing is preventing a user from sending the same coins multiple times to different addresses... they can just mine different transactions using the same inputs over and over again and see what sticks.

Users are not on their own branches - just like in bitcoin, miners/users aim to put blocks on the main branch with the greatest cumulative difficulty.
HeRetiK
Legendary
*
Offline Offline

Activity: 2198
Merit: 1746


the forkings will continue until morale improves


View Profile
July 20, 2017, 03:05:32 PM
Merited by ETFbitcoin (1)
 #16

...how does anyone know what the branch the one with the largest cumulative difficulty is if everyone is just firing transactions away on their own branches? How do you keep track of transactions if everyone is just writing their own transaction history? How do you achieve consensus what the actual global state of the ledger is? And once again, how do you prevent double spends? Nothing is preventing a user from sending the same coins multiple times to different addresses... they can just mine different transactions using the same inputs over and over again and see what sticks.

Users are not on their own branches - just like in bitcoin, miners/users aim to put blocks on the main branch with the greatest cumulative difficulty.

Ok, let me rephrase my question. So we are at block 100. Everyone knows were at block 100. 5 people mine based on block 100 and send their transaction at the same time. One on each continent. Each of those people propagate their own block as block 101. What happens?

monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 03:38:37 PM
 #17

Ok, let me rephrase my question. So we are at block 100. Everyone knows were at block 100. 5 people mine based on block 100 and send their transaction at the same time. One on each continent. Each of those people propagate their own block as block 101. What happens?

Ok, I understand what you are getting it.

So, in that situation you have 5 new blocks at the same height referencing the same parent. What happens next is that someone else sends a transaction picking one of these branches to extend from (either like bitcoin does, or by tiebreaker rule) - this next person references one of the other branches as an uncle in the block he produces. Then along comes the next person, who extends the longest branch again, and again references an uncle branch, so the transactions in the brief 5 wide fork all get included in the ordering eventually and the system reconverges on the longest branch.

The big difference between this and the current bitcoin are the inclusion of the uncle references, which are a permanent record of forks, and allow forked blocks to be included in the set of valid transactions. This is necessary because otherwise users would need to retry sending their transactions over and over if they didn't place them on the correct branch.

Double spends which are also in forks are resolved by the way blocks are ordered - a block which contains a double spend persists within the ordering, but since it is invalid, it is simply ignored. The first spend of a set of outputs which is processed is the valid spend, the 2nd processed spend of those same outputs is invalid.

Here is an example of the ordering using uncle references:



Cheers, Paul.
sonulrk
Full Member
***
Offline Offline

Activity: 266
Merit: 100


View Profile
July 20, 2017, 05:10:45 PM
 #18

Good thought.

Now explain it for 10000 blocks ready for the position of 101st block.
monsterer2
Full Member
***
Offline Offline

Activity: 351
Merit: 134


View Profile
July 20, 2017, 05:46:15 PM
 #19

Good thought.

Now explain it for 10000 blocks ready for the position of 101st block.

Sorry, I don't understand the question?
chiller
Full Member
***
Offline Offline

Activity: 129
Merit: 101


View Profile
July 21, 2017, 01:32:06 AM
Merited by ETFbitcoin (1)
 #20

Good thought.

Now explain it for 10000 blocks ready for the position of 101st block.

Sorry, I don't understand the question?

I think he means that there's 1000 blocks (think transactions) and every one wants to get on the main chain. How long would it take? I mean if the main block time would be a 1 sec that could be possible, as in your example after adding 1 block to main chain every transaction would have to solve puzzle again with a new header. That would take forever to include a single block. Or did I misunderstood your proposition?

Pages: [1] 2 3 »  All
  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!