text:
Why are blocks and reverse patches not stored in individual files?
Block and reverse patches are currently stored in .dat files, and in each .dat file there are several blocks or reverse patches. What is the reason why blocks are not stored in individual files called, for example, [block_hash].blk and [block_hash].rev and are instead stored in this way?

No file systems handle large numbers of files well, putting 600,000+ files in a directory would cause absurd performance problems. Opening and closing that many files during sync would have a performance penalty, versus appending to an already open file and writing its position to an index. Even attempting to delete a folder that large would be a struggle.
A reason the block files are as small as they are is due to limitations in windows file systems that have restrictive legacy compatibility.

No, the reason for the block files' small size is so that pruning has reasonable granularity.

It predates pruning though.

I'm aware, but I wrote it with pruning in mind.


text:
How Do Attackers Forge Bitcoin Blocks And How Do You Identify Forge Bitcoin Blocks?
I have read that a block contains several bitcoin transactions and an attacker can forge fake blocks.
Does these forged fake bitcoin blocks cost the attackers money for mining or was it just generated for free from the attacker node?
The blockchain is safe from attacks because the blockchain was programmed by Satoshi to validate and keep the longest chain.
So the forge block will disappear from the blockchain network. This is wonderful but what happens if an attacker forge bitcoin blocks?
I even read that some of these forge blocks can have 2 to 3 confirmations. Is this true?
So how do you identify these forge bitcoin blocks immediately?

Does this answer your question? Regarding block validation in blockchain

NO, it did not answer my question

@Pr3dator: What you described here and what was shown in the video you posted previously simply doesn't work on the Bitcoin network. At the very least someone would have to be infected by malware or using maliciously-modified Bitcoin software to be susceptible to this sort of attack. I don't think further questions about this will be constructive unless you provide some evidence or a better description of how such an attack is supposed to work.

I assume that when you say an attacker can forge blocks, you mean that a dishonest miner can create invalid blocks.
The answer is no for a very simple reason. When a miner's bitcoin node (the computer which runs the bitcoin software) creates a block, it must follow all of the consensus rules. Let's say, for example, he tries to create a coinbase transaction with 13 bitcoin, plus fees. Note that, at the time of writing this, the block reward is 12.5 bitcoin.
Then it finds Proof of Work and sends the block to the rest of the network. Every node that receives this block will first check if it follows the rules. Since it doesn't, the node will reject that block. Therefore, it will not get included in the blockchain and the miner just lost the reward.
So, every node validates everything on its own. No node trusts information it recieves from other nodes.

Thanks for your answer but I have to disagree on this because my friend recieved 100 unconfirmed bitcoin transaction that stayed days without being confirmed before it disappeared from the blockchain network. And I strongly believe it was not double spent. It was a forged bitcoin block because nobody would want to risk 100 BTC double spent

Did your friend use software provided by the attacker?

I have read that ... an attacker can forge fake blocks.

Such blocks are discarded by other nodes.
If you read the original Bitcoin whitepaper by Satoshi Nakamoto from 2008 you will see it says

5. Network
The steps to run the network are as follows:

New transactions are broadcast to all nodes.
Each node collects new transactions into a block.
Each node works on finding a difficult proof-of-work for its block.
When a node finds a proof-of-work, it broadcasts the block to all nodes.
Nodes accept the block only if all transactions in it are valid and not already spent.
Nodes express their acceptance of the block by working on creating the next block in the
  chain, using the hash of the accepted block as the previous hash.

Note step 5 there.
Originally every node was also a miner but now most nodes are not. Nakamoto foresaw this. The whitepaper describes Simplified Payment Verification (SPV).
Nakamoto later continues

11. Calculations
We consider the scenario of an attacker trying to generate an alternate chain faster than the honest
  chain. Even if this is accomplished, it does not throw the system open to arbitrary changes, such
  as creating value out of thin air or taking money that never belonged to the attacker. Nodes are
  not going to accept an invalid transaction as payment, and honest nodes will never accept a block
  containing them. An attacker can only try to change one of his own transactions to take back
  money he recently spent

(my emphasis)
The original whitepaper describes how the network defends against 51% and double-spending attacks. It is worth reading

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Tronix cryptocurrency
How can I create a tronix (trx) cold wallet? I see no info on the Internet. Both a link to a key generator script and website with wallet creation would be ok. Thanks.

TRX is an ERC20 token so you can use https://www.myetherwallet.com/ offline to create a cold wallet. As of now TRX don't have any official wallet.
Here is a how-to Using MyEtherWallet For Cold Storage

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
How do I know if the Bitcoin page has been hijacked
With so many hackers hijacking websites these days, what do I look for to show me that I'm not on a hijacked page?

Bitcoin page for what? On what website? There is no "official Bitcoin website" or "official Bitcoin page".

Assuming you're referring to bitcoin.org, the short answer is you really can't tell if the adversary knows what they're doing. You can't rely on the certificate authority (CA) system to only hand certificates to the real bitcoin.org domain owner (they screw up often). Furthermore, there's no binary transparency scheme to allow Bitcoin developers to actively monitor all published Bitcoin binaries. So you might download a completely malicious binary (see https://bitcoin.org/en/alert/2016-08-17-binary-safety). Welcome to the Internet! :)

First, there isn't any one bitcoin site, but hijackers often try to setup phishing attacks on cryptocurrency sites to get you to enter information they can use to steal your coin (as happened with EtherDelta this week).
Generally speaking, look for the green lock icon in your browser. If it isn't there, don't open continue. Best to also check the actual certificate by clicking on that green lock to ensure the certificate is from a well known Certificate Authority. Also generally a good idea to watch the twitter account associated with the site. For example, in EtherDelta's case they started tweeting about the issue pretty quickly once they were aware. And if in doubt, don't open it and tweat to the twitter account associated with the site just to make sure all is well.
If you see a "self-signed" certificate Do not open the site!

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
import bitcoin seed
Hello everyone I need to know in which wallet I can import my seed like the one in the next photo which is an example, it is not the real one, I do not remember which page years ago gave me this as a seed and I found it after believing it lost and I want to recover My funds in which wallet I can do, greetings

First, you can edit your question instead of answering to it to add details.
Second, what you provided is not a seed as in BIP32 seed from which you get a master key and then can derive other keys from it.
This is a private key, as in the private key of a private-public key pair.
An answer to your question is the Bitcoin core implementation wallet allows you to import a single priv key with command importprivkey:
bitcoin-cli importprivkey 5JtfaH........

You can download the Electrum wallet, which is very user friendly. (Link: https://electrum.org/#download)
Once you've set up the wallet you can do Wallet > Private Keys > Sweep to send your coins to your new wallet, and then spend them.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Where is the change from the output stored in?
I'm learning that Bitcoin doesn't have a way to represent the account balance, but it's, rather, a sum of UTXO owned by the users of the private key.  Then where is the change from the output stored?
What I mean is, when the output of a transaction is used as the input of another transaction, it must be spent in its entirety. Sometimes the coin value of the output is higher than what the user wishes to pay. In this case, the client generates a new Bitcoin address, and sends the difference back to this address.
Does the change get stored back in UTXO?

When a sender creates a transaction, they explicitly define which pieces of bitcoin they spend. We call such pieces of bitcoin Unspent Transaction Outputs (UTXO) and you can think of the UTXO set as the distributed ledger of Bitcoin balances. The state of UTXO is ternary: they either don't exist yet, are available for spending, or have been spent. You can't deduct from a UTXO, they must be spent completely in one transaction.
Spenders explicitly pick the transaction inputs by referencing the UTXO via its unique outpoint txid:vout which is derived from the transaction that created the to-be-spent UTXO and its position in the output list.
After declaring the UTXO getting spent, the spender has assignable balance to the sum of the inputs' total value. The spender will  explicitly assign the value of the consumed inputs to new outputs. Any funds not assigned are considered transaction fees and will be collectable by the miner that includes the transaction in a block.
This means the total of assigned funds is less or equal than the value of the spent UTXOs, and the remainder is the transaction fee. The following hold true for non-coinbase transactions:

Σ(outputs) ≤ Σ(inputs)
transaction fees = Σ(inputs) - Σ(outputs)

So, only the inputs and outputs on transactions are explicitly defined. The transaction fee is implicitly defined by the inputs and output.
It follows that a simple transaction sending to a single recipient will usually have two outputs:

a recipient output to conduct the payment
a change output to return the remaining funds from the inputs to the sender

I grabbed a random transaction from blockchair.com to visualize:

If Alice's wallet had not created the change output to itself, Alice would have paid 11,044.… BTC in additional fees. ;)
Note, that I'm simply guessing that the 610 BTC is the recipient output due to the round number, I'm not intimately familiar with this transaction.


text:
Where does the money i am receiving come from?
Say i was to have 100,000 dollars worth of bitcoin in my wallet and i want to cash out, where does the money i am receiving come from? Is it taken out of the volume amount of dollars currently in circulation or can you only get paid out if someone is willing to buy it?

You would need to find someone to buy the bitcoins from you. Simple as that!
You can do this in person (probably with someone you trust if its $100k!), or through an online exchange (a service that matches up buyers and sellers).

So until you can sell all of your bitcoin you cant cash out?

You can cash out part of your bitcoin if you'd like. You should think of bitcoin like an object that you own (even though it is digital, it is scarce). It would be the same sort of situation if you had a collection of silver coins: in order to 'cash out' you would need to find someone to buy them from you.  That person could buy all of them, or half of them, or whatever you both agree upon. Until you make that sale, you don't own cash, you own the coins.

Note that common exchange sites hide this fact for you. Many support selling or buying at a spot price

In order to sell, there must be a buyer. In fact, the whole statement

Say i was to have 100,000 dollars worth of bitcoin in my wallet

Is also partially incorrect, because X amount of BTC are worth X BTC. The USD value exists only at the point you exchange your BTC for USD. And in order for that to happen, you need to give your BTC to someone, and that entity will give you the amount of USD that you agreed upon.
In fact, your X amount of BTC doesn't even have a fixed USD value. Depending on which party (generally exchange) you use to convert BTC to USD, you may get a different value. Just look at the Price that BTC has right now on the various different exchanges.
If you are wondering why prices are so different, is because (going back to the original sentence) in order to sell you need a buyer: in order have an USD value you need to sell to someone, and the value of your BTC is whatever value you agree to sell and the counterpart agrees to buy.
Having said that, this is actually easier than what you think to find a buyer. The simplest way is to use an exchange that will act as an intermediate between you and the rest of the (buyer) world. At any point in time, there are buying orders for a specific price, and you can sell your BTC almost instantly as long as you agree on the ASK price.
You can also decide to set your own price, and the transaction will be finalized when a buyer agrees on your price.
Long story short, you will only get your USD when you will sell (exchange) your BTC for USD.


text:
Is Binance a scam exchange/wallet?
Now 5 days ago, I initiated a transfer from my Bittrex account to Binance, using Binance's ID code snip and the receiving Address code snip. The coin was immediately removed from my Bittrex a/c but is yet to appear in my newly created Binance a/c. Worse yet, after five postings to Binance Support, I am yet to receive any human reply regarding the missing deposit, only the auto-generated robo responses when the support ticket is submitted. I'm about ready to contact a legal authority about Binance, but I believe it may be a Japanese or Chinese enterprise. Is there any "global" policing authority, such as the USA's SEC or FCC that could take actions against potential scam operations regardless of where that operation's home office might be located?

Hey did you ever get the transfer or a reply from support. I'm afraid I may be in a similar boat.

A full 5 hours on top of my original and no, no deposit, no response from Support after multiple inquiries about it. The site looks dead in the water. I noticed that they were saying, for instance, that Monero (XMR) was suspended for withdrawals due to "Wallet Maintenance." Same status as when I made my deposit on 12 December. Not feeling very good about this outfit. And if they go another week without acknowledging my deposit, or at least having a human respond to my support requests, I'll be looking for some legal recourse.

No official phones, no offices ("for security" reasons, even banks have), you can't contact them, it's a ghost company. Their online support copy & paste wall of meaningless text replying not on topic. They refuse to give any legal contact. They holding my funds, and they do not cooperate. Support rarely understand what's being asked. How to sue them? Do you've to go for their CEO?

Related: BINANCE: Withdrawal Refuse Alert - Reason:Security Risk.

At this time I would think that they are. They have no concept of customer support and they are very unprofessional. If you need support and need them to fix something, they will delay and delay until you are desperate and then they come up to you for paid support.
I contacted support for days and days and when i finally got response, it was that I had to pay them ETH for service or say bye to my money.
I deal with many crypto exchanges and this was a new for me. After I agreed, I was then told it would take a month for me to access my own coins because dev team is supposedly tired from working.
So yeah if you mess up anywhere expect either to pay for support or never see your funds.

I have transferred from gdax to binance to buy coins and have never had a problem. From what you have said I don't think you have a clue what you were doing, you probably used the wrong address. They are a scam in no way, if they were all my many transactions would not have gone through. The onus is on you to know what you're doing I'm afraid.

Why don't they reply then?


text:
As a miner can i mine my own transaction to speed up the confirmation?
So i found here:
What can I do to make my stuck transaction confirm?
one of the options was:
Ask a miner for help
Some mining pools and miners offer services to allow you to prioritize your transaction in their mempool so that it is chosen sooner for inclusion in a block. One such service is https://pool.viabtc.com/tools/txaccelerator/. Note that ViaBTC does have a limit the accelerator to 100 transactions every hour and requires that it pays a minimum fee rate of 10 satoshis/byte, so their accelerator may not necessarily work. Another such service is https://pushtx.btc.com/#/. Not that BTC.com does require another form of payment in order to "accelerate" your transaction.
Also note that if you attempt a Replace-By-Fee transaction, both the original transaction and the RBF transaction will be considered double spends. Miners will likely not help with any transactions marked as double spends.
So i was curious if i had my own bitcoin mining device node if i could start mining that to push it through like other mines do. I do not care about the reward of mining it just that my confirmation speeds up.
I see these other people doing it so i know there is a way.

No, you can only confirm a transaction if you found a new block, but this is very unlikely to happen when solo mining.

The answer is yes but very unlikely, when miner solves the block, the miner chooses what transaction to include, by miner means solo mine or owns a pool with a very high share of hashrate


text:
Mining your transaction to push it to the blockchain?
Is there a way to mine your own transaction to push it to the block chain.
I see these individual miners out there on forums speeding up other users transactions within 10-60 minutes.
So i guess i am trying to figure out how i can do this to speed up my 3 stuck transactions!
Any info would be nice! Thanks!

You can pay to mining pools to mine your stuck transactions.
Expensive but i don't know any other mining pools who provides this feature.
https://pushtx.btc.com/
Try to push your stuck transactions before you pay, maybe that could help you if your transactions have more than 120/sat per byte.

https://insight.bitpay.com/tx/send
https://blockchain.info/pushtx
https://blockexplorer.com/tx/send
https://btc.com/tools/tx/publish
https://coinb.in/#broadcast
https://chain.localbitcoins.com/tx/send
http://webbtc.com/relay_tx
https://www.smartbit.com.au/txs/pushtx
https://live.blockcypher.com/btc/pushtx/
https://www.f2pool.com/pushtx (Needs referral code from pool operator.)
https://pool.viabtc.com/tools/BTC/broadcast/
https://chainquery.com/bitcoin-api/sendrawtransaction

Some websites asks for hex format transaction ID, You could convert it like that:
https://blockchain.info/tx/TransactionID Here?format=hex

Not what i am asking. I tried all of that.


text:
why have my 8 BCH (bitcoin cash) disappeard
I received 8 BCH after the fork and have had them in my Blockchain.com wallet in Settings-General, up to the 14th December, when I checked on the 15th December the BCH had gone with absolutely no reference to them, the wallet pages have been changed to show how many BCH you have as well as Bitcoins and Ether. there is now a page dedicated to getting started with BCH and what you can do with them but mine have gone. I have emailed Blockchain.com they don't reply. This has to be a cock up by the blockchain.com team as my BTC and Ether are all there. any one know what I can do please.

Was the 8 BCH on an imported address or was it part of the blockchain.com wallet?

Hi, Christian,  the 8 BCH were part of my blockchain.com wallet, just as they had appeared  as a bonus after the hard fork. I had not transferred them to any specific wallet address. They had always appeared in my wallet under Settings, General, there is no reference to BCH there any more. When I click on BCH on my home page it goes to a page that says I have no BCH, I have never received any BCH, and I have not transferred any BCH, My BCH have just disappeared without trace or record of transfer according to my wallet they never existed. What can I possibly do please.


text:
How does initial exchange of inventory work when both nodes have different chains?
When two nodes connect to each other and exchange getblocks messages but they have different blockchains will both nodes download each others blockchain to verify which has higher chainwork or will they somehow exchange chainwork beforehand or something completely different?

They will exchange chainwork. The one that claims a lower chainwork will query the other to confirm that its claim for a higher chainwork is legitimate. If it can confirm the claim, then it will switch to the chain with the higher total work.

"They will exchange chainwork"  you mean headers message?


text:
can't remember due to drinking
About 10 plus years ago, I was drinking heavily and decided to go online and buy some bitcoin. Since it wasn't worth much at the time, I just kind of forgot. But now I'm bummed that I can't recall what wallet I would have used. Does anyone have any suggestions on how I might track this down. Can I possibly download some old bitcoin wallet that I can see if it recognized my email?

Firstly you need the computer, disk or whatever device your wallet was stored on.
If you have that finding your wallet should be easy. Just search for it. How to do that depends on hardware, operating system and so on.


text:
Old receiving address
I sent my Bitcoin to an old address of mine but can’t figure out how to receive it I’ve the address is not open in my receiving tab but is under file receiving addresses

can’t figure out how to receive it

Once a transaction has been created by the sender, receiving Bitcoin requires no action whatsoever on the part of the recipient.
It is understandable that the recipient would like to have their wallet show them a received amount - but that is of no consequence in terms of transfer of control over an amount of money, The transfer either happened or it didn't. Regardless of whether your wallet knows about it or not.
So either the transfer happened and your wallet hasn't found out for some reason, or the transfer hasn't happened yet. The former can happen due to a wallet not being fully synchronised or not being able to communicate with other nodes. The latter can happen when the Bitcoin network is busy or when fees are set too low.
You can find out which is the case by putting the receiving address into a few Blockchain explorers.

the address is not open in my receiving tab but is under file receiving addresses

That is normal. The receiving tab usually generates a new address for each transaction for privacy reasons.

Possibly related:

Why is my transaction not getting confirmed and what can I do about it?


text:
Has/will there ever been any new "Bitcoin Gold rush" similar to the hard forks that allowed you to "trick" your way to new coins?
A couple of years ago, there was this really unexpected and bizarre thing for a few months (or weeks?) where a bunch of Bitcoin hard forks were created, such as "Bitcoin Gold", whose only purpose seemed to be to allow for Bitcoin havers to gain extra Bitcoin. I was one of those who took advantage of this, and this is how it worked (grossly simplified, with tons of more problems/steps in practice):

I downloaded Bitcoin Gold's version of Bitcoin Core into a VM and let it sync its entire blockchain. This took many days.
On my real machine, with the real Bitcoin Core, I created a new wallet.dat and transferred all my Bitcoin from my old wallet.dat to this new one.
I took my now empty old wallet.dat and put it inside the VM and started Bitcoin Gold.
It now saw as many Bitcoins (Bitcoin Gold) as I had when Bitcoin Gold forked.
I transferred these Bitcoin Gold to an exchange (before they all forced photo id).
I traded them for actual Bitcoin, because crazy people existed who actually wanted these "worthless" hardfork-coins.
I transferred the Bitcoin from the exchange to my real Bitcoin Core.
I now had slightly more Bitcoin than before I started!

Doing this over and over, with each one of these weird "hard forks", I was able to gain several entire Bitcoins. While a ton of work, and super scary (it felt like I could lose all my real Bitcoin at any moment...), I found this really fascinating and cool. I had very few Bitcoin in my wallet when the forks happened, sadly, but imagine if you already had 100 BTC or something from the start... You'd have gotten tons of extra coins if you had done this! I bet many did.
Sadly, these "hard forks" died out pretty quickly, and this small window of opportunity was then over, seemingly forever. It never seems to have happened again, or, if it did, I certainly have missed it completely.
Since I find it utterly impossible to make money (whether it be fiat or Bitcoin), this was a golden (no pun intended) opportunity for me to gain some extra BTC.
How would I know if something similar happens again? Was I just incredibly lucky to have somehow heard of this while it happened? I frankly can't stand a single Bitcoin news source (that I know of) as they are 99-100% all about cryptic (no pun intended) BS and fluff and almost never say a word about Bitcoin itself in any meaningful manner.
I guess it's stupid to sit around and wait/hope for this to happen again, but I'm not even sure if this was widely understood/known, and I no longer have any means to get Bitcoin news other than Slashdot "articles", which are very unlikely to report on anything other than how badly Bitcoin is doing at the moment.

Everyone here are unpaid volunteers. Please do not abuse any of them or accuse them of being mentally ill. This is a StackExchange for Bitcoin. Altcoins are free to set up their own StackExchange. Personally I think Bitcoin hard forks are just about within the remit of this StackExchange but I am sympathetic to those who have the opposing view.

I downvoted, and you deserve a reason why: I consider these forks to be highly unethical at best, and many are probably actual outright scams. It benefits those who sell at the right time (which includes its creators), and a loss for others. Participation only worsens this. So to me, your question reads like "when is there a successful scam I can participate in?"; I don't know the answer, but I consider it offtopic because it isn't about the technology underlying Bitcoin.

During 2017 and 2018 there were a number of Bitcoin hard forks starting with Bitcoin Cash (BCH) but quickly followed by other altcoins (Bitcoin Satoshi Vision, Bitcoin Gold, Bitcoin Diamond etc).
If you owned Bitcoin on the Bitcoin blockchain you would receive the same amount on these hard forked chains. As with the vast majority of altcoins, they relied on branding and marketing to pump up the price in the short term. The technical fundamentals were terrible, developer contributions fizzled out and they are all (without exception) worth today a tiny percentage of what they worth back in 2017, 2018.
It is possible this could happen again under a new guise but because they have collapsed in price and have little maintenance or developer contributions the credibility of Bitcoin hard forked altcoins is rock bottom. I wouldn't wait around expecting this to happen again anytime soon but I don't have a crystal ball.


text:
Unable to run the Miner using 2Pac BM1384 USB miner
I have created a batch file and  I tried to run it. But when I click on the batch file to run it. But the command line window appears for a fraction of a second and then disappears.
cgminer.exe  --gekko-2pac-freq 200 -o stratum+tcp://peercoin.ecoining.com:3336 -u username.1 -p x

===========================================================
I have tried the below in a batch file,  it gives the below output in the command line
cgminer.exe  -o stratum+tcp://peercoin.ecoining.com:3336 -u username.1 -p x

       cgminer version 4.10.0 - Started: [2017-12-24 04:09:20.602]
 (5s):528.0M (1m):507.5M (5m):516.4M (15m):366.6M (avg):516.0Mh/s
 A:0  R:0  HW:2  WU:5.6/m
 Connected to peercoin.ecoining.com diff 16.4K with stratum as user username

      Block: c22a0a3f...  Diff:1.61G  Started: [04:15:53.420]  Best share: 98
 [U]SB management [P]ool management [S]ettings [D]isplay options [Q]uit

     0: AMU GS-10018:                         | 528.0M / 516.0Mh/s WU: 5.6/m
 [2017-12-24 04:09:16.557] Started cgminer 4.10.0
 [2017-12-24 04:09:19.601] Probing for an alive pool
 [2017-12-24 04:09:20.083] Pool 0 difficulty changed to 16384
 [2017-12-24 04:09:20.602] Network diff set to 1.61G
 [2017-12-24 04:15:53.420] Stratum from pool 0 detected new block at height 0

============================================================
Is the issue with the script for batch file?
The Syntax for the cgminer.
Run cgminer using following the commands below:
cgminer.exe --gekko-2pac-freq 200
-o stratum+tcp://solo.ckpool.org:3333
-u (your username here) -p (your password here)

Also how to verify the CGi miner is using the Gekko  2Pac BM1384 USB miner?

I had a similar problem when I first started with the 2pac. You didn't mention if you are using a Windows or Linux platform, but the solution is similar either way.
Solution: Ensure your CGMiner binary is compiled to support the Gekko 2Pac. It seems your BM1384 2Pac is not being recognized properly by CGMiner.
This output you provided:
"0: AMU GS-10018: | 528.0M / 516.0Mh/s WU: 5.6/m"
...shows that it is being enumerated as an "AMU" (which is usually ASICMINER block erupters ) It should be "GSC" for a GekkoScience device.  That's also why you are seeing the low hash rate and hardware errors.
So, be sure you have a gekko-enabled CGMiner binary, and also ensure your batch file points to that same correct binary. (correct path)
If you need more detailed help, please state whether you are on a Windows or Linux platform.

I forgot to mention that the reason why, when you try to run cgminer with the --gekko-freq XXX option, it immediately fails, is because your cgminer is not compiled to support the gekko. (compiled with "--enable-gekko"   When you run it without that option, it works, but it doesn't identify the 2Pac properly, and enumerates the device as "AMU" and doesn't hash properly.

Your batch commands to run cgminer look correct, no problems there.

Here is a link to cgminer with gekko that I'm using:     https://github.com/vthoang/cgminer

Link to all things Gekko Science 2Pac:     https://bitcointalk.org/index.php?topic=1764803.0

Hey, The issue has been fixed. I'm using windows. I have downloaded a new version of cgminer for the fix.

for we linux (debian) geeks, you need to go to the directory you've done the compiling & all the dependancies. (that's a lot of stuff) when you configure the system, you start with root>: ./autogen.sh enable-gekko then after that is done ./configure enable-gekko then "make"  all this stuff is in the cgminer.readme files   I got it to work! In the past I only did the ./autogen.sh and the ./configure, just for giggles i added "make" to my procedure.  Now the frequency command works.  wheeee... who knows?
The command then is:
./cgminer -o stratum+tcp -u worker1 -p anything --gekko-2pac-freq 200
I've recently done a dist-upgrade to my OS, now the frequency paramater is not working. It is only displaying 3 of my 6 boards, and they are running +350mhz, not what a 150ghz chip is supposed to do.  I'm digging more. Havent found the solution yet.  I will post here when I do find it.  FYI you must be using cgminer 4.1.0 shearch for that on GitHub.  There are a couple forks, I've found no real difference. JLH


text:
is my xPub published when I make a payment? (wallet privacy)
I'm generating new addresses for every payment I receive, but what happen when I transfer the bitcoins from my wallet to another address?
is my xPub exposed when doing that (maybe to the bitcoin node?)
if yes, what is the recommended way to avoid exposing my full wallet history?

No, the xpub is not published anywhere. Only individual public keys are published and those are permanently stored in the blockchain. There is also no way for someone to figure out the xpub and any related keys given just those public keys.


text:
Help me please, restore a deleted Bitcoin Wallet
While cleaning the memory on the phone, I accidentally deleted the wallet and the backup copy of Bitcoin Wallet.
I tried to re-download the wallet, restore deleted files (backup), but it was useless.
All I have left of my wallet is my account number and backup password.
Account number: bc1q3wv607l25uymxudl4r0ueg359zq4r92llkyf53
Please help resolve this situation. I'm ready to thank you financially.
Best regards Alexander from Ukraine

The number  bc1q3wv607l25uymxudl4r0ueg359zq4r92llkyf53 is a Bitcoin "address", is is not an account number. You cannot use an address to recover access to your wallet or to regain control over money associated with that address.

If you have made a backup of the seed words given by the original wallet, you should be able to simply restore them.
If you do not have a backup, your only hope is to immediately turn off the device and contact a forensic recovery specialist who can attempt to recover the original wallet file.
Unfortunately, this will likely cost significantly more than the 0.02 BTC or so in that wallet.


text:
Can eavesdropping help mining at all?
My understanding is that if a miner uses a particular coinbase address then already this address is offsetting the computation to a whole different set of results… Can someone, mathematically speaking, gain anything from watching what others compute given that every pool or solo-miner is computing in their own interest, their own corner of computation universe?
For context in which I thought of this question see https://github.com/bitcoin/bitcoin/issues/3658

There is no reason any miner would care what any other miner is doing and no way they could gain any advantage by knowing any of that information. They need to find a solution that pays them money. Nothing anybody else is doing helps them do that. They either find one or they don't.

From #bitcoin IRC channel at freenode:
17:41 <fireduck> jasan: I don't understand the question.  In the bug you pointed it to, it seems that ghash got block X, and was in the processing of sending it for validation.  Then the bug poster got block X+1 based on that
17:42 <fireduck> but bitcoind hadn't processed/validated block X yet, so it rejected X+1
17:42 <fireduck> this is what I would expect.  The mining pool software should have waited and retried a few times.
17:42 <fireduck> The coinbase address has nothing to do with this
17:42 <jasan> fireduck: Thank you for thinking about it. Yes, my question is slightly off-topic from that issue itself.
17:42 <-- melande1 (~melande@gateway/tor-sasl/melande) has quit (Remote host closed the connection)
17:42 <fireduck> other than each block has one (or more)
17:43 <fireduck> ah, I think i understand your question
17:43 --> melande1 (~melande@gateway/tor-sasl/melande) has joined #bitcoin
17:43 <fireduck> Lets say you could observe all stratum calls and all work submits for all mining pools in existence ( a tall order)
17:44 <fireduck> would that help you solve blocks faster?
17:44 <jasan> Yes. Nicely rephrased.
17:44 <fireduck> (making sure I understand the question)
17:44 <fireduck> cool.  That would not help at all.
17:44 <jasan> OK. Thank you.
17:44 <fireduck> Each of those mining pools is using a differnet coinbase with different addresses, values, nonces, etc
17:45 <fireduck> So knowing the state of all that won't help you find a solution to your address
17:45 <jasan> Originally I thought the issue author is suggesting otherwise, but then I even re-read the issue and realized it says something else.
17:45 <fireduck> got it.  The issue is a little hard to parse.
17:46 <jasan> fireduck: Thank you! I really appreciate your answer!
17:46 <fireduck> no problem.  I've written mining pool software so this in the area I've worked in


text:
Is it possible for a slow computer to beat the world mining Bitcoin?
I've heard it is not profitable to mine bitcoins on a regular computer via CPU anymore. I accept that.
However, if you did install a miner onto a regular computer and that computer randomly generated "guesses" 24/7 (in a non-sequential fashion). Isn't it quite possible that it could make a lucky guess and beat everyone else mining?
Or, is that absolutely impossible?
I'm thinking about trying my luck at this (without joining a pool) (for fun) if it is possible. If impossible, then please explain why.

It is possible that the very first hash it tries could be successful, and then it "earns" 12.5 BTC for a few seconds of work.  However, the odds of that happening are roughly larger than the age of the universe.

@abelenky: "the odds of that happening are roughly larger than the age of the universe". Ever heard of dimensional analysis?

Possible duplicate of https://bitcoin.stackexchange.com/questions/24185/lottery-mining

It is theoretically possible.
Blockchain.com estimates that the hashrate of bitcoin is 13,000,000,000,000,000,000 hashes/second.  Any one of those hashes could be "The lucky one" that earns 12.5BTC.  Your CPU can get on the order of 2,000,000 hashes/second (plus or minus).  This means your computer has roughly a 1 in 65,000,000,000,000 chance of being the lucky one that mines the block.  The remaining 64,999,999,999,999 times, it's someone else (typically someone with a huge ASIC rig).  If you  mined for a billion years, you could actually expect to mine a block (using "expect" as in the statistical "expectation" of a random variable).
A bitcoin block is mined roughly every 10 minutes.  At $20k per bitcoin (extrapolating a bit, based on its current excitement), that's $250k generated every 10 minutes.  You have a 1 in 65,000,000,000,000 chance of being that one.  Accordingly, your expected earnings (due to that random luck chance of getting the right chance) is .0000003846 cents/10minutes, or .0000023 cents/hr.  If you are spending more on electricity than that, you're wasting your money.

Mathemagician! !

It is of course possible... however it is incredibly unlikely!
Mining with a CPU has not been profitable since the earliest days of bitcoin, the expected time to find a block is likely on the order of centuries at this point, and by that time you'll have burned much more in electricity costs than the eventual block reward.
So, as an experiment you could try, but if it costs you even just $5 worth of electricity a month, you would actually have better odds spending that money on a lottery ticket!


text:
Can a miner only receive a reward by finishing the latest block?
Let's say there are 1,000 miners out there.
Every time a new block is added to the chain, all miners receive the updated blockchain instantly.

Do all miners immediately drop work on mining the current block & begin work on adding a new block?
If one miner has a machine that guarantees he is the fastest to complete a block, will he always receive 100% of the rewards in the network?

Relevant questions:
Can someone with 51% computing power earn more than he deserves?

Do all miners immediately drop work on mining the current block &
  begin work on adding a new block?

When someone mines the block on height N (the current head) and a miner receives that information he stops working on that height and moves to next height N+1 (on top of the block he just received). Although it can happen, because of network delay that miner receives some other block on height N before the block mentioned before. This will cause the fork in the blockchain, but again miner stopped mining on current height and go  mine on top of the block he received first.

If one miner has a machine that guarantees he is the fastest to
  complete a block, will he always receive 100% of the rewards in the
  network?

The miner will (on average) mine percentage of blocks proportionally to his processing power comparing to power of all miners' power combined (=miners_power/total_mining_power_of_all_miners). The principle is same as in regular lottery: your chances of winning are proportional to the number of tickets you buy, if you have largest number of tickets, other players also can win, but your chances are biggest.


text:
Why is my Antminer S9 only using one Chain
I have 2 AntMiner S9's running. Each of them appears to be operating only at 4.9 TH/s. All 3 of the ASIC's appear to be in good shape, though each of the miners is only using a single ASIC board.
Key config items:
1. I am using Slushpool on one Antminer. I'm using Antpool on the other. The pools are showing at least one live pool server.
2. I see all ASIC's showing positive status.
3. They are set up in a pretty cool room (10-deg C) with sufficient power
I looked for support on this and I don't see it anywhere--is this a hardware issue? It looks like it isn't as the boards are all showing ok?

What is the problem?

Pieter, the issue is that the GH/S (RT) on board 6 and 7 is 0. The board has an ideal measurement, no busted ASICS. After doing some testing, it appears that the power quality upstream of the ASIC boards is pretty important. Even if the power supply is powered on, it is sensitive to the amperage rating of its circuit (I use 2 PS's, one for the main board + 1 ASIC board and a second one for the 2 other ASIC boards).
By moving the 2nd power supply, powering the 2 other ASIC boards to a high capacity 20 AMP circuit, everything works. (although now I have a huge power cable running...)
Thanks!

Also posting as an answer: the issue is that the GH/S (RT) on board 6 and 7 is 0--it is because the power quality coming into that dedicated power supply is too low.
The board has an ideal measurement (~4TH/s), no busted ASICS. After doing about 3 days of testing, it appears that the power quality upstream of the ASIC boards is pretty important. Even if the power supply is powered on (and reads the appropriate voltage), it is sensitive to the amperage rating of its circuit (I use 2 PS's, one for the main board + 1 ASIC board and a second one for the 2 other ASIC boards).
By moving the 2nd power supply (the one powering the 2 ASIC boards) to a high capacity 20 AMP circuit, everything works. (although now I have a huge power cable running to my miners from a separate circuit). I had to have an electrician come and pull that separate circuit from my main.


text:
Looking for bitcoin and other cryptocurrency intraday prices
I've come across some datasets that include every trade made but I'm just looking for the price of bitcoin at a high frequency. Every minute would be ideal.

Using bfxdata.com which looks at Bitfinex stats, the largest in volume Bitcoin exchange currently, can help you out.
In the link above it allows you to download tons of different types of data in csv format, and from the website you can look up and find tons of information. Be advised, please do not systematically download or set up a bot auto-downloading the csv files, you will be blocked.
And yes that includes all transaction stats since "2013-04-01 02:00:00", but it's updated hourly not by minute. (that would be almost too much data to handle anyway)
Bitfinex also has stuff you can look at, but it doesn't say the price every minute, it just shows all trade history. You can download information with a max of a three month range per time.
Hope this helps.
Happy Bitcoining


text:
Issues when attempting to get accounts using the GDAX API
Here is the github I have working with:
https://github.com/danpaquin/gdax-python
When I run the following code:
auth_client.get_accounts()

I'm getting the following error:
TypeError: expected string or bytes-like object

Which doesn't make much sense to me. Any help would be much appreciated.

I assume you have setup API access within your account settings and initialized AuthenticatedClient ?

yes, i found the problem though, wasnt using the passphrase


text:
Having trouble using GDAX API to place market buy order
Here is the documentation I'm following and to place a buy order, the syntax follows the following format:
# Buy 0.01 BTC @ 100 USD
auth_client.buy(price='100.00', #USD
               size='0.01', #BTC
               product_id='BTC-USD')

That's straight forward but i'd prefer to place a market order using $100 but I'm not sure how.
Any help would be much appreciated.

Set the price to $100 over the current price?

Just out of curiosity, how does the engine resolve orders that are more than adequate? In other words, the seller wants to sell for much less than the buyer wants to buy?


text:
Why bitcoin private key WIF format always be started in K or L?
According to https://en.bitcoin.it/wiki/Wallet_import_format,
the bitcoin private wif format key is create by below step.
And it says that the compressed wif key always start with 'K' or 'L',
this mean 80+private-key+01/ mod 58' last result is always 18 or 19.
I know the big number mod 58 will result in 0-57,
why the last remainder of wif key mod 58 always is 18 or 19
Would someone give me Mathematical Proof of this?
 #1 take a private key
 priv='d7c9e36a4d31039d4b94a43246a4a5f0767f2f55ef9a359901c82c41fb1e4bff'
 compressed='01'

 #2 add version
 version='80' #mainnet
 priv=version+priv+compressed

 #3 perform double hash-256 of priv in step#2
 checksum=dhash256(priv.decode('hex'))

 #4 get first 4 bytes for checksum
 checksum=checksum.encode('hex')[0:8]

 #5 add checksum to priv in step#2
 wifhash=priv+checksum

 #6 final bash58encode
 wif= b58encode(wifhash.decode('hex'))

 # compressed --> K or L
 print wif

 #compressed: L4TB9Z3dXeKW4tyF7EVqbczrEA5hjSdjG1QvBd1CeYTQHm2YincA

Base58 check encoding is really just a base conversion. It follows the standard base conversion algorithm in mathematics.
Right before we perform the base conversion, we will have a sequence of 38 bytes. It's 0x80 + 32 byte private key + 1 byte compression indicator + 4 bytes checksum. For the encoding itself, these 38 bytes are interpreted as a very large number, and then a base 58 version of that number is computed.
Let's look at our number in hexadecimal (base 16). The constraints we have mean that the number will be at least 0x0x8000000000000000000000000000000000000000000000000000000000000000000000000000 and at most 0x80ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff. Now in base 58, these two numbers are KwDiBf89QgGbjEhKnhXJuH7LrciVrZi3qYjgd9M7rFU73NTmk4WB and L5oLkpV3aqBjhki6LmvChTCq73v9gyymzzMpBbhDLjDpKhfJuTe6.
Since every possible value that can be encoded falls between those two base 58 numbers, all possible values that can be encoded must begin with a K or L.


text:
Does bitcoin dust fee rule or policy activate in bitcoin testnet?
Does dust fee rule activate in bitcoin testnet?
I create a tx in testnet with output is dust,the tx always relayed and go into block,
but in main net it report dust transaction error.
Why bitcoin testnet is different to mainet in dust relay fee policy.
my bitcoin-0.17.1 not set -dustrelayfee option means it default to 546 satoshi.
the testnet tx is
https://chain.so/tx/BTCTEST/33e00aa06e22ea69908a1c000450cc15a7001d4a0922e5ac2b79bad569a62c0d
$ find . -name "*.cpp" -type f | xargs grep '\-dustrelayfee'
./init.cpp:    gArgs.AddArg("-dustrelayfee=<amt>", strprintf("Fee rate (in %s/kB) used to defined dust, the value of an output such that it will cost more than its value in fees at this fee rate to spend it. (default: %s)", CURRENCY_UNIT, FormatMoney(DUST_RELAY_TX_FEE)), true, OptionsCategory::NODE_RELAY);
./init.cpp:    if (gArgs.IsArgSet("-dustrelayfee"))
./init.cpp:        if (!ParseMoney(gArgs.GetArg("-dustrelayfee", ""), n))
./init.cpp:            return InitError(AmountErrMsg("dustrelayfee", gArgs.GetArg("-dustrelayfee", "")));

#src/policy/policy.cpp
CAmount GetDustThreshold(const CTxOut& txout, const CFeeRate& dustRelayFeeIn)
 {
     // "Dust" is defined in terms of dustRelayFee,
     // which has units satoshis-per-kilobyte.
     // If you'd pay more in fees than the value of the output
     // to spend something, then we consider it dust.
     // A typical spendable non-segwit txout is 34 bytes big, and will
     // need a CTxIn of at least 148 bytes to spend:
     // so dust is a spendable txout less than
     // 182*dustRelayFee/1000 (in satoshis).
     // 546 satoshis at the default rate of 3000 sat/kB.
     // A typical spendable segwit txout is 31 bytes big, and will
     // need a CTxIn of at least 67 bytes to spend:
     // so dust is a spendable txout less than
     // 98*dustRelayFee/1000 (in satoshis).
     // 294 satoshis at the default rate of 3000 sat/kB.
     if (txout.scriptPubKey.IsUnspendable())
         return 0;

did you find any solution?


text:
BTC Withdrawal from Crypto-Bridge
I did a small transaction as a test.  I wanted to convert BTS (BitShares) to LTC (LiteCoin).  Couldn't find any direct exchange, so traded a token amount to BTC on Crypto-Bridge, then tried a withdrawal to Coinbase.
This is the transaction:
https://cryptofresh.com/u/neal-walters-bridge
This is the screenshot of what i entered:

Even though I entered my CoinBase receive address, the above shows I sent to CryptoBridge.  Is just a matter of waiting for it to convert and send, or did I do something wrong.  Obviously I want to verify before doing a larger amount.

The BTC arrived within an hour or so.  A little scary, but it worked. The above link never shows that Crypto-bridge send the funds, so I guess they convert it and generate a new transaction.

Just adding this comment for future readers: It takes some time for CryptoBridge to execute orders: (which can be tracked by checking for burn assets here: https://wallet.crypto-bridge.org/account/cryptobridge/dashboard). Then the actual transfer also takes time. BTC takes around an hour to confirm, others like LTC, ETH take minutes.


text:
Will a recursive sha256 run over all 2^256 inputs before a collision?
Will a recursive sha256 run over all 2^256 inputs before a collision?
Here'a a python program showing my question - will this loop for 2^256 times - given endless memory or will it terminate before - if so when?
import hashlib

# start with 0
input = (0).to_bytes(32, byteorder="little", signed=False)

# dictionary to detect hash collisions - yes, this will eat up ALL memory
hit = {}

print ("first input:" + input.hex())

while (1):
    hash = hashlib.sha256(input).digest()

    # do we have a collision?
    assert (hash not in hit), "Collision!"

    # store current hash
    hit[hash]=1

    print ("Hash: " + hash.hex())

    # try again with the hash output as input
    input=hash

Short answer: you will "probably" find a collision after 2^128 attempts.
The concept you are looking for is called the birthday problem, explained also very well in this video by Professor Christoph Parr.
One of the approximations from The Birthday Problem is that given a random output space of size n, the probability of an input collision approaches 50% after approximately √n attempts. (2^256)^1/2 = 2^128


text:
Convert Theta ERC-20 to Theta Main Network
As a test, I transferred one Theta ERC-20 token to my new Theta web wallet, and I see it there.  How do I now convert it to the main net Theta?

On another site, someone reported this:
Your actual theta tokens are in the wallet where your ERC20 tokens were at time of the deployment of the theta blockchain. You have to get the private key for that wallet and open it on the theta web wallet site to gain access to not just your theta but also your tfuel.
My response and results:
I would have never guessed I could logon to an old ETH wall from the Theta Wallet.
Worked great, much easier than I thought. I was guessing I would have to ask them to convert it.
My ERC-20 Theta tokens were on Exodus, and unfortunately Exodus has not added support yet for Theta.  In that wallet you are able to show your private/public key for Ethereum.
With that, I was able to logon to Theta wallet with my private key from Exodus and see my coins and TFuel, then I just transferred them to my newly created Theta wallet.

Ledger Nano used to support the Theta ERC20 token. Does it now also support the new non-ERC Theta token?

I don't know, don't use a Nano yet.


text:
How to Get Unspent Transaction Outputs from Node
There is one API called listunspent, however it doesn't return any outputs, and some threads say that it may be because the address is not imported into the node's wallet.
Then how to retrieve the unspent outputs for any address?

listunspent will list all unspent outputs of addresses the wallets controls, it will not work for any arbitrary address.
You can importaddress to add any address as a watch-only address, but this may take some time as your node will need to rescan the blockchain to find all associated transactions. Also note that when you use importaddress, you will not be able to spend any funds held at that address, since your wallet will not hold the private keys for it.

And when you have the (WIF encoded) private keys, you can import them into the wallet, and then also spend the funds...


text:
How to Sync Main Net together with Test3 Net
After I install the bitcoin core, it just sync the main net.
Is there a way that I can also sync the test3 net for testing/developing purpose?

Start another instance of Bitcoin Core with the -testnet option to run it in testnet mode.


text:
Does the miner first validate transaction before doing POW or he does not validate at all ?
Does the miner validate the transaction before putting it on the block for proof of work?
my understanding is if the miner does not validate the transaction and published the block and the block gets rejected of the invalid transaction then miner will lose the reward?
One more question does the nodes relay the transaction after validation or they just relay it?

Miner first validates all transactions he wants to include in the block he will mine.
Then from these transactions he calculates their Merkle root, that becomes the field of this block's header.
Then he mines (repeatedly hashes this header modifying its nonce field with each try).
When he finds the correct hash he broadcasts this block (including block's header and transactions) to the network.
Reasoning: It would be stupid from miner to do the expensive work of mining before making validation, risking the block to be rejected. This would mean he spent a lot of resources to mine the block in vain.

Nodes validate the transaction before relaying it.
Reasoning: It is beneficial for network if the nodes filter invalid (erroneous, malicious) traffic. It reduces the load.


text:
What happens if there are no transactions?
Could you please explain what would happen without transactions?
Let's say people stop s(p)ending for a while for whatever reason.
What miners would do if there are no transactions? Will they just keep a copy of blockchain and have no reward for approving transactions?

A miner can mine an otherwise completely empty block, and still collect the award of 12.5 BTC for completing a block.


text:
Bitcoins sent to address i cannot access, funds are unused Pls Help me get them back
So yesterday i was sending some bitcoin to deposit on my whaleclub.co account like i had done once previous before with no issues, although this time it is saying that my bitcoins were sent to a different address other than mine. As i look at my coinbase transactions and follow the transaction my sent bitcoins remain in that address. How do i get them back ? Any help would be awesome.

Hi Alex -- let us know what bitcoin addresses you have the private keys for (but don't publish the private keys themselves, obviously!) Have you accidentally sent Bitcoin to an address for which you don't have a key? If it's an account controlled by whaleclub.co, perhaps they can reverse the transaction by sending the bitcoin back.
If you have sent the coins to an account for which nobody has the key, then I'm afraid they are pretty much lost for ever: the blockchain does not allow transactions to be reversed.

If you are able to see in the blockchain transactions that your amount remained sent to the correct address - then I would contact the support centre with  whaleclub.co.
If you can verify in the blockchain that your btw was sent the correct address, then it sounds like an issue on the receiving end?
Not sure if this helps.


text:
How to recieve bitcoin fork (segwit2x) on binance?
I cannot find any area on Binance.com that shows the new bitcoin hard-fork (segwit2x) funds, any input?


text:
MITM attack in hosted wallets
i have a question: in the web wallets(hosted wallets)when user want to make a transaction and send the information to the wallet server , can a one change the information(man in the middle attack)?

Depending on the nature of the implementation, yes.
If you are considering hosted wallets such as exchanges, then yes - an MITM that is able to bypass SSL protections, a fairly common implementation on many corporate and organizational networks, will trivially be able to change data.
Certain wallets work around this by either storing the private keys locally and signing information retrieved from a remote server (such as metamask, or ledger live), which might still be susceptible to an MITM on the information being retrieved, or by using a local secret to sign requests to the remote server, which prevents in flight modification without detection.
Wallets further work around that by using systems such as the SPV protocol to both retrieve and verify data prior to signing it.

You should always download a wallet and make sure this wallet does not require you to sign up and give any information.
A secure wallet will generate the 12 to 24 word mnemonic phrase and tell you to back it up.


text:
Bitcoin Core full node has saved a lot more space than 260gb
I've had Bitcoin Core running on my Macbook i5, 8gb ram, the last five nights and have gotten to 58%. It's downloading to an external hdd and now the blocks directory contains 375gb of data.
Another computer, Huawei laptop i5 8gb ram, started downloading it yesterday and has gotten to 61% with just under 200gb or storage space used. Although this computer first downloaded to its internal ssd and then I copied it to the hdd. Now its crashing all the time in the same way the first has been for the last days.
I cant figure out why its saving more than the original blockchain. Why is this?

This is a known issue and a bug with APFS. This will be fixed in the next version of Bitcoin Core.


text:
Bitcoin Core full node download crashes all the time
I'm downloading the full blockchain for the first time, and have only got a couple of laptops with i5 and 8gb ram and a couple of external hdds. The download has run for a long time on one of the hdds (five nights), the other one I started yesterday. The first have reached 58% the other 61% (in one day). The other one, I realized, were downloading it to the internal ssd, so I had to move it because is ditn't have more space. After I moved the download to the hdd it's moving as slow as the original one and at a speed that won't get finished because of continual crashing.
I'm considering continuing the download to an extarnal ssd of 250gb and then copying it over to the 500gb hdd and trying to do the last part on that, but when on hdd it crashes all the time, so I haven't got very high hopes.
Does anyone have any suggestions for me? Is the only bottleneck the hdds or can it be someplace else?
Would it be possible to download the second half only to the internal ssd and them combine them on the hdd somehow?

Can you define what you mean by "crashing"? What hardware is this (CPU, RAM), what operating system?

The "first" one is a Macbook Pro, the "other" is a Huawei something with Windows. Both i5 and 8gb ram, as specified. To clarify: I've tried downloading on through my Macbook to a hdd with apfs for several days, then when visiting home I tried my brothers Huawei to a hdd with exFat.
On the Macbook the application has increasingly crashed (not responding) and this happened with the Huawei too, when I copied it to the hdd and continued the download to that location.


text:
Locating bitcoin from 2009
In late 2009 maybe early very early of 2010 I was living at my parents and tryi to find a way to make money online.  It was all fairly new back then.  I remember looking at some computer coders site that spoke of stuff I didn’t understand when I found where someone was giving 25 bucks to download and run a program. I don’t recall if I clicked on a link, copied and pasted into browser. Idk. I do know that when I ran it it asked if I wanted to run it in the background. I chose yes.  And after it was all there the 25 was a huge number of bitcoin. The equivalent to 25 dollars worth of bitcoin back then.  I seen that and got irritated.  Mom told me to at least finish what I was doing.  So I did.
Later dad is annoyed at a program running that he couldn’t find.
He changed hard drives.
So years later I ask dad and yes he still has the hard drive.
The only thing I can find is where I copied and pasted the url into a folder.
But the url says bitcoin/stack.exchange or something like that followed by some characters.
Bitcoin stack exchange didn’t form for a few years yet.
Did the stack exchange have links or something to complete a bitcoin trade back then?
Does anyone remember back then how The word about bitcoin was spread? Oh and I do remember seeing peer to peer in something I was reading about the download I’d just done and I remember satoshi or something maybe even longer that began with satoshi

This sort of question comes up moderately often.
Bitcoin.stackexchange.com is a self-help Q&A website and has never provided Bitcoin wallets or acted as a custodian of money or as a register of Bitcoin accounts. It has always been no more than a place where people like you and I can answer other people's questions.
You need to do one of the following:

Find a file named wallet.dat. Find or remember any password you might have used to protect the wallet.
Find a piece of paper where you wrote a "private key" - a string of letters and digits similar in length to E9873D79C6D87DC0FB6A5778633389F4453213303DA61F20BD67FC233AA33262.

Without something more definite than you wrote above, your $25 is lost forever.

Similar questions (not exactly identical) which also have potentially useful answers.

Recovering bitcoins
signed up in 2010-now trying to access
Bitcoin Recovery Email or Hard Drive

However the Bitcoin I received wasn't password protected.

And bitcoin stack exchange wasn't even around then.

As for the wallet.dat, it was my understanding that the wallet.dat is created when downloaded the program. But the bitcoin sent to me via ipaddress/email was just that. A private key.   There's not a wallet.dat file involved in that.

@EricaDawn if you have that private key you can download a wallet and import that key into it. See https://bitcoin.org/en/choose-your-wallet

Well when I opened the file in question, it had some stuff like prop. And some numbers and then it said FKey or SFkey

Is there something that would prevent it from syncing? Maybe something that has been changed since then that isn’t compatable?


text:
Outrageous miners fees
My BRD wallet just charged a 27 dollar miners fee TO SEND 50 dollars worth of bitcoin!! 1/3 of 75 bucks went to a miners fee? 55e7f51a96ecd8d25a1566346bff76e2985a5aed4fe279e44d75f991cf0a993a

Can someone cancel this before it gets confirmed?

Your wallet seems to have wildly inaccurate fee estimation.
Currently, for next block mining, you should be paying around 1/8th of that fee - 1/10th or less for next 2-4 blocks.
Unfortunately, that transaction cannot really be cancelled - you could attempt to double spend it, but the fee is so high that you'd end up spending even more to potentially get a double spend mined, which defeats the purpose.

That's pretty much what thought. Why would myBRD wallet suddenly change miners fees like that?

Whatever system they use to estimate a good fee rate is probably broken in some way, or not accurate when there are sudden changes in the mempool. Your best bet would be to reach out and ask them directly

I recommend you using https://mempool.observer/ to see the mining fees on the next blocks. It gives you an idea about how much does it cost to mine a tx. But be aware that the current cost is something dynamic, and a lot of txs can arrive suddenly paying more fees than the one you have sent, sending you back in the queue.


text:
hello please let me know whats wrong with this script for find Reuse R value
hello friends here is the code to find reuse R values of bitcoin transaction but unfortunately it is not scanning more than 51 transaction secondly it can only use one address at a time and i want to use text file to check multiple addresses as well as i want to save the output in a text file please help me to sort out

import json

import urllib2

import time

import sys

#for some reason blockchain.info api-chain is 59711 blocks short..

blockstart = 170399

blockstart += 59711

blockcount = urllib2.urlopen("https://blockchain.info/de/q/getblockcount").read()

print "WELCOME TO R-scan v0.1.2!"

print "ADDRESS-R-SCAN: "

addr = raw_input("type address:  ")

urladdr = "https://blockchain.info/de/rawaddr/" + str(addr)

#control api-url

print urladdr

addrdata = json.load(urllib2.urlopen(urladdr))

print "Data for pubkey: " + str(addr)

print "number of txs: " + str(addrdata['n_tx'])

#tx-details:

y = -0

inputs = []

while y < addrdata['n_tx']:

print "#################################################################################"

print "TX nr :" + str(y+1)

print "hash: " + str(addrdata['txs'][y]['hash'])

print "number of inputs: " + str(addrdata['txs'][y]['vin_sz'])

#only if

#if addrdata['txs'][y]['vin_sz'] > 1:

zy = 0

while zy < addrdata['txs'][y]['vin_sz']:

  print "Input-ScriptNR " + str(zy+1) + " :" + str(addrdata['txs'][y]['inputs'][zy]['script'])

  inputs.append(addrdata['txs'][y]['inputs'][zy]['script'])

  zy += 1

y += 1

print "compare: "

xi = 0

zi = 1

lenx = len(inputs)

alert = 0

#compare the sig values in each input script

while xi < lenx-1:

x = 0

while x < lenx-zi:

  if inputs[xi][10:74] == inputs[x+zi][10:74]:

      print "In Input NR: " + str(xi) + "[global increment] " + str(inputs[xi])

      print('\a')

                   print "Resued R-Value: "

      print inputs[x+zi][10:74]

                   alert += 1

  x += 1

zi += 1

xi += 1

#check duplicates

#alert when everything ok

if alert < 1:

print "Good pubKey. No problems."

sys.exit()

Use my code located here:

In your working directory (that you cd'd into) create an addr.txt containing your list of addresses separated by space or a newline.
Run it as python3 rscan.py 2>out.txt. It'll print the progress and if anything bad is found it'll be in out.txt in your working directory.

thank you very much sir! please tell me is there any script which can scan blockchain for specific signature

thank you very much sir! please tell me is there any script which can scan blockchain for specific signature

This script collects all signatures from an address and checks for all matches. If it isn't, what do you specifically need?

the script scan the entire blockchain and search for the signatures and find the match of given signature input

I don't have it, maybe you can ask about it in a new question? It sounds difficult to code since block explorers don't index by signature

Dear MCCCS your script work fine for me and i got a key which has the reuse value for many times but the script is printing transaction input number and i don't know how to find it because signature is not indexed in blockchain. if it can print hash of transaction which has the reuse r value it will be bit easy to trace the transaction. please let me know if you have the solution.

@MuhammadAdnanAlam Here is my updated code that also prints hashes: https://gist.github.com/DesWurstes/937de5ce335fe255eccc23b2abded49e


text:
How to reverse Bitcoin Elliptic curve?
Hello Friends is this possible to reverse the elliptical curve if you have value of X and Y of public key?
I know the public is generated through following formula
K=kG or kG=K
Can we reverse it ?

Are you understand that if it is possible to reverse the elliptic curve point multiplication, the security of Bitcoin would be equal to zero, so now when market price is above 30k, I think that reverse slightly impossible nowadays.

I think you are asking whether you can calculate a private key from a public key. If this was possible Bitcoin would be broken as all funds associated with a public key could be stolen by anyone.

The whole point of Elliptic Curve Cryptography is that it is not possible to do such an operation. If it were, ECC would be broken, along with everything that uses it.
With current technology and algorithms, it is not possible to do what you are asking.


text:
is bitcoin keyspace flawed?
guys need your expert guide
I was doing a research on Bitcoin key space and i have found a mysterious thing that the first public which is actually the generator point is same as the last public key, in the same way 2nd public key and second last public key are same, and if we divide the range into two parts first range last public key is same as 2nd range first public key the only difference i found in these similar keys is '02' and '03' or '04' checksum. i don't understand why there are similarities in public keys?

This is a property of elliptic curves. It is expected, and does not meaningfully impact security.
Points on an elliptic curve have an X and Y coordinate. In the case of secp256k1, these coordinates must obey the equation y2 = x3 + 7 (mod p), where p = 2256 - 232 - 977. Whenever (x,y) is on the curve, (x,-y) is too (because y is squared, so its sign is ignored). Now, this is a negation mod p; where "signs" don't really exist; they're all just numbers between 0 and p-1. Negation corresponds to replacing y with p-y, and because p is odd, this means that every X coordinate has exactly one even Y corresponding to it, and one odd one.
To encode public keys, it is unnecessary to send the full Y coordinate. There are only two of them, and one is odd, and one is even. So, the encoding just sends 33 bytes. First one byte to indicate whether Y is even (0x02) or odd (0x03), followed by 32 bytes that encode the full X coordinate.
These two points (x,y) and (x,-y) are also each other's negation. The details are perhaps too much detail to go into here, but the elliptic curve has a "zero" point (also called the point at infinity), which when added to any point gives itself, and adding (x,y) and (x,-y) to each other gives infinity. So in a way, w.r.t. the elliptic curve point addition operation, (x,y) and (x,-y) are each other's negation.
That means that when you negate a private key, you're effectively going to end up with the negation of the corresponding public key. Private keys are numbers, but mod n, and not mod p like the curve point coefficients. n in secp256k1's case is n = 2256 - 432420386565659656852420866394968145599. Overall, this means that the public keys corresponding to a and n-a will indeed have the same X coordinate, and negated Y coordinate.
Is this a problem for security? No, because it's a well known property of elliptic curves, and when analyzing their security, this is taken into account. The best known algorithms for breaking elliptic curve security (solving the ECDLP) make use of this property, and get roughly a factor √2 speedup from it. Yet even with that speedup, the time it takes to break the security of a public key is still astronomical. It is also used for other purposes: with the upcoming Taproot activation in November 2021, BIP340 "Schnorr" signatures will be enabled on the network. These store just the X coordinate, and are only 32 bytes. The Y coordinate is implicitly even.
secp256k1 has in fact a related property too: when multiplying a private key with 78074008874160198520644763525212887401909906723592317393988542598630163514318 results in the X coordinate being multiplied with 55594575648329892869085402983802832744385952214688224221778511981742606582254 (and the Y coordinate staying the same). This property is rather special (it is called the GLV endomorphism), results in a significant speedup for certain cryptographic algorithms (including ECDSA verification), but also results in a √3 speedup for attacks. Again, even taking this speedup into account, security of the curve is very safe.

I'm curious, by what factor does GLV endomorphism speed up the relevant cryptographic algos?

If I remember correctly, it's around 30-40% for elliptic curve multiplication. For ECDSA verification it's around a 25% speedup (because it consists of a combination EC multiplication with two bases, and only one of them can take advantage of GLV).


text:
blockchain scanning
Hello friends please let me know that is there any script that can scan the entire blockchain and extract the signature values and find the match of given input.
lets suppose i give the input "eb2dsa"
script has to scan all blocks and hashes for the given input
if found print the output in a text file with hash of transaction as well as the matching signature and the public key

Don't think there is any script like that, you'll probably have to write it yourself.

What is your input? Is it a pubkey? Can you not transform your input into an address and plug it into a block explorer?

my input would be a signature, script has to scan all blockchain blocks for similar signatures and print output to file with TXID address and input matching signature


text:
what is math behind elliptic curve? (duplicate)
I have seen many videos regarding the math behind the bitcoin elliptical curve but none of them showing the public key generation they are just defining few steps. i need complete math behind the elliptical curve in which the generation of public key is defined. actually i want to see visual calculation for public key generation, someone give me the link which was defining the math behind elliptical curve
what i understand that is k * n times G is equals to public key but question is remain same if kn times G (where every point of G we get from point multiplication and point addition ) then at every multiplication of kG will result a different value then how can we combine them get the public key.


text:
RIPEMD 160 Hashes
I have observed that BTC Address 1111111111111111111114oLvT2 has the public key RIPEMD 160 Hash is 0000000000000000000000000000000000000000 whereby 111111111111111111112BEH2ro has the public RIPEMD 160 Hash is 000000000000000000000000000000000000000A many of address has been generated in this sequence of 160 hash among them many dormant wallets which were active in past few years and still has positive balance.
what my question is how these address has been created ? does they really have private key ? if yes then is the private key would be sequential as well?

These are probably "proof of burn" addresses.
The corresponding private key is unknown. If the private key was known, the public key hash would look much more random. By creating a non-random-looking public key hash, one proves that they almost certainly don't know the corresponding private key. If nobody knows the private key, bitcoins sent there are effectively deleted.
Why would someone delete bitcoins? Well, for example, it's one way to start up a new alt-coin. You can give people altcoins in exchange for deleting their bitcoins. Some people consider this more fair than giving out altcoins based on proof-of-work or random chance.

You are right regarding the proof of burn but unfortunately not 100 percent i have a database for sequence of 1111111111111111111114oLvT2  to  1zzzbRUbAnKUAJ6fEhX1g1ZzMz6ur3BJW these are total 25202952 keys all of their hash 160 are in sequence , among them 30% keys are still active 30% were active in past few years but now dormant and 40 % keys just received the coin but never spend its mean 60% had the valid private keys. if it is same like i am thinking their private key might be in specific key range with specific sequence


text:
The idea of Blockchain compression
Bitcoin's blockchain is large. By accident, I discovered a way to reduce it (on the disk), but I wonder why it was not implemented by someone else.
I wrote a short documentation here: http://194.28.50.88/BTC-Compression/btc-compression.pdf
I would like to know your opinions.
PS. Maybe it is possible to adapt this compression to get more transations into block

This is a question looking to start a discussion, which is off topic for a Q&A site.


text:
If there were no transactions, would mining be possible?
What would happen if suddenly everyone stops transferring bitcoins so that there is no work for miners (no transactions to be grouped into blocks)? Would mining be possible in that conditions? How exactly?
Of course, I realize this is impossible, I am interested in the theory behind it.

Yes.
Miners would just produce empty blocks. They would only be paid a subsidy (12.5 BTC per block, currently) and not any fees from transactions.
In its early history, Bitcoin had many empty blocks.

It seems that "many empty blocks" is an understatement, the first real transaction appears to be https://blockchain.info/block/00000000d1145790a8694403d4063f323d499e655c83426834d4ce2f8dd4a2ee 170 transactions after the genesis block, which is indeed empty https://blockchain.info/block/000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f (except for the transaction that outputs the newly generated coins)


text:
How can the output of an unconfirmed transaction be spent?
This transaction has been stuck for a few days:
af660c5eafe582f22254c9778d18a628d1d2fdea812e983713379458b7c2c9df
https://blockchain.info/tx/af660c5eafe582f22254c9778d18a628d1d2fdea812e983713379458b7c2c9df
How is it possible that one of the outputs is spent if the transaction is unconfirmed?

It works just fine.  "Spent" here just means that a second transaction has been broadcast whose input is an output of the first transaction.  You don't have to wait for confirmation in order to do that, and you can continue the process with arbitrarily long chains.
However, the second transaction can't be confirmed until after the first one is confirmed.  (Or, they can both be confirmed in the same block.)


text:
How to find your private key with your 12 Word Password Phrase and the depositing Address?
I use MyCelium v14 for iOS. In the past 72 hours, the address could not synchronize because the servers are "down, unpaid for".
I have used my 12 Word to access MyCelium via Android App and Jaxx, and now Exodus. Here is my issue, I have both transaction Hashes and addresses of where my coin are and I have my 12 Words, the issue is you're able to Add more Accounts on MyCelium, for example I can have my Main Account, Account 1, Account 2, Account 3 etc and they have have their own generated addresses and all of that sort.
I've been speaking with the Android developer and he's been discussing that I will need to keep creating new accounts and depositing coin to each new account so I can create a new account until I find the account with my bitcoins. This has been very frustrating since I been using MyCelium for 5 years now and they have stopped updating the iOS version for 2 years, yes I should've moved to a different address but unfortunatley I've placed all my eggs in one basket.
Am I able to find my private key/account with my 12 Word Passphrase and my depositing addresses/transaction hashes that the coin is currently stuck in?

I would suspect anyone who claimed to be a developer of Mycelium and who gave that advice is either incompetent, criminal or a liar. I may be overly suspicious but it seems very poor advice.

The 12 words encode a seed that can be used to derive bitcoin addresses. There are an infinite number of derivation paths you can take using any one seed, so knowing the right derivation path will be necessary to recover your funds.
A quick google search tells me Mycellium uses the BIP44 derivation path: m/44'/0'/0'/0
So you just need to find some software that allows you to specify the path being created, and point it to the correct one.

I've been speaking with the Android developer and he's been discussing that I will need to keep creating new accounts and depositing coin to each new account so I can create a new account until I find the account with my bitcoins.

You most definitely do not need to send any bitcoin to any wallet you generate, in order to determine if it is the derivation path you are looking for. Upon being supplied the correct path, the wallet should show you your transaction history as per normal, as long as it is correctly synced with the network.

This should do it for you - download the page and use it offline (scroll to the bottom for instructions).
https://iancoleman.io/bip39/


text:
Mining Bitcoin Wallet's Private Keys Instead of Blocks
Instead of mining Bitcoins directly, couldn't one of these huge processing farms dedicate their processing power to instead discovering the private keys of the largest wallets on the ledger?
I realize randomly guessing private keys is unlikely. However unlikely though, it would seem you'd increase your likelihood for each additional guess and a mining farm could do a lot of guessing with 24 hours a day 365 days a year. And, any particular guess could be the lucky one that cracks the wallet.
I'm asking this question not because I want to do this. I'm asking it because "if I can think of it" someone else is probably already trying it.
Each day, this farm could query the top 10 wallets in the ledger and just do random private key guesses all day long. If these big accounts switched wallets each day, it wouldn't matter, a farm would be guessing on those new wallets constantly (what ever is top 10, at any given time, could be constantly randomly guessed at).
What prevents this?

Closely related: https://bitcoin.stackexchange.com/q/8804/5406

What is your estimate of how long it would take to get one success?

Also:  Why 10 wallets?  You've clearly got a better chance of success if you direct all your processing power at a single wallet.

To mine a block it is "enough" to guess the nonce that results in a hash compatible with the current difficulty level.
To guess a private key to a specific wallet you need on average 2^255 tries. Even the simple act of counting (not checking if that number is a key to some btc, just counting) from 0 to 2^255 with an ideal binary counter requires more energy than that provided by converting the whole mass of the Sun into energy.
Not impossibile, "just" infeasible
Even if you are fine by guessing a private key to a random wallet out of a few million the amount of tries to do is not that much different in absolute terms and the reasoning still applies.
Google returns many funny trivia about how really immense is the keyspace, some with elaborate calculations too, such as that if we made a book with 255 keys per page containing all the possible keys that book would have 904625697166532776746648320380374280100293470930272690489102837043110636675 pages. (www.directory.io)
Anyway, there is a project named "large bitcoin collider" that tries to guess private keys, obviously with "not much" success... (https://lbc.cryptoguru.org/about)

Related on Crypto.SE: https://crypto.stackexchange.com/a/1160

Despite all this, the very first random guess could be the lucky one. Bitcoin better hope that all psychics are fake too, else they'll start cracking wallets like walnuts!


text:
Searching The Blockchain Based on Transaction Amount and/or Date
I know there are a lot of services to look up if I have the wallet address or transaction ID. But, let's say I have no idea who the sender or receiver were nor a transaction ID but I know approximately or exactly the amount of bitcoin which were sent, and I know the approximate time period where the transaction was sent.
Is there a web-based service which would allow me to find matching transactions easily?
Similar to this question,
Can you search a transaction by quantity?
But the transaction wasn't limited to the last few hours, the goochain site recommended there appears to no longer be a blockchain search tool, and I really would prefer an online interface.
I am amazed I can't find a service that does this online. All the main block explorers I checked don't seem to have this as an option.

Yes, you can use blockchair.com. One of their searchable data types is transaction outputs and they allow filtering both by time and amount (either BTC or USD): https://blockchair.com/bitcoin/outputs#

Nice site. E.g. all possible Lazslo pizza's: https://blockchair.com/bitcoin/outputs?s=time(asc)&q=value(1000000000000),time(2010-05-18..2010-08-05) Related: https://bitcointalk.org/index.php?topic=5453728.msg62286606#msg62286606


text:
What really happen when user moves fund between Main Account and Trading Account in HitBTC?
I am building a crypto exchange and I wonder how HitBTC exchange (https://hitbtc.com/) is handling "Main account" and "Trading account", as the image below:

According to them, Main Account is like cold wallet, while Trading Account is like hot wallet. Storing your fund in Main Account (cold wallet) will be safer to your fund.
Now, let's talk about definition of cold wallet and hot wallet. Cold wallet means private key is stored offline, while hot wallet means private key is stored online.
So, am I correct that, when user store his fund in "Trading Account", what really happens is, HitBTC moves private key of that particular user's wallet to an online server? And when the user moves the fund to "Main Account", what really happens is, HitBTC remove the private key from online server and store it in online offline servers?
If yes, then how can HitBTC, when necessary, moves private key from offline server to online server, without making the offline server online?

This is purely an internal accounting move, no keys are involved.
Their comparison to a hot/cold valid is likely just an analogy. In reality, their application layer (or some middleware) enforces some checks to make sure you can only trade values inside your trading account.
When you transfer funds between them, their internal database accounts are updated. This has nothing to do with blockchains or private keys or utxos. It's purely an internal movement.


text:
White label bitcoin exchange price
I have identified a potential market for a bitcoin exchange. What is the average price for a white label bitcoin exchange having a reasonable amount of features which will allow me to go on production?


text:
Why not to mine more efficient?
I'm a kinda newbie here. But this is what I completely can not understand.
If every single miner have to 'arrange' transactions and then compute a SHA-256 function of a given memory chunk, and if computed SHA-256 must match a given criteria (so-called difficulty), why not to split such work, and force each miner node to 'compute' (or 'pick') his own range of nonces? I mean, okay, in good old days every miner was on his own, there was a real 'competition' or concurrent race between them, but now times have changed. Now miners gathers into 'pools'. Just look at the chart:

I mean, 28.2% of miners may help each other by tearing this work apart. Are there any less brute but more 'lock pick' ways? If such large segments of the network are now centralized, why not to look for map-reduce approach? Either I've missed some important details, or there is the way. Thanks a lot for the explainations.

force each miner node to 'compute' (or 'pick') his own range of nonces?

You don't need to force them. They will obviously do so on their own - doing anything else would be ridiculous, as the fastest miner would always win if they all try to run the same race.
In practice this is automatic, as every miner pays out to himself. As their payout addresses are different, their coinbase transactions will be different, which means their transaction hashes will be different, which means their Merkle tree will be different, which means their Merkle root hashes will be different, and as a result block header will be different too. In fact, it's impossible for them to be working on the same block template without forgetting to pay themselves!

What if the block was initially arranged to pay not to the miner himself, but to the pool owner? And miner’s work will be in just picking the nonce in parallel which sounds more predictable then just brute-forcing the block, which rewards only “me”?

Pools give different ranges to each worker, again - obviously - because otherwise they're wasting work.


text:
Bitcoind stops downloading the blockchain
I have bitcoind running on Ubuntu 16.4 VPS.
The problem is that it just randomly stops downloading the blockchain and when i run
bitcoin-cli getblockcount

it returns in begining the block count - 165572 and after 10 minutes its look like its crashed and show me 0.
any ideas?


text:
How long to verify transaction is not overdrawn?
Given that the block chain is 140gb now, how long does it take a node or a miner to verify that a transaction is valid i.e. Not giving negative balance for an address?
Also, given that the number of transactions is always increasing, I am assuming that the verification time increases as order(N) i.e. linearly with the number of cumulative transactions? Will this become a big problem in the future as it takes longer and longer to verify transactions?


text:
Why do we need SegWit (technical explanation)
After reading a lot of articles, whitepapers and videos I am still confused why do we need SegWit an Lightning instead of just bigger blocks. I don‘t want to debate Bitcoin vs Bitcoin Cash but what are the technical arguments? For a non-involved Bitcoin developer the debate is just crazy and both sides have their pros and cons but there must be technical arguments or not..?
DISCLAIMER: I do not have Bitcoin Cash but Bitcoin

this question has the risk of creating "opinion based" answers. On SegWit and LN: this is the scaling solution to really high throughput, whereas BitcoinCash is just pushing the can down the road. It does not solve anything at all. The limitations we see today still appear in the future, and as such prevents mass adoption. Just my view, now let's  see the fantastic answers by all the experts!

Yes there are a lot opinion based answers but (maybe I am naive ) there should be some clear technical facts where the community should be able to talk about..Or maybe there is a paper/article where the technical arguments both sides are listed/described in a fair way... (fingers crossed)

After reading a lot of articles, whitepapers and videos I am still confused why do we need SegWit and Lightning instead of just bigger blocks.

It's not a question of one or another. They are all approaches to capacity increases, and I expect that in the long term, all of them will happen. However, due to the risks and tradeoffs involved some were far easier to deploy and get agreement across the ecosystem on.
SegWit is a solution to the transaction malleability problem, introduced in a way that also provided a moderate capacity increase. By design, SegWit is backward compatible - meaning that it did not require the entire ecosystem to migrate to different software.
Lightning is one proposal for a layer on top of Bitcoin that makes much more efficient use of transaction capacity, as well as giving instant transactions. Implementing Lightning became much simpler with SegWit. It only affects those who use it.
Just a block size increase is a bit underspecified, as SegWit for example was technically a block size increase too. If you mean increasing the capacity without any other changes, that is something that I expect will happen in the long term, but has multiple issues. One is that it is a hard fork, which means the degree of consensus needed for it happen without incidents across the network is much greater.
The biggest issue - and this is certainly subjective - is that it is not a solution at all to scaling. It offers a way to double the capacity of the system while making everything twice as costly (in terms of resources) for participants to validate the system's security. If we want to make Bitcoin accessible to the world, no such approach will help. Blocks could be made 2x bigger or 10x bigger, but the result is only 2x or 10x more transactions. Who cares? That does not fundamentally enable use cases that weren't otherwise possible. In my view, the part of the ecosystem that views capacity increases in this way as a necessity do so from an expectation that all transactions need to happen on the blockchain. That's just not what the technology is good for. Building layers on top is harder, and will require time, research, and money. But it may bring us a world where billions have access to a currency without third party control. In contrast, larger blocks risk setting the ecosystem on a path where its only way forward is ever increasing blocks size.
Lastly, there is the issue of immutability. Bitcoin is hard to change if people believe it is hard to change. And this on itself is an incredibly valuable property. This means people can rely on it retaining the properties they signed up for, even if potentially powerful entities would like it to change. If controversy is a reason to step away from this, it's an avenue to outside influence. This does not mean change cannot happen at all, but it must happen in a way that is cooperative, and without rush. We're in it for the long term…

I realize that this answer ended up being much more political than just technical reasons as OP asked. Perhaps another answer with just the technical benefits of SegWit and Lightning is useful?

Thx for your answer! Yes a technical answer would be defenitly helpful. I agree that both sidechains and bigger blocksizes will be used on the longterm, but now I am struggeling a lot with the technical part. Especially when you find some proof-of-concepts for sidechains and for large blocksizes (1 GB), pros and cons etc. Then I am asking myself all the time: „There must be some hidden technical specifications where I should compare...“. Why should we implement SegWit and Sidechains if it is „so easy“ to implement „just bigger Blocksizes“ like Bitcoin Cash propagates...

The short answer to that is that they do different things. SegWit is primarily a fix for the malleability problem (it just happened to also permit a small increase without a hardfork). Lightning primarily gives you fast payments (but also enables many more payments than any capacity increase can achieve).

So you mean, LN will add additional features like cross payment channels (BTC to Crypto xy) what just a blocksize increase can not do... But LN offers a similar scaling like eg 1GB blocks..correct? If correct, why do you think these cross plattform payments are needed and not just a block size increase to solve the (Bitcoin) scalability issue?

LN can do far more than that. It offers instant payments (while BTC transactions take minutes to hours to settle). It also increases capacity for some use cases by a factor that no blocksize increase can achieve (you mention 1 GB blocks, which may be theoretically possible for at a tremendous cost to anyone running a network node, while LN does it with no cost to anyone not involved in the payments).

And that is what confuses me...Supporters of bigger Block sizes would say, that the costs will be low and instant payments will be possible too....But there most be some technical arguments... both could not be true and these technical arguments I am looking for...

There may be disagreements about whether costs are high or low, or impacts are acceptable or not. But there is no dispute about this: block size increases result in higher costs for full nodes and centralization pressure (again, perhaps to an acceptable extent), but LN does not - it simply permits very fast and frequent payments that do not even get published to the rest of the world. It's just an additional dimension that gets added.

The less technical reasoning here is that if increased demand for transactions is a sufficient reason to increase capacity, no block size limit will ever be enough - it'd just open more and less valuable use cases (if it's cheap enough, i'll store my backups on the blockchain). So as long as you accept that there are some costs to larger blocks (even acceptable ones), there must be some size for which these costs are not acceptable anymore. My perspective here is that this is not sustainable: the ecosystem will eventually need to deal with having some limit on capacity.

Thanks for your time Pieter very appreciate that! I guess we could talk hours about this topic. For me ( and I guess for other) it is very hard find the correct and logical answers to this scalability issue when I am talking with oder people especially when the favor the bigger block size path. The answer is always: bigger blocks could do everything what LN could. The costs will be low as well for full nodes, bandwidth is not a problem, LN is centralized etc. I guess you know all these arguments:-) Do you know a good article which compares fairly both solutions on technical level?

They're not two solutions to the same thing. Bigger blocks (including the blocksize increase that segwit effected) isn't a scalability solution at all - it increases capacity by also increasing the costs for everyone to validate. Scalability is about increasing capacity while minimizing the effects on costs. LN does this using a different security trade-off, without imposing costs on those who don't use it. As I said in my answer: segwit was a bugfix to the network rules; its capacity increase is a side effect.