Pages:
Author

Topic: Interesting non-altcoin forks? (Read 4097 times)

hero member
Activity: 518
Merit: 502
May 08, 2015, 09:27:21 AM
#24

BTW, isn't there a fork that does blockchain pruning already?

Nevermind, I found the relevant PR: https://github.com/bitcoin/bitcoin/pull/4701 and https://github.com/bitcoin/bitcoin/pull/5863
It appears that autopruning has been merged into master 2 weeks ago. Smiley
hero member
Activity: 518
Merit: 502
May 08, 2015, 09:19:38 AM
#23

BTW, isn't there a fork that does blockchain pruning already?
legendary
Activity: 924
Merit: 1132
April 03, 2015, 01:44:24 PM
#22
Right.  I know you can check the information at a given moment.  But that doesn't call itself to your attention, or allow you to track what it does over time. Well, I guess you could make a script that queries bitcoin-cli every minute or something.

What I was talking about is monitoring it in a way that allows you to see when it changes - a graph like network traffic that shows it over time, or at least some dynamically updated number in the Information panel of the qt node software like the current number of blocks in the information panel.

staff
Activity: 4284
Merit: 8808
April 03, 2015, 12:18:35 PM
#21
Something that I've wished for in Bitcoin core itself the last few days is an option to monitor the size ( in both transactions and kilobytes) of the memory pool of unconfirmed transactions.  I've been seeing it get up to 3000 or so and staying there for hours during the last few days, while some miners continue to turn in tiny 60k blocks that have a few dozen transactions at most.  
uh.

$ ~/bitcoin/src/bitcoin-cli  getmempoolinfo
{
    "size" : 320,
    "bytes" : 562732
}


or your friendly neighborhood debug console.

Since you weren't aware of the command, I'm guessing "seeing it" means bc.i-- take that with a huge heap of salt.
legendary
Activity: 924
Merit: 1132
April 03, 2015, 11:22:31 AM
#20
Something that I've wished for in Bitcoin core itself the last few days is an option to monitor the size ( in both transactions and kilobytes) of the memory pool of unconfirmed transactions.  I've been seeing it get up to 3000 or so and staying there for hours during the last few days, while some miners continue to turn in tiny 60k blocks that have a few dozen transactions at most.  

It's a perverse-incentives problem.  Some miners are in such stark fear of an orphaned block that they're not processing transactions, and I think that having the ability to at least monitor that situation (outside of blockchain.org) would be a really good addition to the core.  It may turn out that we need to do more. 

I'd like to see a patch to the most-work rule that breaks equal-work ties by how much a proposed block reduces the transaction pool rather than by the order in which it was received.  But that would be risky in a few ways; it would lead to more rather than fewer orphaned blocks, and provide a new way for an attacker to cause a short-term fork.  And it would be a potential compute-time DoS, because you'd have to process all the blocks that are now "orphans" a lot more intensively to find out whether to replace your current chain tip.   So that's an experiment that needs tried out in an alt, long before it becomes a serious proposal for Bitcoin itself. 
hero member
Activity: 518
Merit: 502
April 02, 2015, 12:20:13 PM
#19
Here's another interesting fork I came across when reading about scorched earth/replace-by-fee (see first fork mentioned in this thread).

Bitcoin XT, by Mike Hearn:

Quote
Bitcoin XT is a patch set on top of Bitcoin Core, with a focus on upgrades to the peer to peer protocol. By running it you can opt in to providing the Bitcoin network with additional services beyond what Bitcoin Core nodes provide. Currently it contains two additional features:

  • Relaying of double spends. Bitcoin Core will simply drop unconfirmed transactions that double spend other unconfirmed transactions, forcing merchants who want to know about them to connect to thousands of nodes in the hope of spotting them. This is unreliable, wastes resources and isn't feasible on mobile devices. Bitcoin XT will relay the first observed double spend of a transaction. Additionally, it will highlight it in red in the user interface. Other wallets also have the opportunity to use the new information to alert the user that there is a fraud attempt against them.
  • Support for querying the UTXO set given an outpoint. This is useful for apps that use partial transactions, such as the Lighthouse crowdfunding app. The feature allows a client to check that a partial SIGHASH_ANYONECANPAY transaction is correctly signed and by querying multiple nodes, build up some confidence that the output is not already spent.

Bitcoin XT is more experimental than Bitcoin Core, and has a strong emphasis on supporting the needs of app developers and merchants. By running it you not only provide additional services to the network but help build confidence in the implementations, contributing towards consensus for inclusion in a future version of Bitcoin Core.

https://github.com/bitcoinxt/bitcoinxt
staff
Activity: 4284
Merit: 8808
February 28, 2015, 11:09:06 AM
#17
If Satoshi had agreed with that point of view, it seems unlikely he would have released Bitcoin under the MIT License. 'Course it's hard to disagree with your sentiment regarding the quality of most altcoins....
Any other choice would be giving the copyright holders of the software an elevated level of authority over the system, which would defeat the point-- even if it would be arguably desirable. Besides, it isn't like anonymous parties have tremendous recourse available via civil complaints; plus 99% of altcoins don't care: The MIT license required basically nothing but preserving copyright notices and most altcoins actually violate the license (because they search and replace out all the attribution).
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
February 28, 2015, 09:25:17 AM
#16
Nothing special is when they rename it, use a source which they are not made and then add some salt in it.

OP specifically said he wasn't interested in altcoins, but in interesting forks which haven't been merged into Bitcoin (and presumably have some chance of being merged in the future):
Regarding my original question: I mostly wanted to know about interesting extensions to the original code (and no, not altcoins).
Read the whole thread... the referenced forks are interesting.


Making something new from the bottom is the real thing and I support only that.
The original idea, not stolen one.

If Satoshi had agreed with that point of view, it seems unlikely he would have released Bitcoin under the MIT License. 'Course it's hard to disagree with your sentiment regarding the quality of most altcoins....
staff
Activity: 4284
Merit: 8808
February 28, 2015, 05:05:14 AM
#15
Many contributors have own coins.
I believe that is incorrect. The only non-trivial contributions that I can think of there is jtimon (freicoin).
legendary
Activity: 1400
Merit: 1000
February 28, 2015, 03:29:41 AM
#14
use a source which they are not made
Actually this is not true. You can see https://github.com/bitcoin/bitcoin/graphs/contributors and then look at other projects of the contributors. Many contributors have own coins.

Quote
Making something new from the bottom is the real thing and I support only that.
So you don't support Linux, LibreOffice and almost all opensource projects, do you?
full member
Activity: 140
Merit: 100
February 28, 2015, 02:53:40 AM
#13
I don't like forks.
They are just clones with add-on's.
Nothing special is when they rename it, use a source which they are not made and then add some salt in it.
It's a stealing of coin to make something "new".
Not worth of mention or use anyway as it cannot stay long alive and to be usable.
Making something new from the bottom is the real thing and I support only that.
The original idea, not stolen one.
hero member
Activity: 518
Merit: 502
February 18, 2015, 08:50:03 AM
#12
For me, the most important one is the UTXO commitments proposal but I have no idea what its status is.

You got a link or the lead dev's name?
hero member
Activity: 518
Merit: 502
February 18, 2015, 08:49:42 AM
#11
Interesting tree: Peter Todd's replace-by-fee fork.

Interesting, and also quite controversial Wink

Indeed. However, I think it makes sense and would solve the double-spending problem quite nicely - maybe the only solution there is.

A (slightly related) interesting fork: Tom Harding's Double-Spend Relay and Alerts. It actually made it into Bitcoin Core's master for a short while before being reverted (which I think is a shame; he put a lot of work into it and it had at least some chance of being very useful, but there were some legitimate concerns as well).

Awesome! That is the kind of info I was fishing for. Smiley Thanks for sharing. I guess I'll give it a try soon, might be interesting to see what's happening on the network (and it's always worth measuring yourself, as blockchain.info is broken in so many ways...)
sr. member
Activity: 467
Merit: 267
February 17, 2015, 07:49:00 AM
#10
For me, the most important one is the UTXO commitments proposal but I have no idea what its status is.
hero member
Activity: 910
Merit: 1000
February 17, 2015, 05:51:50 AM
#9
Not forks, but I think related: BitcoinJ is a Java Bitcoin library and there is also a full-node Bitcoin implementation written in Go.
I agree with this. Java Bitcoin library indeed.
It is compatible with Python, Ruby and Clojure running on a JVM.
People work on this hard to make something good. And it is good, but the question is the usage of it.

I use BitcoinJ quite a bit. I like it. It's very powerful and convenient.

I use mostly python; does anyone has experience with BitcoinJ's python bindings?

Regarding my original question: I mostly wanted to know about interesting extensions to the original code (and no, not altcoins). For example, I only recently learned about this PR to prune bitcoin core's wallet: https://github.com/bitcoin/bitcoin/pull/5389

Which caused me to wonder what other interesting PR's are out there...

Python seems to be one of the more used languages for working with Bitcoin. I've seen lots of useful scripts made to interact with Bitcoin concepts using Python (I think Vitalik and Peter Todd have some tools on their GitHub pages).
hero member
Activity: 672
Merit: 504
a.k.a. gurnec on GitHub
February 12, 2015, 04:31:00 PM
#8
Interesting tree: Peter Todd's replace-by-fee fork.

Interesting, and also quite controversial Wink

A (slightly related) interesting fork: Tom Harding's Double-Spend Relay and Alerts. It actually made it into Bitcoin Core's master for a short while before being reverted (which I think is a shame; he put a lot of work into it and it had at least some chance of being very useful, but there were some legitimate concerns as well).

Quote
Double-Spend Relay and Alerts

VERY IMPORTANT: It has never been safe, and remains unsafe, to rely
on unconfirmed transactions.


Relay
When an attempt is seen on the network to spend the same unspent funds
more than once, it is no longer ignored.  Instead, it is broadcast, to
serve as an alert.  This broadcast is subject to protections against
denial-of-service attacks.

Wallets and other bitcoin services should alert their users to
double-spends that affect them.  Merchants and other users may have
enough time to withhold goods or services when payment becomes
uncertain, until confirmation.

Bitcoin Core Wallet Alerts
The Bitcoin Core wallet now makes respend attempts visible in several
ways.

If you are online, and a respend affecting one of your wallet
transactions is seen, a notification is immediately issued to the
command registered with `-respendnotify=`.  Additionally, if
using the GUI:
 - An alert box is immediately displayed.
 - The affected wallet transaction is highlighted in red until it is
   confirmed (and it may never be confirmed).

A `respendsobserved` array is added to `gettransaction`, `listtransactions`,
and `listsinceblock` RPC results.

Warning
If you rely on an unconfirmed transaction, these changes do VERY
LITTLE to protect you from a malicious double-spend, because:


 - You may learn about the respend too late to avoid doing whatever
   you were being paid for.
 - Using other relay rules, a double-spender can craft the double-
   spend to resist broadcast.
 - Miners can choose which conflicting spend to confirm, and some
   miners may not confirm the first acceptable spend they see.
hero member
Activity: 518
Merit: 502
February 12, 2015, 04:13:39 AM
#7
Interesting tree: Peter Todd's replace-by-fee fork.

https://github.com/petertodd/bitcoin/tree/replace-by-fee-v0.10.0rc4

Quote
What's replace-by-fee?
----------------------

Currently most Bitcoin nodes accept the first transaction they see
spending an output to the mempool; all later transactions are rejected.
Replace-by-fee changes this behavior to accept the transaction paying
the highest fee, both absolutely, and in terms of fee-per-KB. Replaced
children are also considered - a chain of transactions is only replaced
if the replacement has a higher fee than the sum of all replaced
transactions.

Doing this aligns standard node behavior with miner incentives: earn the
most amount of money per block. It also makes for a more efficient
transaction fee marketplace, as transactions that are "stuck" due to bad
fee estimates can be "unstuck" by double-spending them with higher
paying versions of themselves. With scorched-earth techniques⁵ it gives
a path to making zeroconf transactions economically secure by relying on
economic incentives, rather than "honesty" and alturism, in the same way
Bitcoin mining itself relies on incentives rather than "honesty" and
alturism.

Finally for miners adopting replace-by-fee avoids the development of an
ecosystem that relies heavily on large miners punishing smaller ones for
misbehavior, as seen in Harding's proposal⁶ that miners collectively 51%
attack miners who include doublespends in their blocks - an unavoidable
consequence of imperfect p2p networking in a decentralized system - or
even Hearn's proposal⁷ that a majority of miners be able to vote to
confiscate the earnings of the minority and redistribute them at will.
hero member
Activity: 518
Merit: 502
February 10, 2015, 03:28:24 PM
#6
Not forks, but I think related: BitcoinJ is a Java Bitcoin library and there is also a full-node Bitcoin implementation written in Go.
I agree with this. Java Bitcoin library indeed.
It is compatible with Python, Ruby and Clojure running on a JVM.
People work on this hard to make something good. And it is good, but the question is the usage of it.

I use BitcoinJ quite a bit. I like it. It's very powerful and convenient.

I use mostly python; does anyone has experience with BitcoinJ's python bindings?

Regarding my original question: I mostly wanted to know about interesting extensions to the original code (and no, not altcoins). For example, I only recently learned about this PR to prune bitcoin core's wallet: https://github.com/bitcoin/bitcoin/pull/5389

Which caused me to wonder what other interesting PR's are out there...
hero member
Activity: 910
Merit: 1000
February 10, 2015, 04:27:30 AM
#5
Not forks, but I think related: BitcoinJ is a Java Bitcoin library and there is also a full-node Bitcoin implementation written in Go.
I agree with this. Java Bitcoin library indeed.
It is compatible with Python, Ruby and Clojure running on a JVM.
People work on this hard to make something good. And it is good, but the question is the usage of it.

I use BitcoinJ quite a bit. I like it. It's very powerful and convenient.
Pages:
Jump to: