How To Fix [Reverse] Bitcoin Unconfirmed Transactions - # ...

Long live decentralized bitcoin(!) A reading list

Newbs might not know this, but bitcoin recently came out of an intense internal drama. Between July 2015 and August 2017 bitcoin was attacked by external forces who were hoping to destroy the very properties that made bitcoin valuable in the first place. This culminated in the creation of segwit and the UASF (user activated soft fork) movement. The UASF was successful, segwit was added to bitcoin and with that the anti-decentralization side left bitcoin altogether and created their own altcoin called bcash. Bitcoin's price was $2500, soon after segwit was activated the price doubled to $5000 and continued rising until a top of $20000 before correcting to where we are today.
During this drama, I took time away from writing open source code to help educate and argue on reddit, twitter and other social media. I came up with a reading list for quickly copypasting things. It may be interesting today for newbs or anyone who wants a history lesson on what exactly happened during those two years when bitcoin's very existence as a decentralized low-trust currency was questioned. Now the fight has essentially been won, I try not to comment on reddit that much anymore. There's nothing left to do except wait for Lightning and similar tech to become mature (or better yet, help code it and test it)
In this thread you can learn about block sizes, latency, decentralization, segwit, ASICBOOST, lightning network and all the other issues that were debated endlessly for over two years. So when someone tries to get you to invest in bcash, remind them of the time they supported Bitcoin Unlimited.
For more threads like this see UASF

Summary / The fundamental tradeoff

A trip to the moon requires a rocket with multiple stages by gmaxwell (must read)
Bram Cohen, creator of bittorrent, argues against a hard fork to a larger block size
gmaxwell's summary of the debate
Core devs please explain your vision (see luke's post which also argues that blocks are already too big)
Mod of btc speaking against a hard fork
It's becoming clear to me that a lot of people don't understand how fragile bitcoin is
Blockchain space must be costly, it can never be free
Charlie Lee with a nice analogy about the fundamental tradeoff
gmaxwell on the tradeoffs
jratcliff on the layering

Scaling on-chain will destroy bitcoin's decentralization

Peter Todd: How a floating blocksize limit inevitably leads towards centralization [Feb 2013] mailing list with discussion on reddit in Aug 2015
Nick Szabo's blog post on what makes bitcoin so special
There is academic research showing that even small (2MB) increases to the blocksize results in drastic node dropoff counts due to the non-linear increase of RAM needed.
Reddit summary of above link. In this table, you can see it estimates a 40% drop immediately in node count with a 2MB upgrade and a 50% over 6 months. At 4mb, it becomes 75% immediately and 80% over 6 months. At 8, it becomes 90% and 95%.
Larger block sizes make centralization pressures worse (mathematical)
Talk at scalingbitcoin montreal, initial blockchain synchronization puts serious constraints on any increase in the block size with transcript
Bitcoin's P2P Network: The Soft Underbelly of Bitcoin someone's notes: reddit discussion
In adversarial environments blockchains dont scale
Why miners will not voluntarily individually produce smaller blocks
Hal Finney: bitcoin's blockchain can only be a settlement layer (mostly interesting because it's hal finney and its in 2010)
petertodd's 2013 video explaining this
luke-jr's summary
Another jratcliff thread

Full blocks are not a disaster

Blocks must be always full, there must always be a backlog
Same as above, the mining gap means there must always be a backlog talk: transcript:
Backlogs arent that bad
Examples where scarce block space causes people to use precious resources more efficiently
Full blocks are fine
High miner fees imply a sustainable future for bitcoin
gmaxwell on why full blocks are good
The whole idea of the mempool being "filled" is wrong headed. The mempool doesn't "clog" or get stuck, or anything like that.


What is segwit

luke-jr's longer summary
Charlie Shrem's on upgrading to segwit
Original segwit talk at scalingbitcoin hong kong + transcript
Segwit is not too complex
Segwit does not make it possible for miners to steal coins, contrary to what some people say
Segwit is required for a useful lightning network It's now known that without a malleability fix useful indefinite channels are not really possible.
Clearing up SegWit Lies and Myths:
Segwit is bigger blocks
Typical usage results in segwit allowing capacity equivalent to 2mb blocks

Why is segwit being blocked

Jihan Wu (head of largest bitcoin mining group) is blocking segwit because of perceived loss of income
Witness discount creates aligned incentives
or because he wants his mining enterprise to have control over bitcoin

Segwit is being blocked because it breaks ASICBOOST, a patented optimization used by bitmain ASIC manufacturer

Details and discovery by gmaxwell
Reddit thread with discussion
Simplified explaination by jonny1000
Bitmain admits their chips have asicboost but they say they never used it on the network (haha a likely story)
Worth $100m per year to them (also in gmaxwell's original email)
Other calculations show less
This also blocks all these other cool updates, not just segwit
Summary of bad consequences of asicboost
Luke's summary of the entire situation
Prices goes up because now segwit looks more likely
Asicboost discovery made the price rise
A pool was caught red handed doing asicboost, by this time it seemed fairly certain that segwit would get activated so it didnt produce as much interest as earlier and and
This btc user is outraged at the entire forum because they support Bitmain and ASICBOOST
Antbleed, turns out Bitmain can shut down all its ASICs by remote control:

What if segwit never activates

What if segwit never activates? with and


bitcoinmagazine's series on what lightning is and how it works
The Lightning Network ELIDHDICACS (Explain Like I Don’t Have Degrees in Cryptography and Computer Science)
Ligtning will increases fees for miners, not lower them
Cost-benefit analysis of lightning from the point of view of miners
Routing blog post by rusty and reddit comments
Lightning protocol rfc
Blog post with screenshots of ln being used on testnet video
Video of sending and receiving ln on testnet
Lightning tradeoffs
Beer sold for testnet lightning and
Lightning will result in far fewer coins being stored on third parties because it supports instant transactions
jgarzik argues strongly against LN, he owns a coin tracking startup
luke's great debunking / answer of some misinformation questions
Lightning centralization doesnt happen
roasbeef on hubs and charging fees and

Immutability / Being a swiss bank in your pocket / Why doing a hard fork (especially without consensus) is damaging

A downside of hard forks is damaging bitcoin's immutability
Interesting analysis of miners incentives and how failure is possible, don't trust the miners for long term
waxwing on the meaning of cash and settlement
maaku on the cash question
Digital gold funamentalists gain nothing from supporting a hard fork to larger block sizes
Those asking for a compromise don't understand the underlying political forces
Nobody wants a contentious hard fork actually, anti-core people got emotionally manipulated
The hard work of the core developers has kept bitcoin scalable
Recent PRs to improve bitcoin scaleability ignored by the debate
gmaxwell against hard forks since 2013
maaku: hard forks are really bad

Some metrics on what the market thinks of decentralization and hostile hard forks

The price history shows that the exchange rate drops every time a hard fork threatens:
and this example from 2017 btc users lose money
price supporting theymos' moderation
old version
older version
about 50% of nodes updated to the soft fork node quite quickly

Bitcoin Unlimited / Emergent Consensus is badly designed, changes the game theory of bitcoin

Bitcoin Unlimited was a proposed hard fork client, it was made with the intention to stop segwit from activating
A Future Led by Bitcoin Unlimited is a Centralized Future
Flexible transactions are bugged
Bugged BU software mines an invalid block, wasting 13 bitcoins or $12k employees are moderators of btc
miners don't control stuff like the block size
even gavin agreed that economic majority controls things
fork clients are trying to steal bitcoin's brand and network effect, theyre no different from altcoins
BU being active makes it easier to reverse payments, increases wasted work making the network less secure and giving an advantage to bigger miners
bitcoin unlimited takes power away from users and gives it to miners
bitcoin unlimited's accepted depth
BU's lying propaganda poster

BU is bugged, poorly-reviewed and crashes

bitcoin unlimited allegedly funded by kraken stolen coins
Other funding stuff
A serious bug in BU
A summary of what's wrong with BU:

Bitcoin Unlimited Remote Exploit Crash 14/3/2017
BU devs calling it as disaster also btc deleted a thread about the exploit
Summary of incident
More than 20 exchanges will list BTU as an altcoin
Again a few days later

User Activated Soft Fork (UASF)

site for it, including list of businesses supporting it
luke's view
threat of UASF makes the miner fall into line in litecoin
UASF delivers the goods for vertcoin
UASF coin is more valuable
All the links together in one place
p2sh was a uasf
jgarzik annoyed at the strict timeline that segwit2x has to follow because of bip148
Committed intolerant minority
alp on the game theory of the intolerant minority
The risk of UASF is less than the cost of doing nothing
uasf delivered the goods for bitcoin, it forced antpool and others to signal (May 2016) "When asked specifically whether Antpool would run SegWit code without a hard fork increase in the block size also included in a release of Bitcoin Core, Wu responded: “No. It is acceptable that the hard fork code is not activated, but it needs to be included in a ‘release’ of Bitcoin Core. I have made it clear about the definition of ‘release,’ which is not ‘public.’”"
Screenshot of peter rizun capitulating

Fighting off 2x HF
b2x is most of all about firing core

Misinformation / sockpuppets
three year old account, only started posting today
Why we should not hard fork after the UASF worked:


Good article that covers virtually all the important history
Interesting post with some history pre-2015
The core scalabality roadmap + my summary from 3/2017 my summary
History from summer 2015
Brief reminders of the ETC situation
Longer writeup of ethereum's TheDAO bailout fraud
Point that the bigblocker side is only blocking segwit as a hostage
jonny1000's recall of the history of bitcoin

Misc (mostly memes)

libbitcoin's Understanding Bitcoin series (another must read, most of it)
github commit where satoshi added the block size limit
hard fork proposals from some core devs
blockstream hasnt taken over the entire bitcoin core project
blockstream is one of the good guys
Forkers, we're not raising a single byte! Song lyrics by belcher
Some stuff here along with that cool photoshopped poster
Nice graphic
gmaxwell saying how he is probably responsible for the most privacy tech in bitcoin, while mike hearn screwed up privacy
Fairly cool propaganda poster
btc tankman
asicboost discovery meme
gavin wanted to kill the bitcoin chain
stuff that btc believes
after segwit2x NYA got agreed all the fee pressure disappeared, laurenmt found they were artificial spam
theymos saying why victory isnt inevitable
with ignorant enemies like these its no wonder we won ""So, once segwit2x activates, from that moment on it will require a coordinated fork to avoid the up coming "baked in" HF. ""
a positive effect of bcash, it made blockchain utxo spammers move away from bitcoin
summary of craig wright, jihan wu and roger ver's positions
Why is bitcoin so strong against attack?!?! (because we're motivated and awesome)
what happened to #oldjeffgarzik
big blockers fully deserve to lose every last bitcoin they ever had and more
gavinandresen brainstorming how to kill bitcoin with a 51% in a nasty way
Roger Ver as bitcoin Judas
A bunch of tweets and memes celebrating UASF | | | | | | | | | | | |
submitted by belcher_ to Bitcoin [link] [comments]

Debunked: "Fast transactions using 0-conf were never safe in Bitcoin. Satoshi added Replace-by-Fee himself and said we shouldn't use unconfirmed transactions."

In the Bitcoin design — today implemented in the form of Bitcoin Cash — the blockchain is used to "confirm" or "timestamp" whichever transaction sent by the same party came first. This prevents cheating, which can otherwise be done by replacing a transaction going to a merchant with one going to another or back to the payee themselves. A transaction waiting in line to be timestamped is called 0-conf and can be used to facilitate instant transactions at lower fraud rates than credit cards.
The incentives needed for the above mode of operation is derived from Proof-of-Work, which in combination with protocol and client settings creates the positive pull needed to ensure that it is always more likely that nodes will only accept the first transaction that they saw and record it in a block as soon as possible. Like everything in Bitcoin it can never be fully guaranteed, but it can be considered "reasonable certain", which is also what we see in practice.
Sources 1, 2, 3, 4
Replace-by-Fee being enabled by default in Bitcoin Core clients made 0-conf in particular much less secure on its chain, because the change of expectations that it brought in practice changed the "first seen" rule to a "highest-bid-until-it-gets-into-a-block" rule.
It did this by making it much more likely that a payee marks his transaction for potential later changes to the recipient field in the form of a replacement transaction with increased fee, in turn complicating the receiving process for merchants and making the nodes (solo-miners and pools) that run the timestamping service less strict with the first seen rule in general.
Some have claimed Satoshi invented this form of RBF and that it was present in Bitcoin from the start. These are actually complete lies. Satoshi never supported such a feature. He once had something vaguely similar in mind, but removed it to improve security. In a forum post he also explained that a replacement transaction must be the exact same as the original transaction except with a higher fee, which would of course not in any significant way allow tempering with the order in which transactions were accepted by the network.
Sources 1, 2
Bitcoin always had 0-conf. The first seen rule is essential to Bitcoin and the only way to have fast transaction speeds and immediately re-spendable coins; the security of which can then be improved on with a payment processor if one wants to or by waiting for the "confirmation" which will be "computationally hard" to reverse.
Satoshi himeself was a big proponent of 0-conf payments and expected them to work fine for paying many if not most merchants. He just went out of his way to explain their drawbacks in a rather immature network and how they could be used more safely. He also did serious work to make them function as well as they could.
Sources 1, 2, 3, 4
0-conf transactions on Bitcoin Cash with 1 sat/byte or more in fees are safe enough for most use cases today, including commercial transactions. You can pay for digital goods online and have them delivered without having to wait for your transaction to confirm. With a high degree of certainty, it will eventually. Timestamping happens on average once every 10 minutes and the BCH chain being congestion free ensures it won't take days to make the transaction actually computationally hard to reverse.
In order to have close to zero risk, businesses can still wait for 1 confirmation if they so choose. Earlier in Bitcoins history it would have been more than one and over time the risk will tend to decrease as the strength of the network and the stakes of the nodes in the network itself increases. This is all Satoshi stuff.
It should be noted that Satoshi did temporarily limit the spending of such unconfirmed transactions received from a different wallet, in the reference client itself, since these — especially back then — were less secure by not yet being included in a block and passing them on too quickly actually risked breaking your wallet. This is however not a valid argument to reject the viability of 0-conf itself or to stop improving on the concept.
submitted by fruitsofknowledge to btc [link] [comments]

On RBF and 0-Conf, why they don't work together.

Seems like there are a lot of questions about 0-Conf and RBF.
Today I want to talk about the difference between the two and why they don't work together.
An unconfirmed transaction also known as a "0-Conf," is a transaction that has been broadcasted and seen by the network but not yet confirmed in a block.
For many merchants, because of the way BCH works, these transactions are often considered acceptable even if they haven't yet been confirmed. This is in part due to the "first seen, first safe rule" originally imposed by Satoshi, the efficacy of which he talks about, here:
Interestingly enough, Bitpay, since they accept 0-Conf for BCH, does provide exactly what he described there: "Good enough checking in something like ten seconds or less." Excellent!
Now Imagine a sliding scale with security on one end and convenience on the other. Each merchant must choose where he wants to fall on the line. A merchant selling houses or cars would probably trade some convenience for extra security, making their buyer wait around for at least one confirmation, or more!
While a clever coffee shop owner would probably trade some security for convenience - allowing 0-Conf for his relatively small value transactions.
Key point: It is up to each individual to decide what level of risk is acceptable to them.
Because Bitcoin Cash keeps the first seen first safe rule, and RBF doesn't work on Bitcoin Cash, many merchants accept unconfirmed BCH payments with a high degree of confidence.
As a buyer and seller, I personally accept unconfirmed BCH payments, which has not failed me yet.
I do this for even large value transactions over $1000 USD all the time.
RBF, the "Anti-Feature":
RBF is extremely interesting because one of the only times that there ever was consensus in the community, was the consensus against RBF.
RBF has been coined by many, the "Anti-Feature" because it completely destroys one of the fundamental features of the Bitcoin system - the irreversibility of transactions. With RBF, the Bitcoin system is degraded to a Paypal like system, transaction are completely reversible, with the click of a button, after goods have been received, making it extremely easy to take the money back from a merchant (Look up Paypal's notorious "unauthorized payment claim" problem.)
The Anti-Feature, RBF, allows people to steal money back from a merchant after they have walked out of his store, destroying the acceptability of 0-conf transactions.
RBF was originally touted as a means to rebroadcast your transaction to a merchant with a higher fee, if it got stuck in the mempool. It should be noted that this only happens when blocks are full, anyway, which is NOT the natural state of the system.
The big problem with RBF is that it allows you to change not just the fee...but the recipient address as well! Holy heck! Think about this for a second. Why on earth would you need to change the recipient address after the merchant has already given you the goods? Don't you want to pay that merchant!?
People, using RBF on Bitcoin (BTC) literally have the ability to walk out of the store and send the unconfirmed payment back to their own wallet! In other words, RBF gives people the ability to rob the merchant!
No wonder it's called the "Anti-Feature!"
As you can imagine, this is extremely UN-enticing to merchants, exposing them to an unnecessary level of risk for little to no extra gain.
RBF proponents argue that this is not a problem because merchants can flag RBF transactions and refuse to accept them. However...I question why an unacceptable type of transaction should even be allowed to be created in the first place!
THIS is why 0-Conf and RBF don't go together. To put it simply: RBF breaks 0-Conf. It's really a shame, because 0-Conf is awesome!
Remember: Performing a 0-Conf double spend is expensive to attempt and extremely difficult, requiring custom software and a deep technical understanding of the system.
While taking the money back via RBF is as simple as doing another transaction.
They can not work together.
Luckily Bitcoin Cash developers have restored the utility of 0-Conf, by reinserting Satoshi's "first seen, first safe" rule into BCH, and getting rid of RBF.
EDIT: Some additional reading on RBF:
submitted by poorbrokebastard to btc [link] [comments]

The irreversible transactions of BCH needs to be celebrated more often!

We've all read many posts about how great the low transfer fees are when using Bitcoin Cash, however I think one very important thing keeps being overlooked.
Many people forget to praise the irreversible nature of a BCH transaction when they explain the benefits of Bitcoin Cash over old Bitcoin. One of the newer "features" in BTC is the ability to reverse a transaction before it has been confirmed. This breaks something important.
Bitcoin was intended to be used as if you're handing someone paper money in real life. The transaction is fast, it's cheap and it's irreversible (unless he decides to hand the cash back to you of course).
This irreversible nature allows merchants to accept BCH transactions with 0 confirmations because once it is in the mempool it is almost guaranteed to enter the blockchain. If the seller sees your unconfirmed payment in his own client's mempool he knows that 10 seconds later pretty much every miner will have it too.
In old Bitcoin this quality was lost with the introduction of reversible transactions. If you sell a beer with BTC and notice the transaction in the mempool you can't assume that it will enter the blockchain because as soon as the buyer walks away he can reverse the transaction.
BTC is currently trying to solve this problem (that they have created themselves) by introducing "The Lightning Network". You've probably seen the classic coffee shop example where someone sets up payment channels for microtransactions?
With Bitcoin Cash you don't need a Lightning Network because simply seeing the transaction in the mempool is enough. No need to set up a new channel every time you visit a new pub, no need to pay anyone extra for maintaining Lightning, no risk of trust getting involved with shared channels etc. Microtransactions can happen on the BCH blockchain just fine and they can be accepted almost instantly without delay for the next customer.
Naturally there's always risk involved when accepting payment without any confirmations at all. You increase the required number of confirmations with the price of the product, 0 is for when very small amounts of BCH is involved. If a seller loses the price of 1 beer but in turn can accept crypto without holding up the queue at the bar, then it's worth it. If it means not involving side-chains or external networks, then it's worth it. How many people are there around anyway that can use a botnet to try and beat the first transaction announcement just to get a free beer?
Let's not forget to mention the irreversible transactions along with the super low fees when explaining the perks with Bitcoin Cash! It's a big part of how Bitcoin used to be.
submitted by LaudedSwanSong to btc [link] [comments]

As a philosopher and a person who is against contradictions.Why does BTC insist it is peer to peer digital cash when it is not.

I have a stake in BTC and because I've been telling everyone for 2 years to buy BTC because it is going to free the world and now I've realized this is a lie. I've by my own courage to employ my own intelligence regardless how stupid I may come off so that I may understand.
First I like to say I've put all my BTC in sigwit on my ledger nano s and been hodling and I'm STRONGLY against wallstreet and the idea of Hodling. I've been mining with 6 GPU's 5x 1070ti 1x 1080ti and Lost a lot of money in this and I've been told Bitmain is centralized and they screw people. The way I understand all of this is miners have one job and that's to find blocks and anything that is going on in a peer to peer transaction is non of their business.

I've tried to move my BTC to the Blue wallet and I'm pissed cause I have to pay 1$ on fees to sent it there. This is really expensive and a contradiction to peer to peer. Took me 2 years making minimum wage to build up to 1k in BTC and I'm really pissed cause I've lost a lot of money hodling and to even use it is what I think everyone is doing is to sell it like a stock. Actions speak louder than words and I do not see how LN and the On chain will help people who cannot afford 1$ especially people who will not be able to stay online in places like Cuba.

I'm worried because LN incentive to stay off chain and use only the second layer in the long run I believe and we all know now that LN will be centralized. Guys, if we had to go as far as to separate Church and State because even a Church can be corrupt than what makes us think LN will not be corrupt? The idea that a poor person wanting to send even .02 cents to lets say Wikileaks is no longer possible and I believe by the evidence of
We will later be no longer using on chain by the defense of security and to stop Spam and spam is very ambiguous language because It is non of your business if someone wants to send .01 to anyone and their argument is "what a waste of a transaction is not an argument. If BTC ran fine for 8 years than why are we saying it can scale temporary and yet we're saying it cannot scale. I'm confused and I really disliked Tone Vays because I was watching debates between him and Rogar and Tone Vays said "I know wallstreet developers" This is NOT a good thing for BTC the idea that it is a store of value and not as digital cash is at a contradiction. I hear it will be temporary but this been this way for 2 years now and I've used the lighting and I'm NOT happy about it.

I'm really respected in my RL community and the idea that I've been pushing BTC because I hate the federal reverse I see them as the Major problem in everyday life. I do not want to get rich I just want to keep the fruits of my labor. But I see BTC is just a stock now.
submitted by TheotherVicious to Bitcoin [link] [comments]

[ANN] Presenting VertVerser!

Stealth Addresses were only the beginning... I am happy to introduce VertVerser (Vert = Green, Verser = To Pay)! The name could also be taken as "Vertcoin Reverser". Either way, it is awesome.
VertVerser is a way to pay with Vertcoin anywhere Bitcoin is accepted. And, the reverse is true as well. You can send Vertcoin to any address (including your own) using Bitcoin.
VertVerser is in Alpha status and should only be used for small amounts initially. Here are some important pieces of information:
  1. From the time you send the funds to the time the receiving address receives them (unconfirmed) should take less than 12 minutes.
  2. If you send more than the required amount for the transaction, the additional funds are considered a tip for the system.
  3. The request expires in 5 minutes if the funds are not received by the sender
  4. VertVerser uses two "buffer" wallets to speed up the transaction process. If either wallet does not contain the funds required to facilitate the transaction, you will be presented with an error accordingly. This will happen before you send the money so your transaction won't be in limbo.
  5. A 2VTC fee applies to all transactions at the moment. This is to fill the buffer wallets and support server costs.
VertVerser was built on a flexible API which means it can easily be integrated into our wallets (mobile included). You would simply enter (or scan) a BTC address and then rest happens automatically.
Finally, I will reiterate that this is Alpha. I have sent funds around both ways successfully, but you never know the fringe cases a production run will encounter. Luckily funds are easily traced and we can take remedial action accordingly.
The buffer wallets are pretty empty at the moment - They need both VTC and BTC. If you are willing to donate some funds to grease the wheels, the addresses are VstVHvewjQb3Foj5hbFZAfQBRcDuu4DZfS and 1B1e3mbFEBsFTR3biURXNzMSBLFENRaSKu respectively.
Please PM me if you are willing to help test this so I can monitor the transactions and see how things go.
Quick Edit: SSL is coming shortly. Just getting the cert sorted. SSL is in place.
EDIT: I am going to bring some of my own coins out of cold storage and fill the VTC buffer. I will probably sell a few to get the BTC side warmed up too. Any help would be much appreciated - mainly for the BTC wallet as I have none right now
EDIT: Ok.. decent amount (300) in VTC buffer wallet. Working on some BTC
EDIT: And got some in the BTC buffer as well out of pocket :-D Let's run some tests...
EDIT: So far so good... :-D
EDIT: Limits increased. Check website for new values - they will update over time
submitted by a432511 to vertcoin [link] [comments]

0 Confirmation Transactions Still Work - Stop the Bitundo FUD.

I keep seeing people talk about BitUndo's magical power to reverse 0 confirmation orders. Right now, and for the foreseeable future this isn't an issue. The only way it'd become an issue is if a great deal of miners want to work against their own interests to weaken the protocol. How confident am I?
I've loaded 1GtZQXxEJupqakwPQPFgGHZY5qwWSCxxeC with .25btc. This is my stake. You bet whatever you feel like, up to the balance of the account when you make the bet. You send a valid transaction with a miner's fee, like any reasonable merchant would expect. The client has to notify me the transaction has been received (it's a address). If you can get your money back, I'll double it.
I've signed my handle with the address: G00tCqRiCkkIKvyPtg3nXZpDw5EXmaAgXforOudgFDkZz+wbEyAHoeA1MG5uN9MUH0lDzDTf+WoJrmWkRfcdiKs
Edit: Obligatory thanks for the gold edit. You're the best, kind internet stranger.
Edit edit: Looks like someone hit a double spend on their first try. Analysis to follow, but today I learned that looking for a miner's fee is not enough. StarMaged's advice seems prudent.
edit edit edit: Looks like the attack is what Petertodd described. The mining fee was too low on the transaction I received, and a reasonable fee was paid on the double spend transaction. There you go.
edit edit edit edit: Here's a post Petertodd made with more information.
edit edit edit edit edit: To recap, this was not Bitundo's doing. The problem is that this bet did not follow StarMaged's rules/structure; the bet to mimic real world scenarios. If you're a coffee shop with a camera pointed at the register, you will probably be fine. If you're an electronics store you will want to use a 3rd party or a green address scheme. If you're offering digital goods (music, movies, etc for download) you'll want to use trusted third parties or require the user deposit with you and wait for confirmations before allowing them to spend (see Namecheap's model).
submitted by hiver to Bitcoin [link] [comments]

16 Reasons to Buy DGB

This was posted by someone on Trading View.
We live in a unique time like none other. Digital assets are disrupting the financial sector. The invention of blockchain is just as important as the invention of the internet. There are hundreds of digital assets to choose from in today's market. Some are great investments but most will fail. Let's make the case for Digibyte as a solid investment. This list is not in order of importance and isn't exhaustive. Please forgive the redundancy since I've mentioned some of these arguments in previous posts. Consider the following arguments.
  1. We are at a relative bottom on USD and BTC -0.17% charts. Under no circumstances should we purchase an alt coin at its peak. Always buy at the bottom!
  2. Clear signs of a reversal are evident on the USD chart. Our current USD value has more than doubled in the last 30 days.
  3. We will be at $10 by May of 2019 if and only if we respect the right leg of the triangle. The graph featured is a weekly log chart of Digibyte in USD. The first wave took us to the all time high. The second wave completed its retracement when it touched the right leg of the triangle. The third wave should take us to the left leg of the triangle where it will touch for the 4th time. The 4th touch will take us to at least $0.16.
  4. Great divergence exists between the USD and BTC -0.17% charts on This can be clearly seen when you select log scale. Expect massive gains in value when such divergence exists! Consider what happened to the price from Jan - Feb and Sep - Oct of 2015.
  5. We have recently been listed on Yahoo -0.26% Finance ( Notice that Digibyte is paired with 10 different currencies. I personally think that this is huge since it will attract the attention of mainstream investors.
  6. We have recently been added to Ledger Nano S and Blue. This allows users to store their Digibytes on a hardware wallet. This is a significant and meaningful accomplishment which sets us apart from other digital assets (
  7. We didn't spring up overnight. We have been around for over 4 years. Our technology has been tried, tested, and proven.
  8. We forked from the BTC -0.17% protocol. So the base code isn't original to us. However, we have not sat idly by over the last 4 years. Rather, our developers have proactively enhanced the original code by solving some of the most important problems that plague Bitcoin -0.17% and other digital assets.
  9. We anticipated the astronomical cost for a Bitcoin -0.17% micro transaction. Our fee for a single transaction is slightly more than one cent!
  10. We are the fastest digital asset on the market! If you don't believe that then put us to the test and try for yourself. We'll be able to process 280,000 transactions per second by 2035 since our block size doubles every two years. Therefore, you won't be plagued by unconfirmed transactions like with Bitcoin -0.17% . You will have your Digibytes in a few minutes and they will be spendable.
  11. We are the longest blockchain in existence at over 5 million blocks with 15 second block times.
  12. We are the most decentralized mineable blockchain in the market since we are on over a 100,000 nodes. Therefore, we are more distributed than Bitcoin -0.17% or other digital assets.
  13. We pioneered Digishield which is used to protect more than 25 alt coins from a malicious attack.
  14. We were the second digital asset to activate Segwit which will allow for atomic swaps. And, we did so without a contentious hard fork with full support of our 65,000 community members.
  15. Our community is growing rapidly. We have over 65k followers on Twitter.
  16. We use 5 mining algorithms to prevent centralization and protect against a 51% attack. Currently, the community is discussing a hard fork which will swap out an algorithm for another to prevent ASIC -90.00% mining centralization.
submitted by ycagel to Digibyte [link] [comments]

Smilo explained — 51% attacks

Smilo explained — 51% attacks
In this article of Smilo Explained we are going to explain more about the infamous 51% attacks of the blockchain space. We decided to create a separate article on this matter since it is one of the most impactful attacks in the blockchain space and very topical over the last few weeks with several attacks happening.
Some blockchain projects are more prone to 51% attacks than others, this is especially true for blockchains using the popular Proof of Work (PoW) consensus mechanism. This PoW algorithm is an economic measure to deter various attacks on the network by requiring some work from the service requester, usually in the form of processing time by a computer. However, it is possible to attack PoW blockchains when you control more than 51% of the total hashing power.
Considering this, smaller blockchains with a relatively low total hashing power combined with the PoW consensus mechanism could easily fall victim to this attack. Take Bitcoin as an example, in the first few years when Bitcoin (and blockchain) was less popular, it was relatively easy to buy more than 51% of the total hashing power and attack the network. However, due to the fact that no individual really paid attention to this flaw, Bitcoin was able to slowly grow a considerable amount of relatively decentralised hashing power over time, thus securing the network.
Nowadays, this flaw is quite well-known and due to this there is a rising amount of attackers who try to better themselves by attacking other blockchains. There are even websites giving rough estimates of the costs involved in creating a 51% attack such as
Let’s take a closer look at some of the projects which have suffered from a 51% attack lately.


The first specific case of a 51% attack which we are going to discuss is the one that took place this week, the 2nd of december, on the cryptocurrency called Vertcoin. During the attack, the attackers tried to double spend the currency to better themselves.
Coinbase engineer Mark Nesbitt stated that the double spending amounted could have resulted to over a $100,000 loss on the Vertcoin network.
“Vertcoin (VTC) experienced 22 deep chain reorganizations, 15 of which included double spends of VTC. We estimate that these attacks could have resulted in theft of over $100,000. The largest reorganization was over 300 blocks deep.”
According to the Crypto 51 webapp, the attack would only cost about 125 dollar per hour at the time of the attack. With an average block time of 2m and 40s this means the attack took approximately 14 hours and would only cost about 1750 dollars.


A few weeks ago, AurumCoin also fell victim to a 51% attack. During the attack, one of the few cryptocurrency exchanges who had listed AurumCoin, Cryptopia, lost more than 15 million Aurum coins (which was worth over half a million USD at the time of the attack). AurumCoin claims not to be responsible for the attack and they shifted the blame to Cryptopia, insisting it was hacked. Cryptopia, on the other hand, has not yet acknowledged that they have been hacked.

Easy prey

With a market cap of around 10 million USD, AurumCoin was definitely one of the easier targets. The attacker sent over 500.000 USD worth of AurumCoin to cryptopia to exchange them for another cryptocurrency. Once this transaction went through, the attacker allegedly used more than 51% of the hashing power to reverse the transaction as though it never really happened.
Besides, the last commit on AurumCoin’s Github originates from 2015, which indicates that the developers might have abandoned their project. Moreover, having an average hashrate of just about 80PH/s didn’t help them either. For about 800 USD per hour, one can easily rent more than enough mining power on NiceHash to attack AurumCoin’s network.


According to various reports, it seems like AurumCoin needed twenty confirmations at the time of the attack to send or receive any funds. So, could Cryptopia be responsible for this hack? Well, Cryptopia stated that they do not have any control over the time in which these confirmations are completed. Meaning that, Cryptopia does not seem to have any influence on AurumCoin transactions.
According to the exchange, they are unable to reverse or alter these kind of confirmations, and thus the transactions. In their support section they make the following statement;
“Cryptopia does not perform these ‘Confirmations’ or have any control over the time in which these Confirmations are completed. The Confirmations are completed by miners on the Blockchain. Transactions with higher fees will are far more likely to be added to a block first.”
AurumCoin’s case is just one of the examples which shows the negative consequences for both the coin and the exchange hosting them.

Bitcoin Gold

Bitcoin Gold suffered from a similar attack, though on a larger scale. An amount of 12.239 BTG was deposited to an account on the crypto exchange Bittrex, which was according to the online publication Bitcoinist around 18 million USD at the time of the attack.

Technical background

To go more in depth on how the attacker proceeded with his attack, the following information was posted by BitcoinGold as a statement on their website.
“The attackers address is known by this transaction: ee798dd31beda909c9ca7f843bc58b48dfb40b0f6db83ccd10e892e9c3154ce7 (Originally marked as Confirmed, now marked as Unconfirmed)
The deposit was made as part of this block #529022(Originally marked as mainchain, now marked as Orphaned. It was mined by honest miners.) and was confirmed over the course of nearly six hours on mainchain with 21 additional blocks mined, up to and including this block #529043. (Originally marked as mainchain, now marked as Orphaned. It was mined by honest miners.)
Some time after the 20th block, which satisfied the 20-confirmation requirement for Bittrex, the attacker was able to trade their BTG on Bittrex and withdraw other crypto.
The attacker then released 23 (or more) secretly mined blocks to the mainchain, superseding the existing 22 blocks, and replacing their previous transfer of 12.239 BTG to Bittrex with a transfer of those same 12.239 BTG to themselves.
Below is the new transaction (double-spend) of the original 12239 BTG, sent to their own address instead of Bittrex: 8b8ad1deb88c9b9e36c62e96ff52833d4ca1632076b1092a5848de788181aaaf
It was included in this block #529022, which was first mined by the attackers in secret and not broadcast to the network until nearly 6 hours later. When it was finally broadcast along with 22 or more other secretly-mined blocks, for a total of over 23 blocks, it established the “longest chain” and took over as mainchain, causing the previously seen blocks to become “Orphaned.”
Bittrex delisted Bitcoin Gold shortly afterwards. As a result Bitcoin Gold was forced to upgrade their proof of work to make it, according to them, a less attractive and harder to attack network, even though the possibility to become victim of such an attack still lingers. Besides, they advised all exchanges to raise their confirmation requirements to give time to react on unusually large deposits of BTG — the double-spend attacks were clear outliers in size.

Expenses for the attack

Husam Abboud, a managing partner and co-founder at Brazil-based PDB Capital, has calculated that an average investment of 200.000 USD respectively is necessary for a 51% attack on bitcoin gold.
“Bitcoin Gold, a much smaller network (1/20 the size of Bitcoin Cash network), since the fork, has switched to become ASIC resistant hashing with Equihash algorithm, — same as zCash — It is currently more secure against 51% attack from Bitcoin miners, but vulnerable to attacks from Zcash and other Equihash miners.”
As researched by Investopedia, if for example a zCash miner with +8% of Nethash would switch to mine BitcoinGold, he is already at +51% BTG nethash. This would brings the cost of 51% attack on BTG to 580 ZEC/day which equals around 200.000 USD

A common attack

Similar situations occurred this year with Monacoin and Verge among others, showing that these attacks are not uncommon. Counter measures are being taken by exchanges and networks alike such as increasing the number of confirmations required for making a transaction and ASIC resistant networks. Nevertheless, exchanges have very few defences to this attack, as no number of confirmations can make receiving deposits of the network under attack fully safe, when the attacker has over 51% of the hashing power. Some of the measures might reduce the risk of such an attack, though seem not as efficient as hoped, as even networks that have implemented them, are still being attacked.
‘As long as exchanges are willing to provide customers with assets in response to the deposit of a reversible currency, there’s no reason for attackers to stop this behavior. Expect to see more of these attacks.
Exchanges that support these assets will continue to suffer losses, with the ultimate result that exchanges will be forced to delist these assets. In such an environment, it’s hard to find a compelling argument for why these assets should have value.’
Mark Nesbitt

Smilo’s solution

The Smilo network solves this problem with its Smilo BFT+ consensus mechanism. This consensus mechanism circumvents 51% attacks by having one valid blockchain and one valid block created by one chosen speaker. Next to 51% attacks, Smilo’s consensus is also far less vulnerable to a number of other attacks, making it a saver option for both users and exchanges.
Smilo will always require more than 66% consensus with the Smilo BFT+ algorithm, a node will never add a block to his chain when this block has been declined. Moreover, even when more than 66% of the nodes approve a block, but Node A declined the block, Node A will not add the block to his chain, nor will the follow up blocks add this block to the chain.
All Smilo Clients (like the API, full wallets, etcetera) are able to verify both blocks and transactions, providing a two-factor authentication for light clients. Clients can validate if it is connected to “Good actors” or “Bad actors”, depending on the blockchain hash, and therefore decide to send a transaction to a Good or Bad actor.
Since Smilo BFT+ Blacklists ‘Bad actors’, each Bad Actor will become an orphan/bad chain (fork). Besides, considering the fact you need 10.000 Smilo to act as a node, an attacking entity needs to own an immense amount of Smilo to start with, which makes it impractical as it will prove a great financial loss for the attacker. This makes Smilo 99.9% secure against sibling attacks.
For example: 250 nodes are securing the network: - 84 nodes are ok! - 166 nodes are bad! 166 * 10.000 = 1.66 million Smilo (>66% of the actors)
Even if the attacker pulls it off to create a bad block, the 84 good nodes will not add this block (because it is invalid). The next speaker in line (or the third, or the fourth, or the fifth) will create a correct block which will be added to the nodes. Since our full-clients validate nodes and blocks by themselves, they will not send any transactions to the wrong fork. This results in a fork which will only survive for as long as the bad actors are turned on.
Be part of the Smilo hybrid blockchain movement!
Join our Telegram, Twitter and follow us on other social media for the latest updates! Medium | LinkedIn | Facebook | Reddit
For more information about the Smilo Platform check out our; Website | Video | Whitepaper | Onepager | Whitelist
submitted by Smilo-platform to SmiloPlatform [link] [comments]

RBF consequences I foresee for in-person payments

TL;DR: Replace-by-Fee will cause processing times for some in-person merchant transactions to increase dramatically (~10 minute average), either greatly discouraging retail merchant acceptance or requiring merchants and users to be aware not to use RBF in retail situations.
Let's say RBF is fully implemented into Core and wallets widely begin to support this behavior. Let's assume, just to pull a number out of thin air, that 20% of Bitcoin users who make in-person transactions either begin using a wallet with RBF enabled by default OR activate RBF in the settings of their supporting wallet "just in case" they might need it later. Merchants depending upon quick POS transaction flow will have a new problem:
RBF guarantees that it will be possible to reverse / double-spend an RBF-flagged unconfirmed transaction by changing policy / defeating techniques currently in use for "normal" unconfirmed transactions, by zero-conf payment processors (BitPay, Coinbase) and supporting services (BlockCypher), to largely reduce the risk of double-spends for their clients (mainly in-person merchants). Merchants using regular wallet software for their POS may also be accepting zero-conf without the assistance of a third-party--not advised, but still reasonable for smaller transactions given current network policies / demonstrated behavior.
What about the RBF flag?
No doubt the above mentioned payment processors / services / wallets will upgrade to detect and alert recipients about RBF immediately. Unfortunately, all they can do is warn the merchant not to accept the RBF transaction until confirmation. I can even see BitPay, Coinbase, etc, showing RBF payments as "not received" on the merchant side until confirmation as a further user-friendly abstraction.
The problem is: Under just the 20% usage example above, 1/5th of all future in-person transactions (seemingly at random) will slow down to ~10 minute average processing intervals before the merchant can see that they've been paid. In a typical retail environment, this is unacceptable. BitPay et. al. cannot do anything on their end to speed up transaction confidence for the merchant, so either merchants begin to consider "potentially large transaction times" as a normal drawback to using Bitcoin (greatly discouraging merchant adoption) OR they clearly indicate to their customers that RBF transactions will not be accepted at all. The latter will require training out to the user base that they should not enable RBF for in-person payments, and it likely will require some merchants to experience the delays and/or outright fraud RBF enables before they learn what it is and how to ban it from their operations.
Even a ban on RBF by the recipient is problematic because the transaction is already broadcast before they can detect the RBF flag1 . It could be their policy not to consider it valid, but how would the customer be able to recover the funds they sent? A replacement transaction, of course? Well, they'd have to do that before the first gets confirmed or they'd be stuck in a lengthy refund scenario that is still problematic with Bitcoin today. [1 One idea: Have the transaction setup encoding / URI indicate to the wallet that RBF is not accepted, though this could be overridden by the sender and further complicates the encoding.]
If RBF goes forward, wallet developers will have to be extremely careful how they present this option to users and how they deal with receive transactions in their future releases.
submitted by bits-of-change to Bitcoin [link] [comments] vs Western Union: A user's review

On Sunday I sent 10k php using and 10k php using Western Union from the UK to a friend in the Philippines.
The Western Union transfer was pretty straightforward. I logged on to their website (I've previously given them my bank details) and sent the money. It cost £141.38. I had to tell my friend a secret number and my friend would pick up the cash from a Western Union guarded hut type thing.
On, I had to provide more information about the receiver, but less about myself. I decided to send to 'LBC', which has a similar pickup service to WU. Rebit told me I had to pay them 0.374106 bitcoins within 15 minutes, which I did. I then repurchased the bitcoins, checking bitbargain and localbitcoins for the best price. In the end, I ended up paying £142.94, so Rebit cost slightly more than WU on this occasion. However, there is quite a lot of variability in the price you can get when you buy bitcoins here, so I'd want to do more trials before I concluded that WU was cheaper. I'd also caution that bitcoin is expensive in the UK, and sending to Rebit from a different country is likely to work out significantly cheaper.
I should mention that the Rebit price includes a 100php fee from them and a 300php 'transfer fee', which I think is related to my collection option, and wouldn't appear if I'd sent to a bank account.
However, the Rebit story isn't over. My bitcoin transaction got a couple of confirmations quite quickly, but not quickly enough to beat the 15 minute timer. I'm not sure how many confirmations Rebit require to accept the payment, but the amount required increased to 0.374396, so I had to send an extra 0.00029 btc plus transaction fee, which was irritating. I'd recommend that Rebit work out a scheme for avoiding this problem. Maybe they should accept the transaction after a single confirmation, and hold the timer on seeing an unconfirmed transaction until a non-tiny block has been discovered. I've never heard of a transaction with a single confirmation being reversed.
Despite this hiccough, the transactions eventually were accepted. The receiver got a text message from Rebit, and had to do something I'm not clear about (but which didn't seem too onerous) on the internet to arrange to receive the funds.
Overall, the Rebit route worked smoothly enough except for having to wait for the bitcoin confirmation, and then adjust the amount I paid. Rebit seem to be an honest company, and if I were in a country (such as the US), where bitcoin is significantly cheaper than here, or if I wanted to reduce my bitcoin holdings, I'd certainly use them again.
submitted by astrolabe to Bitcoin [link] [comments]

We need to break up the unholy alliance between the Chinese miners and Core / Blockstream.

We signed up for a grand experiment that would be controlled by math and not by men.
Now we've had a year where the community is coming apart at the seams and today top dev Mike Hearn is selling his coins and abandoning the project.
Are we going to let Bitcoin be killed by 10 miners with cheap electricity & cooling behind the Great Firewall of China and a private company which wants to cripple our code by limiting space on the blockchain and adding double-spends and high fees?
I'm really trying seriously here to put my finger on the main problems that are causing this whole Bitcoin thing to spin out of control.
I think the two biggest problems are:
(1) the concentration of most hashpower behind the Great Firewall of China,
(2) allowing Blockstream to hijack Satoshi's codebase, so that they could:
...both of which are essential for their flagship vaporware product Lightning Network.
Analyzing these two problems in more detail:
(1) Most hashpower is behind the Great Firewall of China
Most hashpower is concentrated in China, behind what is essentially a network partition (or at least a major speed bump) on the global network topology: the Great Firewall of China.
So if blocks got really big, the miners outside of China might actually suffer more, not the miners inside China (who have pretty decent bandwidth amongst themselves).
(If you've already heard a million times about US jobs being exported to China, you can skip down to the next section - the short section starting with a sentence in bold saying "Wouldn't it be ironic...").
Now for a bit of economic background that most people know but I wanted to just review it here.
As we know, countries such as the USA used to have a solid domestic manufacturing base. But then the power elite in the USA discovered that it was easier to fire more-expensive US workers and let underpaid Chinese workers breathing smog produce cheaper (ie, lower-price and often lower-quality) versions of those same goods - and then the Fed could just print up unlimited little pieces of paper (fiat US Dollars) to import all that stuff to the USA.
Paying workers decent wages and keeping the air breathable would have been expensive, but the Chinese have evidently shown they're fine with sacrificing those things.
So now:
Anyways, most people know about this outsourcing and money-printing situation I've just described, but I mentioned it here as a lead-in to suggest a weird ironic point about mining in China (in bold at the start of the next, short section below).
As we also know, the world finally has real money now: Bitcoin.
It's "real" because it's not infinitely printable by private central bankers who inject it into the economy as usurious debt, and because, like gold, its value doesn't depend on any "counterparty": you simply hold your value yourself, and verify it yourself - assuming you have enough bandwidth to run a full a/k/a verifying node.
So, I'll finally give the weird ironic point I've been building up to:
Wouldn't it be ironic if - now that we finally have "real", quality money - we let its "manufacturing" (issuance, mining) be outsourced to China?
Because that looks like what we've actually been doing here.
Plus, maybe in some un-apparent, heretofore un-considered sense, the Great Firewall of China really might be the ultimate form of "capital control".
Forget all those articles you read on ZeroHedge about billions about dollars being smuggled out of China via Macau, with people strapping little bundles of cash to their bodies under their clothes:
What if the real massive hemorrhaging of capital which the Chinese authorities are worried about is Bitcoin itself - and what if that's the main reason why they're gonna make sure they keep the Great Firewall of China in place - to keep billions (and maybe someday trillions?) of dollars in Bitcoins inside China?
I don't think Satoshi took the Great Firewall of China into account in his planning. I think he just assumed there would be one globally connected internet, with no top-level partitions.
So here's some things to think about:
  • From what I'm told, the Chinese work hard and they're wild about saving money - they have trillions of dollars in T-Bills, and a lot of them are into gold. In the aggregate, the country is swimming in various forms of wealth.
  • Also: their government has strict capital controls in place to try to prevent people from expatriating vast sums of wealth out of China.
  • And finally: many Chinese want real money. They know the dollar or the yuan could crash, so they want something which has no counterparty risk (like gold or bitcoin).
So I'd be curious to know who the buyers really are for all the bitcoins currently being "cheaply" manufactured in China.
Do bitcoins mined in China stay in China - or do they get sold to the rest of the world?
I would guess that most early Bitcoin adopters with large hodlings who got in when it was really cheap were probably Westerners (assuming that early news about Bitcoin was more available in the West).
But now, while Bitcoin is "still" in the USD 400s (which could be cheap, if it survives long-term) - I wonder who the main buyers are these days?
Is it people like Blythe Masters and other bankers who are sitting on billions of USD - or is it the Chinese who are also sitting on billions of USD as well? (Or: Why not both?)
One group I'm pretty sure isn't buying up lots of bitcoins: "average Americans".
Why? Because they're too broke.
Since Nixon unlinked the USDollar from gold im 1971, Americans have been getting screwed by insidious inflation and all the debt bubbles which formed around all the essentials in life (the housing debt bubble, the student loan debt bubble, the healthcare and pharma debt bubble, and the credit bubble which fuels all the others). Most Americans don't have enough cash to survive for more than a few weeks, and most can't even afford to take sick days or parental leave from work. The only people who have money are the ones near the printing presses: the bankers and their buddies.
There's certainly massive volume on several of the Chinese exchanges - although most people over on /BitcoinMarkets claim that it's all "faked" (mainly because there's no fees on those exchanges, so a lot of those trades could be "wash trades").
So, maybe the Chinese themselves are actually buying up a lot of those freshly-mined bitcoins, in China, using the trillions of dollars of T-Bills sloshing around in their system over there?
(And remember where those T-Bills ultimately came from: US Dollars which the USA printed up to buy cheap goods produced by Chinese slaves breathing smog.)
So - and here's my point again:
Wouldn't it be ironic - now that the world finally has real, quality money - if we were actually currently outsourcing all of its production to China - and they (plus a handful of scattered bankers) are the ones who all buying up the first real asset the world has ever known, during its current "mid-priced" phase?
(2) Core / Blockstream / Peter Todd / Theymos / max blocksize / RBF / LN
Where to begin? I'm sure you all know the story. Just a few reminders about RBF terminology:
(a) There are two orthogonal "axes" or "dimensions" to the whole RBF terminology (but some people get this wrong - I have no idea if it's intentionally or accidentally):
  • "Opt-In" vs "On-By-Default": This means what it says: for each transaction, you either enable RBF, or you don't:
    • "Opt-In" means the sender has to enable RBF for a particular transaction (ie: it's off-by-default)
    • "On-By-Default" would mean that RBF is "always on" but the sender could disable it for a particular transaction.
  • "Full" vs "FSS":
    • "Full" means the sender can change everything about the transaction: not only the fee but also the amount and the recipient.
    • "FSS" stands for "First Seen Safe" (by the way, where do the pinheads over at Core even get this retarded non-descriptive terminology anyways: FSS, RBF??). FSS means that the sender can alter only the fee - the amount and the recipient cannot be changed.
So, which combo of the above is Peter Todd / Core currently trying to force on users?
Opt-In Full RBF
I reviewed the terminology here to pre-emptively shut up the liars who often pop into these threads spreading FUD like "But it's only Opt-In so it's not really Full".
That is simply wrong and I'm tired of them conflating those two orthogonal (ie independent) dimensions of the terminology.
And oh yeah, another thing: I have heard plenty of rumors that the long-term plan (from the traitors at Core / Blockstream) is to eventually (stealthily) force the worst form of RBF on everyone:
On-By-Default Full RBF
But that will come later - once the frogs being slowly boiled (us, the victims of Blockstream's hijacking of Satoshi's code) have gradually gotten acclimated to "Opt-In Full RBF".
Anyways, now that that's out of the way, let's talk about some other things regarding RBF:
Yes we know, we know: Peter is "merely" adding something which any hacker or malicious user could have added anyways (if they modded the code, or if they tried really hard to misuse it).
But there's plenty of stuff which anybody do by modding the code.
For example - anyone could change the code so that it accepts a different block size. (In fact, BU is mainly about making this easy for users - instead of making double-spending easy for users like RBF does.)
So the "convenience barrier" is an important factor helping shape what most users do with the code. If a feature isn't already in the code, most users don't bother modding the C/C++ code and recompiling it and adding it. (Which is one reason why zero-conf has worked pretty well for so long - another reason being that in face-to-face retail, the retailer kinda does KYC already - ie, they literally "know their customer" to a certain degree - so certain social pressures and norms such as reputation do come into play - but Peter Todd doesn't really believe in those things, as we know.)
Now, Theymos / Core / Blockstream keep screaming that it would be taboo to mod the code so that it would accept bigger blocks.
But when Blockstream wants mod the code so that it allows double-spending unconfirmed transactions - well, in it goes.
That's because the real reason they're so gung-ho to get Full RBF added is because LN needs Full RBF in order to be able to work.
So... when certain people say "we need to allow confused users to be able to unstuck their transactions", they're lying.
The liars at Blockstream don't care about users, and they don't care about miners. They want to rip off users (making them pay massive fees for space on an artificially tiny blockchain) and then in a double-whammy they want to rip off miners as well (stealing fees from those miners, via LN).
Attention Bitcoin users and miners: Core / Blockstream don't care about you, and they're willing to lie to you in order to rip you off.
As Mike Hearn mentioned in his farewell essay today, Blockstream CTO Gregory Maxwell once "mathematically proved" that Bitcoin could not exist.
And Blockstream founder Adam Back missed the boat on being an early adopter of Bitcoin, because when he first heard about it years ago, he also didn't think it would work.
And the gullible Chinese miners are running software from these liars at Blockstream who don't believe in Bitcoin who are sabotaging Satoshi's code to decrease user adoption (and price)) and eventually steal miners' fees. If miners continue to blindly follow Core / Blockstream, it's going to hurt the miners themselves.
The Nine Miners of China: "Core is a red herring. Miners have alternative code they can run today that will solve the problem. Choosing not to run it is their fault, and could leave them with warehouses full of expensive heating units and income paid in worthless coins." – tsontar
And users who are still gullible enough to adopt a decentralized currency and then read about it on centralized censored forums controlled by some dweeb named Theymos are also going along with this.
Anyways, that's my rant for today.
Summary / Conclusions - plus a possible "nuclear" option (see the bold part below!)
The main obstacles which Bitcoin needs to get around now are:
  • the concentration of hashpower behind the Great Firewall in China
  • the adoption of Peter Todd's RBF which would provide a GUI telling users they can and should double-spend or reverse transactions which haven't been confirmed on the blockchain yet
  • allowing Core / Blockstream to artificially limit space on the blockchain - which drives up user fees, clogs the network, and supports their LN vaporware (which would also steal fees from miners)
  • if you signed up for a decentralized permissionless currency and you're happy to read about it on a centralized censored website owned by Theymos (/bitcoin,, then you're doing it wrong.
These things were not what Satoshi envisioned, and I suggest we focus on trying to figure out how to get around them.
Solutions which de-emphasize the importance of Chinese miners might be important. If their blind obedience to Core / Blockstream is one of the main factors killing Bitcoin, then why should we protect them?
Maybe if we're going to hard-fork, we shouldn't just bump up the max blocksize - maybe we should also invoke the nuclear option and change the PoW algorithm to bump the Chinese miners off the network.
Because, the whole story about needing small blocks "so that Luke-Jr with his shitty internet can stay on the network" is another lie being peddled by Blockstream.
The real reason was identified by Gavin:
"The physical bottleneck on the network today is not bandwidth to people's homes, it is the Great Firewall of China."
So, if the Chinese are willing to throw Bitcoin under the bus for their short-term profits (and Core / Blockstream currently helping them).. then maybe we should be willing to throw the Chinese miners under the bus now for the long-term success of Bitcoin.
And, regarding Core / Blockstream, I we're actually making good progress towards routing around their damage - because if coders don't give users the code they want, those coders eventually get left by the wayside - and this is starting to happen now.
We already have several repos, (Classic, BU, XT) all of which will add some form of "max blocksize" increase. I wouldn't be surprised if some of those repos might also decide to omit RBF.
The new Bitcoin repos can easily cherry-pick features from "Core" which they did and didn't like - and they're going to have to compete to gain users.
So "max blocksize" is definitely going to increase.
And RBF could be abandoned in the garbage heap of history, another curious bit of vandalism which gave Peter Todd another 15 minutes of fame and drama, and then the rest of the world moved on and got back to business.
And finally, regarding Theymos: he's gonna lose his power eventually. He's already lost a lot. Plus he's sloppy and careless and one of his screw-ups will eventually be his undoing.
In the meantime, remember that it's easy to route around him on Reddit, by using a multi:
submitted by ydtm to btc [link] [comments]

Use the BTCP full Node on a Ubuntu 16.04 LTS from Terminal

In this post I want to show some use of the CLI BTCP wallet from linux terminal.
First of all, use this tutorial with small amount of BTCP, for example i used 0,01 BTCP, until you feel confortable with commands. An error can happen easily and as result you can loose your money. Be careful! Do it at your risk!
I consider you have already installed the wallet following this instructions:
I use Ubuntu 16.04 LTS 64bit, but commands are similar for the windows client.
Open a terminal from your Ubuntu Desktop:
[email protected]:~$ 
[email protected]:~$ ./BitcoinPrivate/src/btcpd --daemon 
you should see the message:
BTCP server starting 
This means the wallet is running in daemon mode.
to stop the node just typing:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli stop 
BTCP server stopping 
You can also run the wallet in terminal, is nice to see it, let's try:
 [email protected]:~$ ./BitcoinPrivate/src/btcpd 
You will see the BTCP logo in text mode and the following info:
Thank you for running a Bitcoin Private node! You're strengthening the network and contributing to a social good. To ensure you are fully protecting your privacy when running BTCP, see . Block height | 340079 Connections | 8 Network solution rate | 8359387 Sol/s You are currently not mining. To enable mining, add 'gen=1' to your btcprivate.conf and restart. Since starting this node 1 minutes, 33 seconds ago: - You have validated 695 transactions! [Press Ctrl+C to exit] [Set 'showmetrics=0' to hide] 
See, you can also mine using the wallet! Nice! Just add gen=1 in the file btcprivate.conf. Probably you will never mine a coin, but still you to strenght the net, so, you can try if you want, then disable it when done:
Press CTRL and C to stop the server, then restart the server in daemon mode otherwhise you have to open a new terminal.
Let's find btcprivate.conf and other useful files:
[email protected]:~$ cd .btcprivate [email protected]:~/.btcprivate$ ls 
blocks btcprivate.conf chainstate db.log debug.log fee_estimates.dat peers.dat wallet.dat 
You see here: btcprivate.conf and wallet.dat
Edit configuration file:
[email protected]:~/.btcprivate$ pico btcprivate.conf 
add gen=1 if you want to mine, then CTRL X and Y to save.
Restart the wallet....and....
Block height | 340091 Connections | 8 Network solution rate | 8211926 Sol/s Local solution rate | 0.0075 Sol/s Since starting this node 8 minutes, 5 seconds ago: - You have validated 684 transactions! - You have completed 1 Equihash solver runs. You are mining with the default solver on 1 threads. 
Congratulations! You are mining!
Now have a look to the wallet.dat file:
Nb: wallet.dat is your wallet!! If you delete it you will loose all your money!!!
wallet.dat is not encrypted, so, if you want to backup it i do as follows:
[email protected]:~/.btcprivate$ cp wallet.dat home/btcp/Desktop/wallet_btcp_back.dat 
Now you will find the wallet on your desktop. Zip it with an AES256 encryption and a strong password. Test if it works properly: extract it again and copy it in the directory, but before make an other copy of the wallet.dat file. Beware! I almost deleted the file once!
Nb: wallet.dat is your wallet!! If you delete it you will loose all your money!!!
Go back to your home directory, now, we want to play with our wallet:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli help 
if everything is running properly, you will see a list of commands like this:
z_exportwallet "filename" z_getbalance "address" ( minconf ) z_getnewaddress z_getoperationresult (["operationid", ... ]) z_getoperationstatus (["operationid", ... ]) z_gettotalbalance ( minconf ) z_importkey "zkey" ( rescan startHeight ) z_importwallet "filename" z_listaddresses z_listoperationids z_listreceivedbyaddress "address" ( minconf ) z_sendmany "fromaddress" [{"address":... ,"amount":...},...] ( minconf ) ( fee ) z_shieldcoinbase "fromaddress" "tozaddress" ( fee ) zcbenchmark benchmarktype samplecount zcrawjoinsplit rawtx inputs outputs vpub_old vpub_new zcrawkeygen zcrawreceive zcsecretkey encryptednote zcsamplejoinsplit [email protected]:~$ 
Nice! Wallet is running properly. Now try an other command: getinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getinfo 
{ "version": 1001251, "protocolversion": 180004, "walletversion": 60000, "balance": 0.00000000, "blocks": 340074, "timeoffset": 0, "connections": 8, "proxy": "", "difficulty": 167290.7158221716, "testnet": false, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000, "relayfee": 0.00000100, "errors": "" } [email protected]:~$ 
You see some useful info about your wallet/node:
blocks is the block heights, in this case is synced with the network. If not the number would be lower.
The wallet is connected to other 8 nodes, the balance is 0.00 BTCP
An other info command can be getblockchaininfo:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getblockchaininfo 
{ "chain": "main", "blocks": 340074, "headers": 340074, "bestblockhash": "0000000145c0011d8e914f4ba68d1443c7ae0dd15bdf0bc300994dd5282710aa", "difficulty": 165971.1181999981, "verificationprogress": 0.9999992572690658, "chainwork": "0000000000000000000000000000000000000000000000000002e8314e4484da", "pruned": false, "commitments": 663480, 
we see syncing is almost finished:
"verificationprogress": 0.9999992572690658, (99,99999%)
Now test the wallet with command getwalletinfo
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 0, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } [email protected]:~$ 
Now we want to send some btcp to this wallet. First we need an address, get one using getnewaddress:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getnewaddress 
b1Cabjwvcce7N8ea9Gxxxxxxxxxxxxxxxx [email protected]:~$ 
Send at this address some BTCP, i sent 0.01 for testing purpose using your ledger, or your wallet, then check if the transaction is done:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
{ "walletversion": 60000, "balance": 0.00000000, "unconfirmed_balance": 0.01000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
Done! Unconfirmed balance is 0.01! Just wait some confirmations.
after a while:
"walletversion": 60000, "balance": 0.01000000, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 1, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 
Now send the coins to a new address. I am using this command:
sendtoaddress "btcpaddress" amount ( "comment" "comment-to" subtractfeefromamount )
subtractfeefromamount parameter can be true or false
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli sendtoaddress "b1Nb42GoK9kmsxxxxxxxxxxxxx" 0.01 "" "" true 
2c5d3d1a3b5eec414b721d3817487f53c5eebxxxxxxxxxxxxxxx [email protected]:~$ 
Now check the wallet:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli getwalletinfo 
{ "walletversion": 60000, "balance": 0.00999808, "unconfirmed_balance": 0.00000000, "immature_balance": 0.00000000, "txcount": 2, "keypoololdest": 1528833903, "keypoolsize": 101, "paytxfee": 0.00000000 } 
I sent BTCP to the same wallet, so now i have less BTCP because of the fees.
try more commands:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listreceivedbyaddress 
[ { "address": "b1Ep2wi2tUnKf433Vaxxxxxxxxxxxx", "account": "", "amount": 0.01000000, "confirmations": 6, "txids": [ "833533440a13c09fda6e90d0c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] }, { "address": "b1Nb42GoK9kmsVZ9KPxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "account": "", "amount": 0.00999808, "confirmations": 1, "txids": [ "2c5d3d1a3b5eec414b721d3817487f53c5xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] } 
This is the list of all used addresses.
Now find the money and the address where they are: use listunspent
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
[ { "txid": "2c5d3d1a3b5eec414b721d381748xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1Nb42GoK9kxxxxxxxxxxxxxx", "account": "", "scriptPubKey": "76a914c6bdf3bc8aedxxxxxxxxxxxxxxxxxx", "amount": 0.00999808, "confirmations": 6, "spendable": true 
Well done.
Other useful commands can be: dumpprivkey to extract the private key from an address
Be careful! Exposing your private keys will end in loosing your money
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli dumpprivkey b1Ep2wi2tUnxxxxxxxxxxx 
Obtaining the pvt key:
And now, swipe the private key using the command: importprivkey "btcpprivkey" ( "label" rescan )
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli importprivkey "Kz29e62Bmxxxxxxxxxxxxxxxxxxxxx" "" true 
Let's do a shielded transaction!
first, you must have a z_address:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getnewaddress 
Check balaces, with also z_addres:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_gettotalbalance 
{ "transparent": "0.00999808", "private": "0.00", "total": "0.00999808" } 
Now send some BTCP to the z_address. First, check where BTCP are:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli listunspent 
[ { "txid": "72f568d1ed51524b69f1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "vout": 0, "generated": false, "address": "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx", "scriptPubKey": "76axxxxxxxxxxxxxxxxxxxxxxxxxxxxxxe088xx", "amount": 0.00889808, "confirmations": 556, "spendable": true } ] 
Now, sent a little transparent amount to the shielded address we got before:
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_sendmany "b1LDhxBJxxxxxxxxxxxxxxxxxxxxxx" "[{\"amount\":0.001, \"address\":\"zkEvCiVwgHb3xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"}]" 
Now your PC will work a while, it's CPU
[email protected]:~$ ./BitcoinPrivate/src/btcp-cli z_getoperationresult 
until you receive the answer:
[ { "id": "opid-xxxxxx-xxxxx-4a5d-beb2-xxxxxxxxxx", "status": "success", "creation_time": 1529426885, "result": { "txid": "f87e8d5e96a8a0xxxxxxxxxxxxxxx" }, "execution_secs": 216.686332567, "method": "z_sendmany", "params": { "fromaddress": "b1LDhxxxxxxxxxxx", "amounts": [ { "amount": 0.001, "address": "zkEvCiVwgHb3NFxxxxxxxxxxxxxxxxxxR" } ], "minconf": 1, "fee": 0.0001 } } ] 
Done! On my old PC it took 216.68 seconds!
Next will be a reverse operation, from Shielded address to transparent address. See you soon....
Play with your full node wallet and have fun.
Remember: these commands are almost the same in all the bitcoin based coins, so you also learnt how to use many other wallets!
submitted by xivan71 to u/xivan71 [link] [comments]

F2Pool has enabled full replace-by-fee | Peter Todd | Jun 19 2015

Peter Todd on Jun 19 2015:
Yesterday F2Pool, currently the largest pool with 21% of the hashing
power, enabled full replace-by-fee (RBF) support after discussions with
me. This means that transactions that F2Pool has will be replaced if a
conflicting transaction pays a higher fee. There are no requirements for
the replacement transaction to pay addresses that were paid by the
previous transaction.
I'm a user. What does this mean for me?
In the short term, very little. Wallet software aimed at average users
has no ability to reliably detect conditions where an unconfirmed
transaction may be double-spent by the sender. For example, Schildbach's
Bitcoin Wallet for Android doesn't even detect double-spends of
unconfirmed transactions when connected to a RBF or Bitcoin XT nodes
that propagate them. The least sophisticated double-spend attack
possibly - simply broadcasting two conflicting transactions at the same
time - has about 50% probability of success against these wallets.
Additionally, SPV wallets based on bitcoinj can't even detect invalid
transactions reliably, instead trusting the full node(s) it is connected
too over the unauthenticated, unencrypted, P2P protocol to do validation
for them. For instance due to a unfixed bug¹ Bitcoin XT nodes will relay
double-spends that spend the output of the conflicting transaction. I've
personally tested this with Schildbach's Bitcoin Wallet for Android,
which shows such invalid transactions as standard, unconfirmed,
Users should continue to assume that unconfirmed transactions could be
trivially reversed by the sender until the first confirmation. In
general, only the sender can reverse a transaction, so if you do trust
the sender feel free to assume an unconfirmed transaction will
eventually confirm. However, if you do not trust the sender and/or have
no other recourse if they double-spend you, wait until at least the
first confirmation before assuming the transaction will go through.
In the long term, miner support of full RBF has a number of advantages
to users, allowing you to more efficiently make transactions, paying
lower fees. However you'll need a wallet supporting these features; none
exist yet.
I'm a business. What does this mean for me?
If you use your own node to verify transactions, you probably are in a
similar situation as average users, so again, this means very little to
If you use a payment processotransaction API such as BitPay, Coinbase,
BlockCypher, etc. you may or may not be accepting unconfirmed
transactions, and they may or may not be "guaranteed" by your payment
processor even if double-spent. If like most merchants you're using the
API such that confirmations are required prior to accepting orders (e.g.
taking a meaningful loss such as shipping a product if the tx is
reversed) nothing changes for you. If not I recommend you contact your
payment processor.
I'm a miner. Why should I support replace-by-fee?
Whether full or first-seen-safe⁵ RBF support (along with
child-pays-for-parent) is an important step towards a fully functioning
transaction fee market that doesn't lead to users' transactions getting
mysteriously "stuck", particularly during network flooding
events/attacks. A better functioning fee market will help reduce
pressure to increase the blocksize, particularly from the users creating
the most valuable transactions.
Full RBF also helps make use of the limited blockchain space more
efficiently, with up to 90%+ transaction size savings possible in some
transaction patterns. (e.g. long payment chains⁶) More users in less
blockchain space will lead to higher overall fees per block.
Finally as we'll discuss below full RBF prevents a number of serious
threats to the existing level playing field that miners operate in.
Why can't we make accepting unconfirmed txs from untrusted people safe?
For a decentralized wallet, the situation is pretty bleak. These wallets
only have a handful of connections to the network, with no way of
knowing if those connections give an accurate view of what transactions
miners actually know about.
The only serious attempt to fix this problem for decentralized wallets
that has been actually deployed is Andresen/Harding's double-spend
relaying, implemented in Bitcoin XT. It relays up to one double-spend
transaction per double-spent txout, with the intended effect to warn
recipients. In practice however this functionality makes it easier to
double-spend rather than harder, by giving an efficient and easy way to
get double-spends to miners after the fact. Notably my RBF
implementation even connects to Bitcoin XT nodes, reserving a % of all
incoming and outgoing connection slots for them.
Additionally Bitcoin XT's double-spend relaying is subject to attacks
include bandwidth exhaustion, sybil attacks, and Gervais's non-sybil
interactive attacks⁷ among many others.
What about centralised wallets?
Here the solutions being deployed, planned, and proposed are harmful,
and even represent serious threats to Bitcoin's decentralization.
Confidence factors
Many services such as BlockCypher² have attempted to predict the
probability that unconfirmed transactions will be mined, often
guaranteeing merchants payment³ even in the event of a double-spend. The
key component of these predictions is to sybil attack the P2P network as
a whole, connecting to as many nodes as possible to measure transaction
propagation. Additionally these services connect to pools directly via
the getblocktemplate protocol, repeatedly downloading via GBT the lists
of transactions in the to-be-mined blocks to determine what transactions
miners are attempting to mine.
None of these measures scale, wasting significant network and miner
resources; in one instance a sybil attack by Chainalysis even completely
blocked the users of the SPV wallet Breadwallet⁴ from accessing the
network. These measures also don't work very well, giving double-spend
attackers incentives to sybil attack miners themselves.
Transaction processing contracts with miners
The next step after measuring propagation fails is to contract with
miners directly, signing contracts with as much of the hashing power as
possible to get the transactions they want mined and double-spends
rejected. The miners/pools would then provide an authenticated API
endpoint for exclusive use of this service that would allow the service
to add and remove specific transactions to the mempool on demand.
There's a number of serious problems with this:
1) Mining contracts can be used to double-spend
...even when they're being used "honestly".
Suppose Alice is a merchant using CoinPayCypher, who has contracts with
75% of the hashing power. Bob, another merchant, meanwhile uses a
decentralized Bitcoin Core backend for payments to his website.
Mallory wants to double-spend Bob's to buy his expensive products. He
can do this by creating a transaction, tx1, that pays Alice, followed by
a second transaction, tx2, that pays Bob. In any circumstance when
Mallory can convince Bob to accept tx2, but prevent Bob from seeing tx1,
the chance of Malory's double-spend succeeding becomes ~75% because
CoinPayCypher's contracts with mining ensure the transaction paying
Alice will get mined.
Of course, dishonest use and/or compromise makes double-spending
trivial: Malory can use the API credentials to ask miners to reject
Bob's payment at any time.
2) They still don't work, without 51% attacking other miners
Even if CoinPayCypher has 75% of the hashing power on contract, that's
still a potentially 75% chance of being double-spent. The 25% of miners
who haven't signed contracts have no decentralized way of ensuring
they don't create blocks with double-spends, let alone at low cost. If
those miners won't or can't sign contracts with CoinPayCypher the only
next step available is to reject their blocks entirely.
3) Legal contracts give the advantage to non-anonymous miners in
Western jurisdictions
Suppose CoinPayCypher is a US company, and you're a miner with 1%
hashing power located in northern China. The barriers to you succesfully
negotiating a contract with CoinPayCypher are significant. You don't
speak the same langauge, you're in a completely different jurisdiction
so enforcing the legal contract is difficult, and being just 1%,
CoinPayCypher sees you as insignificant.
Who's going to get the profitable hashing power contracts first, if at
all? Your English speaking competitors in the west. This is inherently a
pressure towards centralization of mining.
Why isn't this being announced on the bitcoin-security list first?
I've had repeated discussions with services vulnerable to double-spends;
they have been made well aware of the risk they're taking. If they've
followed my own and others' advice they'll at minimum have constant
monitoring of the rate of double-spends both on their own services and
on the P2P network in general.
If you choose to take a risk you should accept the consequences.
How do I actually use full RBF?
First get the full-RBF patch to v0.10.2:
The above implementation of RBF includes additional code to find and
preferentially connect to other RBF nodes, as well as Bitcoin XT nodes.
Secondly, try out my replace-by-fee-tools at:
You can watch double-spends on the network here:
1) "Replace-by-fee v0.10.2 - Serious DoS attack fixed! - Also novel
variants of existing attacks w/ Bitcoin XT and Android Bitcoin Wallet", 
Peter Todd, May 23rd 2015, Bitcoin-development mailing list,[email protected]/msg07795.html
2) "From Zero to Hero: Bitcoin Transactions in 8 Seconds",
June 2nd, 2014, Erik Voorhees,
3) Coinbase Merchant API, Accessed Jun 19th 2015,
4) "Chainalysis CEO Denies 'Sybil Attack' on Bitcoin's Network",
March 14th 2015, Grace Caffyn, Coindesk,
5) "First-Seen-Safe Replace-by-Fee",
May 25th 2015, Peter Todd, Bitcoin-development mailing list,
6) "Cost savings by using replace-by-fee, 30-90%",
May 25th 2015, Peter Todd, Bitcoin-development mailing list,[email protected]/msg07813.html
7) "Tampering with the Delivery of Blocks and Transactions in Bitcoin",
Arthur Gervais and Hubert Ritzdorf and Ghassan O. Karame and Srdjan Capkun, Cryptology ePrint Archive: Report 2015/578, Jun 10th 2015, []( 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 650 bytes
Desc: Digital signature
URL: <>
submitted by bitcoin-devlist-bot to bitcoin_devlist [link] [comments]

BIP99½ - An Optimized Procedure to Increase the Block Size Limit

BIP: 99½
Title: An Optimized Procedure to Increase the Block Size Limit
Author: Jorge Stolfi jstolfi
Status: Crufty Draft
Created: 2015-08-30
EDIT: Changed the critical block number from 385000 to 390000 (~2016-01-02).
EDIT2: Slight wording changes ("hopefully" "assuming" as per tsontar).
EDIT3: Changed again critical block number to 395000 (~2016-02-06). Note that the traffic has increased faster than expected, so all predictions would have to be updated.
This BIP proposes setting the maximum block size to 8 MB starting with block number 395000.
This proposal aims to postpone by a few years the imminent congestion of the Bitcoin network, which is expected to occur in 2016 if traffic continues to increase at the present rate. It also aims to reduce the risk of a crippling "spam attack", that could delay a large fraction of the legitimate traffic for hours or days at a relatively modest cost for the attacker.
The current average traffic T is ~120'000 transactions issued by all clients, per day (~1.38 tx/s, ~0.45 MB/block, ~830 tx/block assuming ~530 bytes/tx).
The maximum network capacity C with 1 MB blocks, revealed by the recent "stress tests", is ~200'000 tx/day (~2.32 tx/s, ~0.75 MB/block, ~1390 tx/block). Presumably, the main reason why it is less than 1 MB/block is because certain shortcuts taken by miners often force them to mine empty blocks. Note that the traffic now is 60% of the effective capacity.
Since the traffic rate has weekly, daily, and random fluctuations by several tens of percent, recurrent "traffic jams" (when T is higher than C for several tens of minutes) will start to occur when the average daily traffic is still well below the capacity -- say 80% (160'000 tx/day) or even less. For transactions issued during a traffic jam, the average wait time for first confirmation, which is normally 10-15 minutes, will jump to hours or even days. Fee adjustments may change the order in which individual transactions are confirmed, but the average delay will not be reduced by a single second.
Over the past 12 months, the traffic has approximately doubled, from ~60'000 tx/day. The growth seems to be linear, at the rate of 5000 tx/day per month. If the growth continues to be linear, it should reach 160'000 tx/day in ~8 months (before May 2016). If the growth is assumed to be exponential, it should reach that level in ~5 months, in February 2016.
If the maximum block size were lifted to 8 MB, assuming that empty and partial blocks would continue to be mined in about the same proportion as today, the effective capacity of the network should rise in proportion, to ~6 MB/block (1'600'000 tx/day, 5.90 tx/s). Based on last year's growth, the 80% capacity level (1'280'000 tx/day) will be reached in ~19 years assuming linear growth, and ~3.4 years assuming exponential growth.
Spam attacks
An effective spam attack would have to generate enough spam transactions, with suitable fees, to reduce the effective capacity of the network to a fraction of the legitimate traffic. Then the fraction of the traffic that cannot be serviced will pile up in the queues, forming a growing backlog until the spam attack ends; and the backlog will then clear at the rate limited by the free capacity C - T.
With the current capacity C (200'000 tx/day) and traffic T (120'000 tx/day) a spam attack that blocks half the legitimate traffic would require a spam rate S of at least C - T/2 = 140'000 tx/day (1.62 tx/s, 0.52 MB/block). The fee F per kB offered by those transactions would have to be larger than all but the top ~420 transactions in the queue. If that fee were to be 1 USD/tx, the attack may cost as little as 140'000 USD/day. The backlog of legitimate transactions would grow at the rate of T/2 = ~2500 tx/hour, and, when the attack stops, will be cleared at the maximum rate C - T = ~3300 tx/hour.
With 8 MB block limit, assuming that the effective capacity C will be 1.6 M tx/day and traffic T at 60% of the capacity (like today; expected to be the case 3 years from now), a spam attack that blocks half the traffic would require C - T/2 = 1.12 M tx/day of spam (8 times what an attack would require today). If the required fee F were to be 1 USD/tx, the attack would cost 1.12 million USD per day (ditto).
The maximum block size would be programmed to be 1 MB until block number 394999, and 8 MB starting with block 395000; which, at 144 blocks/day, is expected to be mined around 2016-02-06.
On the test network, the increase will start with block 390000, which is expected to be mined around 2016-01-02.
In the interest of a quick and uneventful passage through that block number, major miners should publicly state their approval or rejection of it as soon as possible.
If and when the plan is approved by miners comprising a majority of the hashpower, all miners and clients should be alerted and urged to upgrade or modify their software so that it accepts blocks up to 8 MB after the stated block number.
If and when the plan is rejected by miners comprising a majority of the hashpower, all miners and clients shoudl be alerted and warned that this BIP will not be implemented.
The proposal should have a good chance to be approved and implemented, since the five largest Chinese miners (who have more than 50% of the total hash rate) have already stated in writing that they would agree to an increase of the limit to 8 MB by the end of the year, even theough they did not approve futher increases (in particular, the doublings specified by BIP101). Several major services and other miners have expressed approval for such an increase in the net.
There have been claims that increasing the block size beyond 1 MB would have negative consequences for the health of the network. However, no serious effects were demonstrated, by argument or experimentally. There are worrisome trends in sme parameters, such as the number of full nodes and and the centralization of mining; but those trends obviously are not related to the block size limit, and there is no reason to expect that they would be halted or reversed by imposing a 1 MB cap on the block size starting next year.
It should be noted that the increase is only on the block size limit; the actual block sizes will continue to be determined by the traffic. Even with optimistic forecasts, the average block size should not exceed the 1 MB limit before the end of 2016. If any harmful effects of larger blocks are demonstrated until then, the limt can be reduced again by decision of a majority of the miners.
It has been claimed that netowrk congestion would be beneficial since it would create a "fee market" whereby clients would compete for space in the blocks by paying higer transaction fees. It has been claimed that those fees would compensate for the drop in miners revenue that will follow the next reward halving in 2016. It has also been claimed that the higher fees will inhibit spam and other undesirable uses of the blockchain. However, the "fee market" would be a fundamental totally untested change in the client view of the system. It proposes a novel pricing mecanism that is not used by any existing commercial service, physical or internet-based. There is no evidence that the "fee market" would work as claimed, or that it would achieve any of its expected results. (Rather, there are arguments that it would not.) Congestion would defintely put a cap on usage of the protocol, reduce its value as a payment system, and drive away much legitimate traffic. Congestion, and the unpredictable delays that result from it, are also unlikely to make bitcoin attractive to high-value non-payment uses, such as settlements of other networks or notarization of asset trades. And, mainly, there is no reason to expect that the fee market will generate enough fees to cover the 500'000 USD/day that the miners will lose with the next halving.
If this change to the Bitcoin protocol gets implemented by a majority of the miners, all players will have to replace or modify their software so that it accepts blocks up to 8 MB after block 395000.
Miners who fail to do so may soon find themselves mining a minority branch of the blockchain, that grows at a much slower rate, will probably be congested from the start, and will probably die soon. That branch will probably be ignored by all major services, therefore any rewards that they earn on that branch will probably be worthless and soon unspendable.
Clients who fail to upgrade or fix their software will not "see" the majority-mined chain once someone creates a block with more than 1 MB. Then, those clients will either be unable to move their coins until they fix their software, or may see only the minority branch above. Transactions that they issue before the fix may get confirmed on the main branch, but may appear to remain unconfirmed on the minority chain. Useof tools like replace-by-fee or child-pays-for-parent while in that state may give confusing results.
The author has never owned or used bitcoin, and has a rather negative view of it. In fact, he is a regular contributor to /buttcoin. While he sees bitcoin as a significant advance toward its stated goal ("a peer-to-peer payment system that does not depend on trusted third parties"), and finds bitcoin interesting as a computer science experiment, he is quite skeptical about its chances of widespread adoption. He also deplores the transformation of bitcoin into a negative-sum pyramid investment schema, which not only has spread much misery and distress allover the world, but has also spoiled the experiment by turning mining into an industrial activity controlled by half a dozen large companies. He hopes that the pyramid will collapse as soon as possible, and that the price will drop to the level predicted by the money velocity equation, so that the aberrant mining industry will disappear. (However, he does not think that this BIP will help to achieve this goal; quite the opposite, unfortunately.)
submitted by jstolfi to bitcoin_uncensored [link] [comments]

[Guide] How to start using Bitcoins

Introductory video
In the past few weeks, interest in the online cryptocurrency called Bitcoin has increased dramatically, largely due to its rapidly rising price. While it is relatively simple to use once everything is understood, the initial set-up is admittedly daunting and fairly complex. Given that Bitcoin is remarkably useful as an online transaction tool, I hope to clear up some misunderstandings and outline how to quickly and safely start trading with Bitcoins.
How do Bitcoins help me?
Before explaining how to get started, I’ll briefly summarize why Bitcoin is so attractive for traders:
Alright, cool. I’m on board. So what do I do now?
If you’ve decided to buy Bitcoins, the first step is to choose a wallet. A number of options are available, each with their own advantages. I personally recommend’s wallet, since is easy to create and for the most part hassle-free, while also providing additional security and advanced use features. If you intend to store a large quantity of Bitcoins, however, it may not be ideal for you. If you live in the United States, Coinbase may be your best bet--though you'll need to provide personal information in order to fully utilize its features.
Note that if you are buying a significant amount of Bitcoin, you should not use an online wallet: look into downloading a desktop wallet client to store your bitcoins. They are much more difficult to set up safely, but are the most secure storage method if the proper steps are taken.
Now that I have a wallet, how do I buy Bitcoins?
Unfortunately, here’s where things get a tad complicated, and many people shy away after experiencing difficulties. The primary reason why it is hard to buy is that it is almost impossible to buy Bitcoins using credit cards, PayPal, or any other method that can be charged back. In addition, nearly all exchanges and vendors require some form of identity verification prior to selling; depending on the website, this process may take up to several days. If you anticipate that you will need Bitcoins for a trade in the future, start buying them in advance! Below are a few of the more popular sites to buy Bitcoins internationally; please keep in mind that they all have different verification and funding processes, so you should research which one best meets your needs.
Finally bought my Bitcoins! How do I spend them?
Once you have your wallet set up, but you want to transfer your Bitcoins to another account, simply ask the other person for their Bitcoin Address (it should look like a string of random characters; here is mine, for example: 1GEKaHGoauYSoEHzGj3TRL9tFqrtNA9oUt). The Bitcoins should arrive in the new wallet immediately; as the seller, however, it is important to remember to check that the transaction was confirmed on (a transaction that can still be reversed will say "Unconfirmed Transaction!" in red).
Of course, use a middleman when buying or selling virtual items for Bitcoins. There is no dispute process: once you send the Bitcoins, they are gone. There is an escrow (middleman) service called BTCrow, which could be cool if someone wants to experiment with it, but I have personally never tried it, and cannot recommend it as I do not know how their dispute process works.
Closing notes:
There's quite a bit more information out there, and I highly recommend researching extensively before committing any money to something this new and potentially unstable.
submitted by AONomad to Dota2Trade [link] [comments]

Block size adjustment idea - expedience fees + difficulty scaling proportional to block size (+ fee pool) | Natanael | Mar 30 2017

Natanael on Mar 30 2017:
I had these following ideas as I was thinking about how to allow larger
blocks without incentivizing the creation of excessively large blocks. I
don't know how much of this is novel, I'd appreciate if anybody could link
to any relevant prior art. I'm making no claims on this, anything novel in
here is directly released into public domain.
In short, I'm trying to rely on simple but direct incentives to improve the
behavior of Bitcoin.
Feedback requested. Some simulations requested, see below if you're willing
to help. Any questions are welcome.
Expedience fees. Softfork compatible.
You want to really make sure your transaction gets processed quickly?
Transactions could have a second fee type, a specially labeled
anyone-can-spend output with an op_return value defining a "best-before"
block number and some function describing the decline of the fee value for
every future block, such that before block N the miners can claim the full
expedience fee + the standard fee (if any), between block N+1 and N+X the
miner can claim a reduced expedience fee + standard fee, afterwards only
the standard fee.
When a transaction is processed late such that not the full expedience fee
can be claimed, the remainder of the expedience fee output is returned to
the specified address among the inputs/outputs (could be something like
in#3 for the address used by the 3rd UTXO input). This would have to be
done for all remaining expedience fees within the last transaction in the
block, inserted there by the miner.
These additional UTXO:s does increase overhead somewhat, but hopefully not
by too much. If we're going to modify the transaction syntax eventually,
then we could take the chance to design for this to reduce overhead.
My current best idea for how to handle returned expedience fees in
multiuser transactions (coinjoin, etc) is to donate it to an agreed upon
address. For recurring donation addresses (the fee pool included!), this
reduces the number of return UTXO:s in the fee processing transaction.
The default client policy may be to split the entire fee across an
expedience fee and a fee pool donation, where the donation part becomes
larger the later the transaction gets processed. This is expected to slow
down the average inclusion speed of already delayed transactions, but they
remain profitable to include.
The dynamics here is simple, a miner is incentivized to process a
transaction with an expedience fee before a standard fee of the same
value-per-bit in order to not reduce the total value of the available fees
of all standing transactions they can process. The longer they wait, the
less total fees available.
Sidenote: a steady stream of expedience fees reduces the profitability of
block withholding attacks (!), at some threshold it should make it entirely
unprofitable vs standard mining. This is due to the increased risk of
losing valuable expedience fees added after you finished your first block
(as the available value will be reduced in your block #2, vs what other
miners can claim while still mining on that previous block).
(Can somebody verify this with simulations?)
Fee pool. Softfork compatible.
We want to smooth out fee payments too for the future when the subsidy
drops, to prevent deliberate forking to steal fees. We can introduce a
designated P2SH anyone-can-spend fee pool address. The miner can never
claim the full fees from his block or claim the full amount in the pool,
only some percentage of both. The remainder goes back into the pool (this
might be done at the end of the same expedience fee processing transaction
described above). Anybody can deliberately pay to the pool.
The fee pool is intended to act as a "buffer" such that it remains
profitable to not try to steal fees but to just mine normally, even during
relatively extreme fee value variance (consider the end of a big
international shopping weekend).
The fee value claimed by the miners between blocks is allowed to vary, but
we want to avoid order-of-magnitude size variation (10x). We do however
want the effect of expedience fees to have an impact. Perhaps some
logarithmic function can smooth it out? Forcing larger fees to be
distributed over longer time periods?
Block size dependent difficulty scaling. Hardfork required.
Larger blocks means greater difficulty - but it doesn't scale linearly,
rather a little less than linearly. That means miners can take a penalty in
difficulty to claim a greater number of high fee transactions in the same
amount of time (effectively increasing "block size bitrate"), increasing
their profits. When such profitable fees aren't available, they have to
reduce block size.
In other words, the users literally pay miners to increase block size (or
don't pay, which reduces it).
(Sidenote: I am in favor of combining this with the idea of a 32 MB max
blocksize (or larger), with softforked scheduled lower size caps (perhaps
starting at 4 MB max) that grows according to a schedule. This reduces the
risk of rapidly increasing load before we have functional second layer
scaling in place.)
In order for a miner to profit from adding additional transactions, their
fees must exceed the calculated cost of the resulting difficulty penalty to
make it worth it to create a larger block. Such loads are expected during
international shopping weekends.
With only a few available high value transactions the incentive becomes the
reverse, to create a smaller block with lower difficulty to faster claim
those fees.
To keep the average 10 minute block rate and to let this mechanism shift
the "block size bitrate" as according to the fee justified block size
changes, we set an Expected blocksize value that changes over time, and we
change the difficulty target into the Standard difficulty target, where
each block must reach a Scaled difficulty target .
In terms of math we do something like this:
Scaled difficulty = Standard difficulty * f(blocksize), where f would
likely be some logarithmic function, and blocksize is defined in terms of
units of Expected blocksize (a block 1.5x larger than Expected blocksize
gets a value of 1.5).
When we retarget the Standard difficulty and Expected blocksize we do this:
Standard difficulty = Network hashrate per 10 minutes (approximately same
as before, but now we take the Scaled difficulty of the last period's
previous blocks into consideration)
Standard blocksize = Recent average effective block bitrate = (sum of
recent (weighted!) block sizes / length of timeperiod) / number of blocks
in a retargeting period.
Thus, generating larger blocks drives up the long term standard block
bitrate, smaller blocks reduces it, in both cases we strive to average 1
block per 10 minutes.
Combining this with expedience fees makes it even more effective;
There's always a cutoff for where a miner stops including unprocessed
transactions and let the rest remain for the next block. For standard fees,
this would result in a fairly static block size and transactions backlog.
With expedience fees your transaction can bypass standard fees with same
value-per-bit, as explained above, because otherwise the miners reduces the
value of their future expected fees. The more people that do this, the
greater incentive to not delay transactions and instead increase the
blocksize. (Can somebody help with the math here? I want simulations of
(Sidenote: I'm in favor of RBF, replace-by-fee. This makes the above work
much more smoothly. Anybody relying on the security of unconfirmed
transactions for any significant value have to rely on some kind of
incentive protected multisignature transaction, including LN type second
layer schemes. The other option is just not secure.)
If load is low then you can add a high expedience fee to incentivize the
creation of a smaller block with your transaction, since difficulty will be
reduced for the smaller block. This means the miner has a higher chance of
beating the competition. Adding additional lower fee transactions may
reduce his average value-per-bit to become less profitable.
Miners simply aim to maximize their fees-per-bit, while also paying as
little as possible in mining costs.
To make this work as intended for those willing to explicitly pay to reduce
block size, one could tag such an expedience fee with a maximum allowed
blocksize (where the fee will be claimed in such a smaller block if it is
the more profitable option), such that it won't be countered by others
making more high expedience fees to increase blocksize. Note: I'm not
particularly in favor of this idea, just mentioning the possibility.
-------------- next part --------------
An HTML attachment was scrubbed...
submitted by dev_list_bot to bitcoin_devlist [link] [comments]

Blockchain Unconfirmed Transactions Hacked Free Script ... Unconfirmed Transaction Blockchain - Script Free 2020 ... Can you cancel your bitcoin transaction? Solution to Unconfirmed Bitcoin Transactions Cancel BTC Transfer Transaction Blockchain 2019 - YouTube

Bitcoin transactions are classified as unconfirmed if they have not been received a confirmation on the blockchain within 24 hours of the transaction taking place. All the transactions are confirmed by miners who do the “work” and three separate confirmations are needed for a transaction to be considered fully confirmed. Disclosure: This content is reader supported. Your support helps me to keep this site running! When you click any link to some services, or products recommended here, i’ll earn comission […] How To Fix [Reverse] Bitcoin Unconfirmed Transactions. adessonews; Disclosure: This content is reader supported! When you click on some links in this page, small comission will be paid to me at no extra cost to you. Your support helps to keep this site running, so thanks in advance. Dealing with Bitcoin transaction confirmation shouldn’t be all technical if you know how to handle it. In this ... The transaction fee you chose was too low, or not included entirely; The stalled transaction remained unconfirmed for more than 24 hours. How to reverse Bitcoin transaction. Firstly, before reversing Bitcoin unconfirmed transactions, make sure it doesn’t have confirmations yet, or this trick may not work as expected. You must be sure of the ... The fee for the transaction was not entirely included or was too low. One simple rule applies when it comes to bitcoin transactions: the smaller the amount, the lower its chances of a successful confirmation. If you choose too minimal a transaction fee, it may not get confirmed by miners. If, after 24 hours, your transaction remains unconfirmed ...

[index] [45615] [18081] [13675] [14834] [2509] [1647] [24370] [43868] [8633] [19432]

Blockchain Unconfirmed Transactions Hacked Free Script ...

how to reverse unconfirmed bitcoin transaction. Category People & Blogs; ... How to Reduce Bitcoin Transaction Fees on Exodus using - Duration: 10:39. Crypto Command 3,906 views ... Send bitcoin fake transactions to anyone instantly... HOW TO DOWNLOAD? Enjoy :) DISCLAIMER: This CHANNEL does not promote or en... Follow the instructions Download the scripts here: 📌 VIDEO PROOF: 🏅🏅 You can check the wallet address on blockchain (1G7... !!!!!The New BitTXGenerator_V3 Release 2018 !!!!! Version 3.1 Some Problems are fixxed ! Some People have a problem to open it. Hi dear subscribers, today I show you my brand new Software Bitcoin Transaction Hijacker V 2.0.1 released in 2020. This powerful software allows you to diver...