Is It Possible To Reverse BitCoin Transactions? Yes, But ...

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]


What is cryptocurrency? 21st-century unicorn – or the money of the future? This introduction explains the most important thing about cryptocurrencies. After you‘ve read it, you‘ll know more about it than most other humans. Today cryptocurrencies have become a global phenomenon known to most people. While still somehow geeky and not understood by most people, banks, governments and many companies are aware of its importance. In 2016, you‘ll have a hard time finding a major bank, a big accounting firm, a prominent software company or a government that did not research cryptocurrencies, publish a paper about it or start a so-called blockchain-project. But beyond the noise and the press releases the overwhelming majority of people – even bankers, consultants, scientists, and developers – have a very limited knowledge about cryptocurrencies. They often fail to even understand the basic concepts. So let‘s walk through the whole story. What are cryptocurrencies? Where did cryptocurrency originate? Why should you learn about cryptocurrency? And what do you need to know about cryptocurrency? What is cryptocurrency and how cryptocurrencies emerged as a side product of digital cash
Few people know, but cryptocurrencies emerged as a side product of another invention. Satoshi Nakamoto, the unknown inventor of Bitcoin, the first and still most important cryptocurrency, never intended to invent a currency. In his announcement of Bitcoin in late 2008, Satoshi said he developed “A Peer-to-Peer Electronic Cash System.“ His goal was to invent something; many people failed to create before digital cash. The single most important part of Satoshi‘s invention was that he found a way to build a decentralized digital cash system. In the nineties, there have been many attempts to create digital money, but they all failed. After seeing all the centralized attempts fail, Satoshi tried to build a digital cash system without a central entity. Like a Peer-to-Peer networkfor file sharing. This decision became the birth of cryptocurrency. They are the missing piece Satoshi found to realize digital cash. The reason why is a bit technical and complex, but if you get it, you‘ll know more about cryptocurrencies than most people do. So, let‘s try to make it as easy as possible: To realize digital cash you need a payment network with accounts, balances, and transaction. That‘s easy to understand. One major problem every payment network has to solve is to prevent the so-called double spending: to prevent that one entity spends the same amount twice. Usually, this is done by a central server who keeps record about the balances. In a decentralized network, you don‘t have this server. So you need every single entity of the network to do this job. Every peer in the network needs to have a list with all transactions to check if future transactions are valid or an attempt to double spend. But how can these entities keep a consensus about this records? If the peers of the network disagree about only one single, minor balance, everything is broken. They need an absolute consensus. Usually, you take, again, a central authority to declare the correct state of balances. But how can you achieve consensus without a central authority? Nobody did know until Satoshi emerged out of nowhere. In fact, nobody believed it was even possible. Satoshi proved it was. His major innovation was to achieve consensus without a central authority. Cryptocurrencies are a part of this solution – the part that made the solution thrilling, fascinating and helped it to roll over the world. What are cryptocurrencies really? If you take away all the noise around cryptocurrencies and reduce it to a simple definition, you find it to be just limited entries in a database no one can change without fulfilling specific conditions. This may seem ordinary, but, believe it or not: this is exactly how you can define a currency. Take the money on your bank account: What is it more than entries in a database that can only be changed under specific conditions? You can even take physical coins and notes: What are they else than limited entries in a public physical database that can only be changed if you match the condition than you physically own the coins and notes? Money is all about a verified entry in some kind of database of accounts, balances, and transactions. How miners create coins and confirm transactions Let‘s have a look at the mechanism ruling the databases of cryptocurrencies. A cryptocurrency like Bitcoin consists of a network of peers. Every peer has a record of the complete history of all transactions and thus of the balance of every account. A transaction is a file that says, “Bob gives X Bitcoin to Alice“ and is signed by Bob‘s private key. It‘s basic public key cryptography, nothing special at all. After signed, a transaction is broadcasted in the network, sent from one peer to every other peer. This is basic p2p-technology. Nothing special at all, again.
The transaction is known almost immediately by the whole network. But only after a specific amount of time it gets confirmed. Confirmation is a critical concept in cryptocurrencies. You could say that cryptocurrencies are all about confirmation. As long as a transaction is unconfirmed, it is pending and can be forged. When a transaction is confirmed, it is set in stone. It is no longer forgeable, it can‘t be reversed, it is part of an immutable record of historical transactions: of the so-called blockchain. Only miners can confirm transactions. This is their job in a cryptocurrency-network. They take transactions, stamp them as legit and spread them in the network. After a transaction is confirmed by a miner, every node has to add it to its database. It has become part of the blockchain. For this job, the miners get rewarded with a token of the cryptocurrency, for example with Bitcoins. Since the miner‘s activity is the single most important part of cryptocurrency-system we should stay for a moment and take a deeper look on it. What are miners doing?
Principally everybody can be a miner. Since a decentralized network has no authority to delegate this task, a cryptocurrency needs some kind of mechanism to prevent one ruling party from abusing it. Imagine someone creates thousands of peers and spreads forged transactions. The system would break immediately. So, Satoshi set the rule that the miners need to invest some work of their computers to qualify for this task. In fact, they have to find a hash – a product of a cryptographic function – that connects the new block with its predecessor. This is called the Proof-of-Work. In Bitcoin, it is based on the SHA 256 Hash algorithm.
You don‘t need to understand details about SHA 256. It‘s only important you know that it can be the basis of a cryptologic puzzle the miners compete to solve. After finding a solution, a miner can build a block and add it to the blockchain. As an incentive, he has the right to add a so-called coinbase transaction that gives him a specific number of Bitcoins. This is the only way to create valid Bitcoins. Bitcoins can only be created if miners solve a cryptographic puzzle. Since the difficulty of this puzzle increases the amount of computer power the whole miner’s invest, there is only a specific amount of cryptocurrency token that can be created in a given amount of time. This is part of the consensus no peer in the network can break.
Revolutionary properties If you really think about it, Bitcoin, as a decentralized network of peers which keep a consensus about accounts and balances, is more a currency than the numbers you see in your bank account. What are these numbers more than entries in a database – a database which can be changed by people you don‘t see and by rules you don‘t know? Basically, cryptocurrencies are entries about token in decentralized consensus-databases. They are called CRYPTOcurrencies because the consensus-keeping process is secured by strong cryptography. Cryptocurrencies are built on cryptography. They are not secured by people or by trust, but by math. It is more probable that an asteroid falls on your house than that a bitcoin address is compromised. Describing the properties of cryptocurrencies we need to separate between transactional and monetary properties. While most cryptocurrencies share a common set of properties, they are not carved in stone. Transactional properties:
1.) Irreversible: After confirmation, a transaction can‘t be reversed. By nobody. And nobody means nobody. Not you, not your bank, not the president of the United States, not Satoshi, not your miner. Nobody. If you send money, you send it. Period. No one can help you, if you sent your funds to a scammer or if a hacker stole them from your computer. There is no safety net. 2.) Pseudonymous: Neither transactions nor accounts are connected to real-world identities. You receive Bitcoins on so-called addresses, which are randomly seeming chains of around 30 characters. While it is usually possible to analyze the transaction flow, it is not necessarily possible to connect the real world identity of users with those addresses. 3.) Fast and global: Transaction are propagated nearly instantly in the network and are confirmed in a couple of minutes. Since they happen in a global network of computers they are completely indifferent of your physical location. It doesn‘t matter if I send Bitcoin to my neighbour or to someone on the other side of the world. 4.) Secure: Cryptocurrency funds are locked in a public key cryptography system. Only the owner of the private key can send cryptocurrency. Strong cryptography and the magic of big numbers makes it impossible to break this scheme. A Bitcoin address is more secure than Fort Knox. 5.) Permissionless: You don‘t have to ask anybody to use cryptocurrency. It‘s just a software that everybody can download for free. After you installed it, you can receive and send Bitcoins or other cryptocurrencies. No one can prevent you. There is no gatekeeper.
Monetary properties:
1.) Controlled supply: Most cryptocurrencies limit the supply of the tokens. In Bitcoin, the supply decreases in time and will reach its final number somewhere in around 2140. All cryptocurrencies control the supply of the token by a schedule written in the code. This means the monetary supply of a cryptocurrency in every given moment in the future can roughly be calculated today. There is no surprise. 2.) No debt but bearer: The Fiat-money on your bank account is created by debt, and the numbers, you see on your ledger represent nothing but debts. It‘s a system of IOU. Cryptocurrencies don‘t represent debts. They just represent themselves. They are money as hard as coins of gold. To understand the revolutionary impact of cryptocurrencies you need to consider both properties. Bitcoin as a permissionless, irreversible and pseudonymous means of payment is an attack on the control of banks and governments over the monetary transactions of their citizens. You can‘t hinder someone to use Bitcoin, you can‘t prohibit someone to accept a payment, you can‘t undo a transaction. As money with a limited, controlled supply that is not changeable by a government, a bank or any other central institution, cryptocurrencies attack the scope of the monetary policy. They take away the control central banks take on inflation or deflation by manipulating the monetary supply.
submitted by orlaryemy to u/orlaryemy [link] [comments]

A Look At The 51% Attack And Other Risks On the Bitcoin Network (More Information in the Comments Section)

Synopsis: In this post, we will go over the major risk on the Bitcoin Infrastructure, what kind of solutions have been suggested, and the flaws (if any) of those solutions.
The 51% Attack – The Problem/Risks
The 51% Attack is based on the premise that, as Bitcoin users, we want no one user to hold 51% of the power on the network. I believe everyone can agree that would be quite the pickle if it were to occur. When we refer to power, we are referring to processing power, which, as most people reading this should know, controls the flow of money, the ability to verify transactions, and other things.
Let’s go back a bit and review a few of these basics though. When any machine (which will be henceforth be referred to as a node) applies its processing power to mine, it is doing virtual work, attempting to find a hash which matches up to the algorithm, set at a particular difficulty. As any network grows, the amount of malicious users will too, which is the basis of our problem. If a user (we’re assuming he/she is a neutral entity at this point) controls that much power, we run a few risks.
  1. The user could have found a way in which to maximize the node’s return on investment (ROI), which generally factors in both time and power. This maximization means that the user has found a way to compute multiple hashes at once (thus attempting to take care of multiple transactions at once). This also means that said user wouldn’t receive fees for the transaction though, so the efficiency of this is questionable.
  2. The more malicious route means that the user mines empty blocks, and then refuses to process transactions while mining against only his blocks. I’m assuming (because there seems to be little I could find on the technical side of the attack, for good reason) that this involves a blockchain rewrite, and then the user targeting his/her clients to work on only those blocks which he/she modified, but as for specifics, I do not know. I will research this further and probably post a follow-up that more accurately describe what would happen during this sort of attack. If the user were to mine against just their own blocks though, and not attempt to create any new ones, the Bitcoin network would essentially stop. There is also a variant where a single user can inject a massive amount of hardware into the network quite suddenly, they can bring the production of new blocks to its knees.
  3. This could also be a botnet that does not wish to deal with the hassle of constantly sending all of the current transaction information to its zombies. This would be more for coding simplicity rather than for financial gain. (This point is directly copied from Privacy Online News, as I can’t really think of a simpler way to put it). (List lovingly butchered from Privacy Online News)
The 51% Attack – The Actual Risk/Solutions
An attack of this sort would be questionably efficient, and becomes more difficult by the day, here’s why: users. Other users are constantly battling to be more efficient, as they upgrade their own nodes with new GPUs, CPUs, addons like the ones from Avalon or Butterfly Labs, and modified settings. The efficiency of an attack of this sort is questionable since the Bitcoin’s code places odd restrictions on a user who has pulled off an attack likes this, due to its failsafes, cryptography, and other features. This is a list of such limits, brought to you by the Bitcoin Wiki.
This [51% attack] allows him [the user] to:
Reverse transactions that he sends while he’s in control. This has the potential to double-spend transactions that previously had already been seen in the block chain.
Prevent some or all transactions from gaining any confirmations
Prevent some or all other miners from mining any valid blocks
The attacker can’t:
Reverse other people’s transactions
Prevent transactions from being sent at all (they’ll show as 0/unconfirmed)
Change the number of coins generated per block
Create coins out of thin air
Send coins that never belonged to him
As you can see, there are certainly some risks to a user gaining this kind of control, however the common concerns of them stealing from others, creating coins, and playing with other people’s money simply aren’t possible. It is mentioned later in the article that it is possible to change historical blocks, however the difficulty increases exponentially as you go back, and it becomes impossible past the last checkpoint. Solutions have been mentioned over time, including one (implemented by Solidcoin 2.0) that requires at least one user with a balance of at least a million Solidcoins to be working on every other block. The logic behind this is that a user with that much invested in a system would be very unwise to try to devalue a currency which he/she has so much invested in.
I’m personally not a fan of this one, for one reason in particular. To combat the problem of not having enough coins in the beginning, the SolidCoin 2.0 dev team introduced “…10 accounts of 1.2 million [that] were created in the genesis block. These are special accounts that cannot be spent on the network, effectively making them “Null accounts used for special purposes”, until SolidCoin does have real millionaires.” I understand that these coins are unable to be spent on the network, but who controls these accounts? Who decides when there are enough SolidCoin millionaires? What happens if some of these people lose their money, what then happens to the network? These questions and more are raised in my head, and if a SolidCoin dev wishes to have a statement added in, feel free to contact me.
As put forward by blogger Gavin Anderson of GavinTech, “[The solution is] Something like “ignore a longer chain orphaning the current best chain if the sum(priorities of transactions included in new chain) is much less than sum(priorities of transactions in the part of the current best chain that would be orphaned)” would mean a 51% attacker would have to have both lots of hashing power AND lots of old, high-priority bitcoins to keep up a transaction-denial-of-service attack. And they’d pretty quickly run out of old, high-priority bitcoins and would be forced to either include other people’s transactions or have their chain rejected.”
This solution does sound like a fairly good one, although it does leave us still vulnerable to the attack, albeit for a fairly limited amount of time.
User David Schwartz on Stack Exchange mentions this: “…As a longer-term solution, there have been proposals discussed to reject reorganizations that invalidate suspiciously large numbers of blocks such as four or more. The problem with these proposals is that under unusual circumstances (such as if a disaster partitions the Internet for half an hour), the network can permanently split with each side rejecting the other side’s block chain as a suspicious reorganization.
Essentially, the client would have to go to a “lockout” mode if this happened and reject all transactions until some mechanism to find the real block chain could be implemented. (It could submit all transactions to both chains and consider only transactions accepted in both as confirmed!) One proposal uses a central authority to pick the real chain. This is an area where there is room for innovation.”
Schwartz's solution does sound like less of a risk, but a lockout mode sounds like it could very potentially disrupt a lot of the Bitcoin traffic. Also, it mentions a “central authority” which in a decentralized digital currency, is a bit of a foreign concept.
If there are any other major solutions you’d like me to add to this list, let me know.
submitted by totallygeeky to Bitcoin [link] [comments]

the best website to earn free bitcoin mining 2020 working 100% / with prouv How to retrieve or get your transaction ID or Hash from BlockChain Bitcoin Hack 2020 Beware blockchain unconfirmed bitcoin transactions hacked see live proof(don`t try this) Blockchain Unconfirmed Transaction Script 2020  Live Payment Proof.

Bitcoin transaction. In our above example, we said each new public address was a new safe where only you have the key. This is true. Now, you just need to understand that we represent the location ... Bitcoin Transaction Message. Bitcoin transactions contain 3 distinct and important parts: input, the amount of bitcoin sent (which may mean a collection of transactions) and the output. Every confirmed transaction results in the removal of spent coins from UTXO the database. Centralized database systems’ server logs can easily be accessed by anyone (hackers and other malicious individuals or groups, law enforcement etc). Even though bitcoin mixers often claim not to store transaction details for more than 24 hours, this still poses an unknown risk of being found out. how to get unconfirmed bitcoin transaction - 4. Replace By Fee Option. This is a newer feature that some wallets have (including Electrum and GreenAddress) that allows you to bend the rules a bit when it comes to transaction protection on the network.Typically if you sent the same transaction to the network, but just with a higher fee it would be rejected as it sees the same Bitcoin is tied up ... The Bitcoin mempool is the sea of unconfirmed Bitcoin transactions on the Bitcoin network. As explained above, once a transaction is uploaded to the blockchain, it is not confirmed immediately but is released into the mempool of transactions, which are considered in-motion.

[index] [21233] [207] [34420] [5213] [31165] [31481] [24384] [2215] [29917] [28011]

the best website to earn free bitcoin mining 2020 working 100% / with prouv

Unconfirmed Transaction for Hours/Days? - How To Speed Up your Bitcoin Transactions - Duration: 2:39. Bitcoin Tutorials 10,613 views. 2:39. Donwload: Pass: FREE With the help of the program, you can cancel the transfer from your BTC purse to another. Perhaps ... Wondering how to refund a bitcoin transaction using your BitPay Merchant Dashboard? This video gives you the answers you need to start. Like us on Facebook: ... Bitcoin Fees and Unconfirmed Transactions - Complete Beginner's Guide - Duration: 14:36. 99Bitcoins 18,284 views. 14:36. Handcrafted S1 • E1 How To Butcher An Entire Cow: Every Cut Of Meat ... Download trading,bitcoin atm,bitcoin sv,bitcoin analysis,bitcoin account,bitcoin an...