texts:
I had installed bitcoin-wallet app on an old phone a couple of years ago, just out of curiosity about bitcoin.
I obtained somehow a teeny amount of bitcoin, .0017xxxx
anyway, I installed the app on a new phone, and exported/imported.
This all worked fine.

I am just curious about what then happened...
on the new one after the import, it initially said something to the effect of
"recreating (resyncing?) 30 months of history" or something.
And very very slowly the number of months went down and eventually got done, taking maybe a day.
I did notice the phone was pretty warm :-)
Afterward, I had to chuckle because I just happened to notice the phone said it had used 50GB of data that day (!)

Is that all normal? What was it doing all that time? Is it necessary?


texts: Controlling bitcoind connection bandwidth

texts:
The bitcoin github repo has a  bash script given to control the flow of outbound traffic by using the bash script given  on : https://github.com/bitcoin/bitcoin/blob/master/contrib/qos/tc.sh

I am running two bitcoind instances on a local machine with different ports: 18441 and 18442, how do I make use of this script or tweak it, to control the connection bandwidth between the two bitcoind instances ?


texts: What happens to the bitcoin mining if the device changes?

texts: First I've opened this site via mobile and registered with a Google account. Some time later, I continued to mine bitcoin through my laptop with the same account. Will this device change make it impossible for me to exchange the earned bitcoins to dollar or other currencies?


texts: Why did they have to expand the nonce value range?

texts:
My understanding is that at a certain point, once hardware passed the 4 GH/s level, the 4 billion possible values for the nonce became insufficient in bitcoin mining, because a good rig could exhaust them all in less than a second, and then had to wait until the next second for the timestamp value to change and then try the next 4 billion.

The thing I don't get, though, is why they couldn't adjust the timestamp in increments of less than one second? What about milliseconds and nanoseconds? Why not adjust that input instead of the nonce range?

Edit: Is it that the timestamp has a fixed format that ends at seconds, and changing this would be more difficult / less efficient than simply appropriating space from the coinbase transaction?


texts: How to convert scriptPubKey bytes to Bitcoin address?

texts:
I am currently trying myself in parsing the blockchain using pyblockchain. My problem is that I am not able to encode the scriptPubKey correctly - although I don't know what I could possibly do wrong.

Below you can see how I traverse the blockchain:

from blockchain.reader import BlockchainFileReader

import hashlib
import base58

block_reader = BlockchainFileReader('/media/Data/btc/blocks/blk00325.dat')

count = 0

for block in block_reader:
    count +=1
    for t in block.transactions:
        for outp in t.outputs:
            addr = base58.b58encode(outp.script_pub_key)
            if addr.startswith('1'):
                print(addr)
    if count >= 5:
        break

If I, in my Jupyter notebook, take a look at outp, I'll find for

outp.script_pub_key
>> b'v\xa9\x14\x1e\xbev\x83\xceJd\xad\xc9\x17\xe9\xb1\x93\x7f\x12&Q\xcb\xab\xa1\x88\xac'

this:

base58.b58encode(outp.script_pub_key)
>> 'pkJBVCg6k54E7ZiP7cvxbCvtN9aY9zEcgK'

and this is not a valid bitcoin address.

Apparently, bitcoin addresses are supposed to be encoded i Base58Check - however, that does not work either:

base58.b58encode_check(outp.script_pub_key)
>> '6PSJQapdQn8VeG9SBuZdH8q2ysyP4ND6dmspzLZb'

So what am I doing wrong here?


texts: Let's say I want to send BTC to a friend. This friend can now explore the blockchain and find how much money I have or what other purchase I've done or will do. What can I do in order to prevent him from being able to do that or see all of that information? Will changing my public key help, or can he figure out that all the keys belong to the same wallet if they are used in the same transaction?


texts: How can nodes verify the transactions before miner ? Give me easy explaination

texts: If Alice sends 2 Bitcoin, it goes to the nodes to be verified. If nodes are verifying, then what do miners do? I read somewhere that if miner changes the transactions in a block, the block will be invalid. How can miner change the transactions in a block?


texts: Clearing 2 week old transactions from mempool

texts:
I can see a lot of questions posted on Reddit similar to "My transaction is not confirmed for X days. What do I do?".
The most common answer is "Transactions are cleared from mempool after 2 weeks".
Can anybody please explain how it is technically possible?

Say I broadcast a raw transaction through bitcoin-cli. A little later I can see it in

My local mempool
Blockexplorer.com
Blockchain.info

Transaction is not confirmed due to low fee for 2+ weeks.

I check if transaction is still known to network.

My local mempool. Transaction is not present. The reason might be not these 2 weeks, but rather my full 500mb pool where low-fee transactions are cleared due to limited space.
Blockexplorer.com. Transaction is not present. They definitely have a bigger mempool. So 2 weeks might be the reason.
Blockchain.info. Transaction is still known to the service. Probably not in mempool in terms of bitcoin, but somewhere in there local storage. The point is they still remember it.

So, two out of three parties forgot transaction.

The questions are:

What stops Blockchain.info to rebroadcast my transaction to the network again so that it is back again in network mempools? It would be exactly the same as if I just broadcast my transaction for the first time, right?
If Blockchain.info can do it, is this 2-week rule true in the first place?
If it is true, how it is implemented on the network level? Is it some kind of agreement that we do not rebroadcast transactions that are this days old?


texts: Are Bisq offer ids picked or partially picked by humans?

texts:
Two recent Bisq "offer ids" are:

"emzlols-7639fae0-cd4d-48cf-acc5-abc97dab89db-124"
"aixcp-6efe1e8d-90bf-4c25-b021-53616cad1109-124"

(Emphasis mine. These are fully public, so I don't see a reason to redact/censor them here.)

I can't help but notice that the first says "lols" in it. Is this a pure coincidence, auto-generated randomly, or are these id strings somehow picked by the offer makers/sellers? At least the first part before the first dash?


texts:
Is it a good idea to take my private key from my wallet and save them? Because I read it is not save to make your wallet shows your private keys. (It guess I do not understand that well).

Edit: Are they different than seeds? the words-phrase that wallet gives?

And how can I use the private keys to restore my coins in case for example, my wallet company stopped working?


texts:
I am getting this error in the debug.log of bitcoind:

EXCEPTION: N5boost16exception_detail10clone_implINS0_19error_info_injectorINS_21thread_resource_errorEEEEE
boost::thread_resource_error

It happens every 2 to 4 hours, and I need to restart bitcoind.

What I do is I request recent transactions every 2 seconds, via json-rpc.

Does anybody else got this error? Is there a way of avoiding this error?

UPDATE:

I actually managed to figure out it is related to calling walletlock. Whenever walletlock is called (via json-rpc or command line, doesn't matter), a new thread is spawned and it doesn't die. Looks like a bug.


texts:
In order to prevent attackers from secretly mining chains (which they could later publish to perform double-spending attacks), would it be possible to require some information to be included in the next block that can only be known if the last block in the chain was published to the network? Something like a random number that is only generated in response to the block being public.
That way, secretly mined side-chains can automatically be rejected by the network.


texts:
I am currently running a Bitcoin Core wallet 0.18.1.
What do I need to do to update it to 0.19.0.1 version?
Would be very grateful for instructions as I am relatively new to this.


texts: how difficult is it to generating an ECDSA (or Schnorr) signature with a certain number of leading zeros?

texts:
If both the public key and the private key are known ahead of time (public knowledge), and the goal is to choose a message/nonce that generates a signature with, for example, a certain number of leading zeroes, is this a similarly computationally challenging task to traditional proof of work in that it is "hard to find" but "(relatively) easy to verify?"

It seems like the answer should be "yes," because if the answer is "no" then (I think?) it would imply that signatures are not pseudorandomly uniform for different messages.

Put perhaps more succinctly, can a signature also itself serve to represent a targeted proof-of-work?

Lastly, do answers to any of the above change when the signature scheme used is Schnorr rather than ECSDA?

edit: it seems that adapter signatures[1] may essentially allow for this, but I do not know enough about how they work to know for sure.
[1] https://github.com/ElementsProject/scriptless-scripts


texts:
Recently my Bitcoin-Qt client started crashing on start-up (running Mac OS X 10.7.4). I was able to stop the crashing by removing the blocks directory and letting it re-download the blockchain.

However, I don't really have time to re-download the forever bloating 13GB blockchain! So I tried importing my wallet.dat file into blockchain.info. Upon doing this, my total balance is now 1BTC short.

When I inspect the transactions, nowhere did I send 1BTC from that wallet. And when checking in Bitcoin-Qt, the coin is there and verified.  Unfortunately I can't dump the private key for this coin as I get an error in Bitcoin-Qt (I think due to my blockchain being out of date). As I was hoping to then import this key manually.

Is there anyway around this? Ideally I just want to get my balance into a wallet like Multibit, so I don't have to worry about the 13GB+ blockchain! Backup my wallet safely and know that my coin is secure and safe! In a crashing Bitcoin-Qt with a forever growing blockchain I don't feel too happy at the moment.

Currently available to me I just have my encrypted wallet, and it is currently imported to blockchain.info with the incorrect balance. Any suggestions? I feel like I tip toe around a lot with Bitcoin as I don't want to accidently delete anything I shouldn't!


texts: Chronologically sorting transactions within a block

texts: Is there any way to chronologically sort transactions within a block?


texts:
I just updated my btc wallet to 0.8.1, I think, to a macbook. Now I can't open it, I keep getting an error message that says "System error Database 1/0 error"?
I'm fairly technically illiterate so any help would be much appreciated.


texts: What are the potential security issues when running a Lightning Node on my home network?

texts:
If I was to run a lightning node on my home network (and for example, not running the node through TOR), what should I worry about?

Furthermore, what OS, settings and software should I use to minimize the threats?


texts: How can I sign message for a blockchain watch only bitcoin address

texts:
I have to verify sign message for one of my blockchain bitcoin address. I couldn't find sign message or private key option in More Options beside all my bitcoin addresses. I thought maybe I have to import it.So I imported my own blockchain bitcoin address which I am mentioning below

1PSBpnjrzpHyKpyQuFaecdnA4WfDetdiwn

and it became a watch only address. In More Options I see only Archive, transfer and spent.
So what to do now ? Please help...

I do not have any bitcoins on this address, but I logged in using this bitcoin address as master address on a bitcoin gambling site and forgot the password.The only way I can recover my account is by verifying my bitcoin address

1PSBpnjrzpHyKpyQuFaecdnA4WfDetdiwn and pasting the signature to be provided by blockchain. I don't want to lose my BTC and LTC on this account.

So what to do now ? Please help...


texts: What are the risks of direct Bitcoin fraud, such as counterfeitting?

texts: I am being mocked by friends for not being on the Bitcoin train yet, so I am trying to understand it all. I get how btc blockchains basically works, but when someone says "if bitcoins are copied by splitting the blockchain" or something like that (I can't even quote it correctly...), what does it mean? Are there 'fake' bitcouns floating around out there? And what to do if you end up with some fake btc?


texts: How long should I wait to consider that the transation is "definitely" confirmed?

texts:
When one transaction is broadcasted, what is the probability that it won't be confirmed? (By probability, I mean the observed probability on the blockchain. If a person intentionally spend twice 1 bitcoin, I imagine that the probability is roughly 0.5). What are the reasons that the transaction will be invalid.

one of the reason is double spending.

Now since every 10 minutes, a block is mined. After 10 minutes, what is the probability that the transaction will be invalid. I read that 6 confirmations (so 6 blocks) is a good number.

Now after 60 minutes, what is the probability of invalidating the transaction?


texts: How to check where I recently sent some Bitcoin Cash using Copay wallet

texts: Hey sorry but i'm totally new to this. i bought serval different currencies. i have sent bitcoin and bitcoin cash to my copay wallet. i can see the bitcoin but not the bitcoin cash. the balance has left my coinbase account. i don't understand enough to decipher what im looking at. i see input consumed and outputs created. and i see a load of confirmations. i copied and pasted the address from my wallet so i don't think i could have pasted them wrong. what are my next steps to take. ho do i check where i have send them.


texts: What is the incentive behind using platforms such as XDP/Dogeparty?

texts:
ELI5: What can one do with XDP that s/he cannot do with DOGE? Is Dogeparty similar to projects such as Ethereum/Ripple?

If I understand correctly one receives 1 XDP/1000 DOGE "burned". How are these DOGE 'destroyed'? And where does one go from there in using their newly acquired XDP?


texts: Bitcoin contracts with stickK.com functionality

texts:
Does a BTC service/application allow me to set a nTimeLock transaction that can be interrupted by a single predetermined 3rd party before the transaction has been made public? If a service like this does not exist how could I implement a simple version?

BACKGROUND stickK.com (how it works) lets you place monetary punishments for not achieving goals by a predetermined date. The money goes to "anti-charities" or organizations that represent the opposite of your beliefs. I wanted to try the service but didn't want to give them my Credit Card information, and thought bitcoin could do it better.

QUESTION Do any services currently exist that allow me to place a bitcoin transaction to an "anti-charity" in escrow for a certain period of time to achieve my goal. Then if a person of my choosing, my referee (a close friend, sibling, or mentor), determines I have met my goal they can send the bitcoin back to me. However if I did not meet the goal within the specified time period then the contract will automatically send the .5 BTC to my anti-charity.

POSSIBLE SOLUTION The bitcoin wiki offers an example on the contracts page that I feel is very relevant even though it is talking about deposits, but is difficult for me to wrap my head around. If this is the proper solution can you help me understand "Tx2 spends Tx1 and pays it back to the user" found here:

  The website creates a transaction Tx2 (the contract). Tx2 spends Tx1
  and pays it back to the user via the address he provided in the
  first step. Note that Tx1 requires two signatures, so this
  transaction can't be complete. nLockTime is set to some date in the
  future (eg, six months). The sequence number on the input is set to
  zero.


texts: Decentralized product inventory (instead of simple orderbook)

texts:
I am thinking of creating a decentralized market place with public bidding. AS far as I have researched all cryptocurrencies and such only offer public ledgers with simple orderbooks. The only data about the item you are exchanging is value like BTC->USD or USD->BTC.

I was hoping to have a decentralized public market for more complex products which have many properties (let's call them CPU, memory, bandwidth, storage and lease time). In this case, you would not bid against a single value (price), but define the acceptable parameter ranger for your bid e.g. 30x units with > 512 MB memory, 1 MBit/s bandwith at the price of 1 USD/unit.

Then the ledger would go through the offers and match ones available on the market. Then trade parties would exchange private keys, so that the buyer would get the access to the item. I have no idea yet how, but probably the buyer would have an encryption key in the bid and if the bid goes through then the seller would encrypt a reply to the buyer using this key (the buyer can only decrypt).

As I am still in early phases of my research, I was wondering is there any prior art in this kind of crypto markets? Preferably the ledger data and the orders are public in consensus or blockchain, so that the there is no single point of failure in the system.

Thus far I have researched

NXT
Stellar
Bitshares X
OpenBazaar (this looks promising but orders and inventories are not decentralized ATM)
Ethereum (well this one is still much in baking)


texts: When is it too late to get BCH and BTG from the fork from an appropriate wallet?

texts: Is it enough that the funds where sent before the forks on the blockchain, or should they also have been recieved (enough with 1 confirmation on the blockchain?)  before the forks, and why?


texts: How are altcoins on crypto-exchanges based off BTC, ETH, and others

texts: My question deals with all the cryptoexchanges out there that only accept and use cryptocurrencies.  How is it that for example, LTC's price is based off of BTC on some excahnges (on the y-axis of a price graph)?  The reason I am asking is because lets say I own 10 LTC that stays the same price in USD and the price of BTC drops dramatically.  I then convert my LTC to BTC in the exchange and BTC then raises back up to it's original price, does that mean I just made money?  As in could I keep exchanging between the two whenever one goes up and the other goes down? I thought of this a week or two ago when bitcoin's price drastically dropped and has been fluctuating.


texts: How to estimate the optimal fee for transaction(Segwit addresses)?

texts: I am using Segwit addresses to create transactions. As per my knowledge usage of segwit addresses allows the transactions to process fast with fewer fees as it occupies less space in the block. Could anyone explain how to calculate the fee for transactions using segwit transactions?


texts: BIP0034 block height using python-bitcoinlib

texts:
I'm doing some experiments for finding coinbase height from freshly mined block which is received from ZMQ.

    tx_coinbase = CTransaction.deserialize(x('010000000001010000000000000000000000000000000000000000000000000000000000000000ffffffff2303f90d1800fe6d8a0300fea00a04000963676d696e6572343208010000000000000000ffffffff02bc078402000000001976a914c11998cf0635b9ba940212af99447dfbdcfafe9688ac0000000000000000266a24aa21a9ed7a0ea91535f513cc527e1858a43800c2f6712d45404877f59f564a8eea88276f0120000000000000000000000000000000000000000000000000000000000000000000000000'))
    scriptSig = tx_coinbase.vin[0].scriptSig
    coinbase_script = CScript(scriptSig)
    for o in coinbase_script:
        h = int(b2lx(o), 16)
        logging.debug(h)
        break

It is really weird in my opinion. The question:

Is there better solution to parse scriptSig and pull block height?

*It is also an exercise 2 from 'Programming Bitcoin' Chapter 9. But I really want to get block height using only raw block obtained from Core via zmq.


texts:
I am trying to compile Multibit on Windows:

Windows 7,
IDEA 13.0.2,
Maven 3.0,
Multibit 0.5.16.

I am able to compile, but when I try to test there are always 2 failures:

Running org.multibit.file.ExportTransactionsSubmitActionTest
11:31:54.896 [main] DEBUG org.multibit.model.BaseModel - Initial view from properties file is 'WELCOME_VIEW'
11:31:55.671 [main] DEBUG o.m.model.bitcoin.WalletInfoData - The wallet version in the constructor was '3'. In the wallet info file it was '2'. Using the latter.
11:31:55.678 [main] DEBUG org.multibit.file.FileHandler - rememberFileSizesAndLastModified: Wallet filename C:\Projects\BCColors\multibit-master\.\.\src\test\resources\wallets\protobuf1.wallet , walletFileSize 986 ,walletFileLastModified 1393765318000 ,walletInfoFileSize 688 ,walletInfoFileLastModified 1393765318000
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.8 sec <<< FAILURE!
testExportTransactions(org.multibit.file.ExportTransactionsSubmitActionTest)  Time elapsed: 0.799 sec  <<< FAILURE!
junit.framework.ComparisonFailure: Row 1 incorrect expected:<29 Jul 2013 1[0]:23,"Sent to ""unenc...> but was:<29 Jul 2013 1[2]:23,"Sent to ""unenc...>

and

Running org.multibit.viewsystem.swing.action.CreateNewReceivingAddressSubmitActionTest
<......>

Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 46.048 sec <<< FAILURE!
testAddReceivingAddressesWithEncryptedWallet(org.multibit.viewsystem.swing.action.CreateNewReceivingAddressSubmitActionTest)  Time elapsed: 46.047 sec  <<< FAILURE!
junit.framework.AssertionFailedError: Wrong number of keys after addition of 20 keys expected:<22> but was:<2>

And more common question. Multibit code is very poorly documented. Does anybody have any reference/tutorial/explanation about it?


texts: I want to make a web app that accepts and uses Bitcoin, complete with user accounts, bitcoin storage per user, etc.  How would I go about hooking this up using MEAN?  Is there a reference for setting up a bitcoin user account database RDBMS model or a SQL/noSQL reference that you can suggest?


texts: Technical problems in deployment of segwit parallely on bit 4

texts:
Recently(as of May 24, 2017) segwit2mb HF has been proposed. A core developer has reported that another deployment of segwit via bip 109  on bit 4 would require code duplication.
Although the above link comes with some justification, I fail to understand the reasoning.

What will be consequences if we simply change the block threshold(95% of 2016) to 80% of 2016 and give it out as a new binary? Is there a network split risk?


texts: What is the maximum number of inputs/outputs a transaction can have?

texts: Is there a maximum recommended number of inputs/outputs for each transaction? I was scripting a faucet and wasn't sure whether to payout in one transaction to all addresses or split them into groups of say 100 or 1000.


texts: Why increasing block size increases centralisation?

texts:
I understand this is a contentious question. Help me understand Why increasing block size increases the risk of centralization?
I don't understand what Antonopoulos meant when he said few people can validate the blockchain when block-size is increased.

  "If my block takes 11 minutes to validate, then i’m off the blockchain, which means fewer people can validate independently, which means the system becomes centralized. With which one of these increases, fewer people can participate in the validation process, fewer people can participate in storing the data, and fewer people can participate in being independent actors. We go from a system that is decentralized to a system that gradually gets more and more centralized,”


texts:
The Bitcoin hash rate is MASSIVE right now.

What exactly causes the hashrate to increase?


texts: Is there an intermediary that allows me to pay eBay purchases with Bitcoin?

texts:
I mostly buy stuff on Ebay since Amazon and Bestbuy don't offer worldwide shipping, I live in southern Asia.

I have an account with my local public bank denominated in US Dollar to make my payments to Ebay. However, it is very hard to get USD in this country as rich people have all of it. If I used a local currency account instead, the bank would charge a 10% commission for each international payment for currency exchange and cross border fee.

Is there a Bitcoin solution for this?


texts: Is "Reclaiming Disk Space" already implemented? How effective will it be?

texts:
Some people are concerned about the scalability of Bitcoin. The blockchain already has reached nearly 1 GB to download and store, which is not exactly in the spirit of a modern thin client, especially in regards to mobile devices.

Now when consulting the Satoshi Paper, it seems they already came up with a solution:

  7. Reclaiming Disk Space

  Once the latest transaction in a coin is buried under enough blocks,
  the spent transactions before it can be discarded to save disk space.
  To facilitate this without breaking the block's hash, transactions are
  hashed in a Merkle Tree [...], with only the root included in the
  block's hash. Old blocks can then be compacted by stubbing off
  branches of the tree. The interior hashes do not need to be stored.

  A block header with no transactions would be about 80 bytes. If we
  suppose blocks are generated every 10 minutes, 80 bytes * 6 * 24 * 365
  = 4.2MB per year. With computer systems typically selling with 2GB of RAM as of 2008, and Moore's Law predicting current growth of
  1.2GB per year, storage should not be a problem even if the block headers must be kept in memory.

Is this already implemented for the current version? "4.2 MB per year" suggests that no. Is it already on the roadmap? Have the developers met any unforeseen obstacles? Will the solution be as effective as promised?


texts:
I have transferred bitcoin form copay to my friend wallet 4 months ago and I just realized that my coin never sent to my friend's wallet and status in Copay wallet is "Locked Balance". My question is how can I unlock my balance and how can this happen?:(

Thanks


texts: Online exchange bitcoin balance to hardware wallet

texts: For better security, how would I move bitcoin from my Coinbase Wallet and Vault to a hardware wallet like Trezor?


texts: How to accelerate the long time for bitcoin-core to sync the blockchain?

texts:
How can I accelerate:

the process of sync'ing bitcoin-core for console usage?  Pokey internet.  Can't I sync recursively and in the background?  Just looking to learn by playing and using console commands.
Looking to use bitcoind but am waiting this sync to complete.


texts: library for light-weight wallet : btcsuite or BitcoinJ

texts:
Do btcsuite + Neutrino(Lightning-lab) together provide sufficient foundation for light client capable to service onchain transactions (not multisig & not related to Payment Channels)?

Or is it possible to use Neutrino in conjunction with BitcoinJ to replace its Bloom filters?

The app will focus on bitcoin onchain transactions, but in future we'd like to do Lightning transactions also.


texts: I need help on how to change the disk to run my bitcoin core wallet

texts:
Long time ago I transferred my wallet on My Passport an external hard disk. I have not opened bitcoin core for over 8 months. I opened it 2 days ago, the dialog box opened, which normally doesn’t and I was asked to choose where to open bitcoin core. I chose the external disk.Something went wrong. Finally I understood that there was a problem with the disk and it was not mounting on my macbook pro. I fixed that problem. However bitcoin core continues to open at the default file on my mac which is empty.  My wallet shows no transactions and it is updating since 11 years back.
I need to be able to open the dialog box at start of bitcoin core to choose again the correct disk but I don’t know how to do that. My knowledge is very limited


texts: How is the previous transaction found efficiently?

texts:
When a new block is being created, all the transactions must be verified. In order to do that, the outputs of the previous transaction must be found in the blockchain.

But the new transaction only refers to the previous transaction by a hash. How is that transaction located without searching the whole blockchain?


texts: What is a transaction's step-by-step life cycle?

texts:
I'm trying to understand a transaction's lifetime and haven't yet found a technical, linear "timeline" of events that occur when a P2P transaction occurs.

This is my understanding so far; please correct it as needed:

A person uses their RSA private key to sign a message saying "deduct X amount from my account and send it to YYY address(s)".  In this message they also reference the current Block number.
The client application (wallet) sends this transaction to 6 nodes for "confirmation". (is the destination a miner or a wallet?)
?? What does confirmation actually do??
The mining nodes add those transactions to single message called a block (and save them in almost any order)
The mining nodes compete to find a SHA256(SHA256(x)) hash of the the block that starts with a predetermined number of zeros.
The first mining node (or node pool) to generate the winning hash collects a prize and increments the block count.  (note this currently appears to take 30 minutes, and the block size is limited to 1MB)
The miners notify a wallet who then replicates the new block to anyone who requests it, and pushes the updates to a certain number of peers.  Any block with a date difference greater than 120 minutes of system time is discarded.
Any in-flight transactions that reference the solved block have to be resubmitted by the original client and refer to the current block.
Conflicting transactions (double spends) are detected in the Bitcoin client and discarded.
The wallet will keep track of any forked chains and the chain with the most computational power backing it wins.  This fork may occur due to netsplits or malicious activity).   In addition no single wallet or central authority currently knows of all the invalid transactions, or forks that have occurred in the network.
Once 100 (or 120) confirms have been sent, the BTC generated with the block may be spent. source


texts: How to consolidate dust transactions in 2017?

texts:
This has definitely been asked before but the questions I found were years old and I want to know if the landscape for dealing with this has improved, and if there's a simpler way for an "average user" to consolidate these tiny inputs.

I have lots of transactions from faucets and cloud mining that has been running quite a while now.  Even setting my wallet (Trezor) to use the lowest fee will cost more than 1/3 the total value.  Is there any way I can consolidate these without getting completely reamed, and without having to have a deep understanding of linux, running bitcoin core, etc.?

I'm on OSX and while I am frequently the most technologically savvy person in my circles, I'm not a linux/bitcoin expert and am more just an early adopter playing around with something new that I only somewhat understand.  Would really like to be able to use these btc someday without giving up most of them to fees.

Also my mining is ongoing so I get another small transaction every single day, so this will continue to be an issue for me.


texts: Where can one find the best explanation of the blockchain?

texts:
Sorry if these questions seem stupid but after a lot of research I still feel rather lost and confused !!
I understand what is bitcoin and have a fairly good understanding of the basic blockchain idea but I have a hard time understanding some concepts.
For example where can one download the source code for the blockchain ? How did Ethereum get the source code for the blockchain ?
How can an update be "scheduled" for a specific block and not be implemented immediately ?
Or how can one code apps for a blockchain platform like ethereum ?

I guess all these fall in the question, where can I find a thorough, complete explanation of the blockchain?

Thanks !


texts: HD / Deterministic Wallets and public key

texts:
I understand the basic concept of generating an unlimited number of public key addresses from a master public key. What I won't understand is how to get the wallet balance. Do I have to query unspent outputs for every public key in the wallet that I have generated?

Is it possible to iterate through the addresses in the utxo and determine whether they are within the public set of addresses that could be generated by the wallet?

If I hand the server a public key and it generates more on my behalf, how do I know which addresses received coin? It seems like there must be a way to determine if an address is spendable by the master key pair.

Any ideas? Seems that you would have to check the entire utxo set somehow. Much appreciated.


texts:
I've been told my power supply needs to be of a good brand and have sufficient power for all the hardware, with some to spare. A 80+ gold PSU is more expensive but could be the best idea.

I'm starting out my rig with three SAPPHIRE VAPOR-X R9 280X 3GB GDDR5 OC for now.I'm looking to go upto 4 or even maybe 5 in the future.

The price difference between Silent Pro M2 1500W & Corsair Professional Series Gold AX1200 is 42 USD from where I am to get it.One being silver rated and the other gold.

In terms of power efficiency and expansion ability of the rig which one would be better and why ?


texts: What is the most secure operating system that I can use to store bitcoins without having to fear a hacker stealing them?


texts: Can bitcoin-qt use imported address as a change address?

texts: If I import a private key into a bitcoin-qt wallet, is it possible that some day some transaction I send from the wallet will use its pair address (the bitcoin address created from this private key ) as a change address target in the outputs ?


texts: If found a broken link on bitcoin.org - who manages the site?

texts:
just a minor issue but yet:

MIT license link has moved from this:
https://opensource.org/licenses/mit-license.php

to this:
https://opensource.org/licenses/mit

Source page with the broken link:
https://bitcoin.org/en/download

Thanks!
Yosi


texts: Why don't people buy at one exchange and sell at another?

texts:
Bitcoinity.org shows that for the past 30 days, bitstamp's price is high at 101.00, low at 77.00, and current price is 98.04. On contrast, mtgox's price for the past 30 days is high at 115.00, low at 86.20, and current price is 110.50.

In other words, someone or anyone can just buy from bitstamp and sell to mtgox to make profit.

What's stopping people from doing so? What's the catch?

It can't be that people aren't aware that they could do it right?


texts: Can an Ethereum contract be updated without having to be re-submitted?

texts: I am wondering - can an Ethereum contract be updated without having to be re-submitted? Say, if I find a bug in my contract, can I fix it without having to create a new contract and making my potential users have to update their references? As I understand, I can always upload a new contract and make that contract fetch the old data plus possibly invalidate the old contract, but that still doesn't let me redirect anyone using the old contract into the new one.


texts:
Is it possible to trade bitcoin with paypal and stay anonymous?

How the big trading sites are trading bitcoins and recieve payments with paypal and keep the users anonymous (because there isn't an option of anonymous payment in paypal).


texts: How bitcoin protocol checks transaction is valid (in particular that inputs are unspent)?

texts:
I'm learning bitcoin protocol theory.

To pay to someone you use a transaction. In the transaction you specify some of old transactions that gave you money (so called inputs). These inputs should have not been already spent.

Therefore the bitcoin network must check these inputs are unspent. Bitcoin network holds the list of all unspent transactions. Transactions are in tree-like structures, and all unspent transactions are the roots of these trees. So bitcoin network checks that input transaction is in this list.

After current transaction is done, all used input transactions (inputs) are now spent, and output transaction and change are now put in the list of unspent transactions.

Is the above process and terminology correct?

EDIT: I found confusing now the thing that transaction can have multiple outputs. This means I cannot just state that transaction is my input, and that the it gets invalidated when used for new transaction, as this transaction has an output that is someone else input. How is this handled?


texts: Can anyone help me understand why my transaction won't confirm

texts:
https://blockchain.info/tx/23bddd7a323f5e772d4e3cb24c1c0687c8fcfa79066a0986082a8c101f1ce648?show_adv=true
I have a high transaction fee, and not double spending. Any Ideas?


texts: Where is the extraNonce in this coinbase transaction here?

texts:
https://blockchain.info/tx/c1669dabe1bcadf50c4b712e42da7b3d3152aef53752731b04a4f585dde6f5f2

The coinbase states this:

035fd807174d696e656420627920416e74506f6f6c311e205aaed698fabe6d6d4b889c7cba7d6b5f78928c66ca81b377e39cf502340287a9e7545b9f234c7a06040000000000000094010000bb5c0100
(decoded) _�Mined by AntPool1 Z�֘��mmK��|�}k_x��fʁ�w��4���T[�#Lz��\

Which part is the actual AntPool address and which part is the extra Nonce, also why does it have decoded?

Parsed it in json and it came out to be:

"vin": [
{
  "coinbase":
 "0362d8070483ddae5a642f4254432e434f4d2ffabe6d6dbd4affe5698eb19c52b5ac94015a2eaecd44f4b274883786f086673ba406c05001000000000000003c0d701e0000cfc79db70100",
  "sequence": 4294967295,
  "n": 0
 }
]


texts: When using a paper wallet and doing partial spends via blockchain.info. Where does the change go?

texts:
I'm pretty shocked that I found out now about the change thing as I read everywhere about paper wallets being secure, but no where does it state that when you spend partial amounts from your paper wallet you might actually lose it all if you don't have a change address setup.

Now my question is how does blockchain.info handle this paper wallet situation with change addresses? It's kind of scarey knowing that you coins can just disappear just because you don't know the inner workings of how transactions work.


texts: electrum windows client, standalone executable versus windows installer

texts:
From the download page, http://electrum.org/download.html

What is the difference between the two windows versions? standalone executable and the windows installer version?
What are the advantages and disadvantages of each, and how should I choose which one I should use?


texts: How long is it reasonable to wait for an unconfirmed transaction?

texts:
Approximately 18 hours ago I made 2 transactions of similar value (approx 0.02 BTC each). This was sending bitcoins to 2 seperate address's. The transaction fees were approx 1% of the values sent. Any transactions I have conducted in the past have been more or less instant, so I am a little concerned that 18 hours have elapsed with 0 out of 3 confirmations on both.

What do I do now? Wait longer, if so for how long?

I have seen suggestions of sending the payment again and increasing the transaction fee, but how can I be sure that after I send the new payment then the original wont clear after it also, meaning double funds have been sent. If I do redo the transaction how much do I increase the fee by?

Any advice would be much appreciated.


texts:
What happens to my bitcoins when I die?
Are they lost in the network?


texts:
Let's image a scenario where I buy (or trade) BTC on a regular basis and have a large number of coins in my wallet. Of course I'd like to be able to use my coins whenever possible, exchange with friends or strangers locally. So, I move part of my cryptos to another wallet for petty purchases, exchanges, etc.

My concern is, suppose I have a transaction with a malicious person, they can trace back with relatively high certainty to my account. Now I know this is debatable as they couldn't really tell with certainty but maybe they just don't care. All it matters is they know or I may have cryptos. In this scenario I am left at their mercy. They could threaten me, there's cases of kidnapping, etc.

My question is, is there a reasonable way to go around this problem? Bear in mind I'm talking about local exchanges in a relatively small towns, where people know my face and name, not online where I could keep anonymity.


texts: Can someone please explain the meaning of "neutrino" within the lightning network?

texts:
Rene Pickhardt wrote the below quoted comment in another thread about whether a mobile wallet can be both a full lightning node and wallet at the same time.

  I have many lightning nodes running but they all need to at least communicate with a bitcoin full node at this time. Most of them share the same bitcoin full node. So yes you could have a lightning node running on your phone that talks to a bitcoin fullnode somewhere else. The game changes when neutrino is fully working (I think it is still not integrated to bitcoin core) – Mar 4 at 22:03

Could someone give more precise explanation -

1)  What is this "neutrino" referred above?

2)  When is it expected to fully work, on what is timeline dependent?

3)  And to what extent/how would this "neutrino" change the "Game" as implied above?  What effects would it have on the way lightning works?


texts: Is there any method to extract transactions for an bitcoin address which is not in my wallet using bitcoin core?

texts:
I have setup Bitcoin core and trying build an API to fetch all transactions under an address ( not in my wallet ).

Bitcoin core RPC documention says that an address which is not in my wallet needs to be imported. So I did the same using importaddress while setting rescan true e.g. importaddress '35z3Re9SgLHBfeg7y1HdR35t9HrTqTsKFV' 'test' true. It took more than a week to rescan the whole blockchain database.

After importing the address, when I issued the getaddressinfo RPC command I got empty set of transactions in response.

Am I missing something ? Can you please help me here with the steps ?


texts: Why are exactly 4 bit windows used in the lookup table of libsecp256k1 to speed up point multiplications?

texts:
From the Readme of secp256k1 we can see the following:

Use a precomputed table of multiples of powers of 16 multiplied with the generator, so general multiplication becomes a series of additions.

I was wondering why in particular the table used precomputed table of multiples of 16? I would have expected a higher number or a more dynamic approach which includes dynamic caching.
Let me elaborate a little bit:
With multiples of 16 we always need 4 bit computed in the table. meaning we have 256 / 4 = 64 buckets with 16 entries for each bucket.
Let n be the number of bits in a window for which we compute powers of g this would result in the general formula for the amount of precomputed values in our table for n > 1:
256 / n * 2 ^ n
with n = 4 we have 64 * 16 = 1024 entries.
When choosing n = 8 we would have 32 * 256 = 8192 entries. However when actually computing a multiplication we would only need 32 additions instead of 64. creating a speedup of a factor of 2 for 8 times us much memory usage of our lookup table.
With n = 16 we would have 16 * 65536 = 1048576 or 1M * sizeof(point) of main memory to have only 16 point additions when computing a multiplication.
Obviously such a big lookup table requires some time when setting up the library. Even if the table was already precomputed and in binary shipped with the library.
Anyway I was wondering for the particular choice of 4 bits. I would assume that 8 bits was better and probably even taking 16 bit windows seems fairly reasonable.


texts:
I'm reading https://en.bitcoin.it/wiki/Difficulty

And I don't get why max target is not (2^256 - 1) which is 0xFFFFFFFFFFFF... but 0x00000000FFFF...?


texts: the client's 'invalidateblock' debugging command - possible prevention against majority attack?

texts:
there is a 'invalidateblock' debugging command in the btc client. How can this command be used in a situation of majority attack threat and play a part of countering the attack?

I understand that this command lets nodes 'ignore' blocks generated by the attacking miners. But is that it? What happens with the blockchain, how can it continue to live on without the majority attackers?


texts: How does change address interact with original address

texts:
change address is an additional address inside a wallet, which u can create with a raw transaction with 2 outputs.
What I want to know is how does this change address interact with the (for a lack of words) "original" address, when sending money back to the "original" address.
Does the change address have a pre-written script which sends BTC back to "original" address?


texts: Does bitcoin mining pool hash randomly and separately

texts:
When it comes to hashing does each mining entity use total random seed for each of their hashing function or do they have a range like " Im gonna cover from 0 to 500, and you cover from 500 to 1000, then if nobody find it we up 500 more "
And if they do use range does they tell it to other mining pool, so that they are not searching around the same number ?


texts: How to get BitPay to process each settlement using a new address?

texts:
Since receiving multiple payments using the same address isn't safe, is there a way to get BitPay to settle the balance using a new address each time? It wouldn't be feasible for the user to log in and submit the new address manually every time. Is there a secure API for this?

Thanks


texts:
Can Litecoins be traded directly to Bitcoin?
If I have Litecoin, can I change for Bitcoin?
Just like Euro for U.S. dollar.


texts: Arbitrage in the Bitcoin / Bitcoin Cash fork

texts:
So assuming BTC and BCC are both viable and tradeable for some period after August 1st, is it not inevitable that some people will double spend, by trading a coin on BTC and also the same coin on BCC?

Any ideas what that will look like from an arbitrage perspective while the fork works itself out?


texts: How to parse values in block index leveldb?

texts:
So I'm trying to read the block files with Python.

From this link,
What are the keys used in the blockchain levelDB (ie what are the key:value pairs)?, it tells you how to access the files with leveldb. So I wrote a class to read in the meta data.

class ReadBytes:
    def __init__(self, bytes):
        self.posistion = 0
        self.bytes = bytes

    def get_int(self, byte_count):
        self.posistion += byte_count
        return decode(self.bytes[self.posistion - byte_count:self.posistion][::-1], 256)

    def get_var_int(self):
        self.posistion += 1
        value = byte_to_int(self.bytes[self.posistion - 1])
        if value < 253:
            return value
        return self.get_int(pow(2, value - 252))

But from this link, https://github.com/bitcoin/bitcoin/blob/master/src/chain.h#L364, It turns out there is this thing call VarIntMode::NONNEGATIVE_SIGNED that is tripping me up. I can read regular var int with my Python class, but how do I read the non-negative signed ones in Python?


texts:
I'm currently writing something to script arbitrage between two exchanges to test the concept.

I know I can determine the difference in prices by using

(ExhangeA_sell - ExchangeB_buy) <- this will give me the price difference. i.e. gross profit (before fee's)

My question, how do I take the fee's into account when calculating net profit?

Currently my thinking is that I add the commission % to the buy price on ExchangeA and subtract the commission % from the sell price on ExchangeB.

Any ideas on this?

Thanks.


texts: Can one manually type the mined block on bitcoin core and broadcast it?

texts: I get that all miners compete to find the block first, which is then broadcasted to other nodes who then verify it. But what spikes my interest is would it be possible to broadcast the block to the blockchain without a miner's software's help? Can bitcoin core work alone for mining purposes?


texts: Significance of average block generation rate

texts:
I am stuck in this thought for a while regarding the block generation rate. My concern is, when a payer waits for 10 minutes to confirm that her transaction is included in a block, it suggests that a new block is generated in 10 minutes, because her transaction is brand new and the block includes it. So, how does a miner do that in just 10 minutes? Isn't it supposed to be hard? The miner can then become a millionaire in months.

Does the block generation rate imply that, once a miner starts computing the proof-of-work(POW) she succeeds in getting the nonce after 10 minutes? Or is it the case that miners are computing POW at their own pace(probably for a long enough time) and 1 new block pops up every 10 minutes. If the 2nd scenario is true, how does it justify the waiting time?

Thank you.


texts:
There are currently ~16 million bitcoins in circulation at this moment. There will only ever be 21 million coins. What about all the coins that have been locked in wallets due to loss of keys, owners of wallets dying, etc...?

The number of lost coins is probably fairly small now but if Bitcoin is going to be relevant for who knows 100, 200 or 300+ years, this number will increase. I guess the reduction of "usable" coins will increase the price per coin and the majority of coins won't ever be lost so this not a significant issue.

Are there any solutions to lost coins or is this just a feature of the decentralized network?


texts: Zerocoin vs. Zerocash ? are they the same ? Or two different protocols?

texts: what is the main difference between Zerocoin vs. Zerocash ?  are they the same ? Or two different protocols ? If they are two different protocols, what are similarities ?


texts: Can it be mathematically proven that a block can be solved?

texts: In other words, that there exists a nonce for the block that will result in sha256(sha256(block header + nonce)) hash under the current difficulty barrier number.


texts: Extract lightning network funding transactions with python bitcoin blockchain parser lib

texts:
My ultimate goal is to parse funding transactions (as well as channel closes in a later step) from the blockchain. In order to do so I wanted to start with a funding transaction and disect it. Unfortunately I am kind of stuck and hope you can help out.

via #recksplorer I clicked on an edge and found this transaction to be the funding transaction of a payment channel.  I found this transaction in my local copy of the blockchain using bitcoin-blockchain-parser (in python) lib

using this code

for i,h in enumerate(tx.hex):
    print('{:02x}'.format(h),end=" ")
    if i%8==7:
        print(" ",end="")
    if i%16==15:
       print()
print()

I get the following hex representation of my transaction (the two asterix ** where included to emphasize the output script of interest):

02 00 00 00 00 01 01 e3  3d f6 39 1a 02 5c 79 b3
1a 2a ab 94 9f b5 6d f8  f9 2d 9f 3a bb ab 7d d3
92 47 7f 31 9f b6 69 01  00 00 00 00 ff ff ff ff
02 21 4e 00 00 00 00 00  00 22 **00 20 98 2b 53 22
31 08 07 d3 68 d1 dc 26  11 43 09 5d c7 d0 2f ba
6d 67 08 bb 76 21 51 9f  31 29 08 b2** e1 99 0d 00
00 00 00 00 16 00 14 8c  35 c6 98 4d f9 d6 a2 9e
4e 7d 76 21 19 3c fe 53  82 ce 60 02 48 30 45 02
21 00 ba 9e 6e 56 a6 4f  a2 53 4a 02 e9 30 20 8e
80 38 f6 f0 7c a8 d2 0e  b3 e4 03 59 99 20 8f 9d
a1 15 02 20 3a 12 73 72  c4 bc ee 6f 76 9e 07 fd
05 0e f0 62 9b 4d e8 e6  43 84 26 46 53 56 03 46
07 f3 9a eb 01 21 03 0c  fa b1 4c d0 4a 01 5a 58
40 2a 5e a6 84 e4 d9 b3  4b 33 23 73 04 0c 57 5e
83 b1 0a d3 90 79 66 00  00 00 00

I also found the two output scripts in particular the first one (after byte 58!) which sends 20001 satoshi to a payment channel:

output = tx.outputs[0]
for x in output.script.hex:
    print('{:02x}'.format(h),end=" ")

00 20 98 2b 53 22 31 08 07 d3 68 d1 dc 26 11 43 09 5d c7 d0 2f ba 6d 67 08 bb 76 21 51 9f 31 29 08 b2

I have not been able to understand the format of the funding transaction itself. according to BOLT3 it should look like this:

  2 < pubkey1 > < pubkey2 > 2 OP_CHECKMULTISIG

I asusme that 2 means OP_2. However with the help of bitcoin wiki I cannot find the hex values of OP_2 and OP_CHECKMULTISIG.

I guess (but can't verify this at the moment) that I am running into problems similar to this question here on this site. Or I am messing up with the endian notations? As mentioned my future goal would be to automatically extract all funding transactions therefor I need to be able to pursue my endeavor and would appreciate your help a lot! Thanks!


texts: How can I safely store and trade Bitcoin and other crypto currencies?

texts:
How can I safely store Bitcoin?

Exchanges require me to deposit to trade, is this safe? If I can't trust exchanges, what is the best way to safely store my cryptocurrency and transact it?


texts: Is there an active list of BIPs currently open for voting?

texts:
How can a miner know from which two (or more) BIPs they can choose when they are about to vote? Is there a list of currently active BIPs for voting?
Thanks!


texts: BitcoinJ : Balance and Transaction are not showing in wallet after restoring wallet from MnemonicCode

texts:
I have created a wallet with the help of WalletAppKit on Android and did some transaction in it.

Now what I try to do is, restoring that wallet from mnemonic code (BIP39). It also returns the Wallet object but it doesn't contain the transactions.

Here is the link ref https://bitcoinj.github.io/working-with-the-wallet#seeds-and-mnemonic-codes which describe the working with mnemonic code and seeds.

It also says "now sync the restored wallet as described below" but I never found any way to sync it.

DeterministicSeed seed = wallet.getKeyChainSeed();
println("Seed words are: " + Joiner.on(" ").join(seed.getMnemonicCode()));
println("Seed birthday is: " + seed.getCreationTimeSeconds());

String seedCode = "yard impulse luxury drive today throw farm pepper survey wreck glass federal";
long creationtime = 1409478661L;
DeterministicSeed seed = new DeterministicSeed(seedCode, null, "", creationtime);
Wallet restoredWallet = Wallet.fromSeed(params, seed);
// now sync the restored wallet as described below.


texts: Buying bitcoin from anonymous person on legal websites like localbitcoins.com

texts: I want to buy bitcoin from some sites like localbitcoins.com ,because I do not know who the seller is I worry that Seller might have earned the bitcoins through illegal ways like drug dealing or stealing other people money and I worry that it might make a problem for me in the future if I but those bitcoins for instance the government or police might arrest me and ask me questions that why I have bought bitcoins from criminals this stops me from buying bitcoin on localbitcoins .Do you think it is something that I should worry about it ?


texts: Wouldn't a full node use nearly the same space for large or small block sizes?

texts:
I keep hearing that a larger block size for Bitcoin increases the network weight for full nodes, i.e. more hard drive space required for full nodes.
 And hence it would make less full nodes, and so the network then becomes more centralized.

...but blocks are composed of transactions. And there'd be the same amount of transactions (more or less) either way.  And a full node needs to have all blocks.

Small block sizes:
Full node would download more small blocks.

Large block sizes:
Full node would download less blocks, but they are bigger.

Wouldn't they each take close to the same amount of space either way?
Yet this seems to be the main argument, other than the problems of forking at all for any change, against why not use a bigger block size.


texts: fundrawtransaction causing bitcoind 0.17 to crash

texts:
I've updated to bitcoincore 0.17 and I'm trying to create a raw transaction to be signed on an offline wallet.

I'm creating a raw transaction with createrawtransaction with no inputs and the desired outputs. With the hex generated I'm using fundrawtransaction to match inputs.

Since the online wallet is watch only I need to pass includeWatching as params. Also I want to send the change amount to a different address, so I add changeAddress the the options hash. This kills the entire bitcoind process with no warnings and no log messages

This is the commands I've tried and their output:

$ bitcoin-cli createrawtransaction '[]' '{"14XbnUUvc2Kt8TrnnEG9zjF1XM2jYD1h8x":0.001}'
020000000001a0860100000000001976a91426b1e477be0f7bc5e2cf12dd5b973e57e7fab5bf88ac00000000

$ bitcoin-cli fundrawtransaction 020000000001a0860100000000001976a91426b1e477be0f7bc5e2cf12dd5b973e57e7fab5bf88ac00000000
error code: -4
error message:
Insufficient funds

$ bitcoin-cli fundrawtransaction 020000000001a0860100000000001976a91426b1e477be0f7bc5e2cf12dd5b973e57e7fab5bf88ac00000000 '{"includeWatching":true}'
{
  "hex": "02000000016c4262fe490eb44becac4d4aa37f86b4433327ffa40a00a5498006c6ec5b0b240100000000feffffff02089a03000000000017a914ab7dd53603b6b64d3851569b90eeae8f39fd9f0087a0860100000000001976a91426b1e477be0f7bc5e2cf12dd5b973e57e7fab5bf88ac00000000",
  "fee": 0.00000675,
  "changepos": 0
}

$ bitcoin-cli fundrawtransaction 020000000001a0860100000000001976a91426b1e477be0f7bc5e2cf12dd5b973e57e7fab5bf88ac00000000 '{"includeWatching":true,"changeAddress":"185pJS3yVizdE3RtXKALtVbGRv9gzzypT1"}'
error: Could not connect to the server 127.0.0.1:8332 (error code 1 - "EOF reached")

Make sure the bitcoind server is running and that you are connecting to the correct RPC port.

How can I see the error that killed bitcoind?
Am I doing something wrong?

UPDATE

After using GDB I've found that this is the problem:

bitcoind: policy/feerate.cpp:25: CAmount CFeeRate::GetFee(size_t) const: Assertion `nBytes_ <= uint64_t(std::numeric_limits<int64_t>::max())' failed.

Thread 7 "bitcoin-httpwor" received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffebfff700 (LWP 22448)]
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
51  ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.

Any hints?


texts: What is needed to generate a bech32 address?

texts: So I wrote a vanity address generator in c# with the NBitcoin lib. When I use the private key used to generate the address and input it in Mycelium it outputs a different address. This does not occur when working with legacy addresses, so I'm guessing I need something more than just a private key in order to generate a segwit address. Was it a redeem script or something? How can I make sure I get the same address in a wallet when I input the privkey?


texts: Why would increasing the Bitcoin block size lead to a more centralised system?

texts:
Why does Bitcoin Core contributor Peter Todd think that increasing the Bitcoin block size would lead to a more centralised system?

“The system doesn’t scale, and you just have to accept that and do something smarter. Every time you do a [block size limit] increase, you’re making the system more centralized.”

How does Bitcoin block size affect centralisation?


texts: What is db viewer for Berkeyley DB and LevelDB?

texts:
Wallet uses Berkeyley DB. Block and transaction use LevelDB to index.
In bitcoin data we see the db data folder.
Is there some tool to view these DB data ? I mean the database management tool.


texts: Chained Payments with bitcoin like Paypal Adaptive Payments?

texts:
i have to develop an etsy-like store using bitcoins as currency trading;

As happen in the Etsy network, i have to hold back a fee for all the transactions made by all the sub-stores in the network;

 Chained Payments - ( buyer pay $100 to sub-store and sub-store give $10 to main-store )

              main-store
               $10 fee
buyer __          |
$100    \         |
         \__  sub-store-#
                 $90

i want to know if it's possible using bitcoins to have something like Paypal Adaptive Payments Chained Payments (maybe through some third party services)

thanks in advance for any feedback.


texts: Why aren't public-private keys sufficient to build a block chain? Why do we need proof of work/stake?

texts:
Taking the simple case of Bitcoin here:
If all nodes can validate published transactions by checking the signature (created using the private key of the sender) of the transaction against the public key of the sender, why isn't that sufficient to validate a block?
I understand that we also solve the puzzle of finding a nonce that when combined with a block's contents, gives us a hash that has N number of leading zeroes. Why do we need this at all? Isn't it enough to check the validity of each transaction in the block?
As for double spending, if a miner decides erroneously to include both transactions, nodes can see there isn't enough balance and reject such blocks. As for which transaction of the two to take, the code could have a way to order transactions and if an attacker decides to do the opposite intentionally and decides to spam the network (since there's no proof of work cost) but how does the attacker benefit from that?


texts:
I did a transaction from my bitcoin core wallet.  The transaction 6263452f635713e60f83d45fe41b1c9ba3b5f5e3af664778bf18a05b15cfde06 has not confirmed, and it is now over 48 hours since I made the transaction.   Although blockchain.info will show the transaction (as unconfirmed) if I enter the transaction ID directly, it no longer shows it on the "unconfirmed transactions" page, https://blockchain.info/unconfirmed-transactions.

What should I do now?  I am a complete newbie - this is my first transaction, and this has been very frustrating.

Thanks.


texts:
I have some pictures and litecoins, and I would like to be able to upload images to the litecoin blockchain. I also have some bitcoin, but, because of the higher value of bitcoin, I think I would prefer to use the litecoin because it allows more uploads. There is a site called CryptoGraffiti.info that charges bitcoin and bitcoin SV. I thought about using the bitcoin SV, but that would require buying additional crypto, which I can afford (the big BTC, only a couple images for hundreds of $) and Litecoin is both significantly cheaper and more well maintained than Bitcoin SV. So, I want to know how to upload an image to litecoin using this type of tool.

Note: I want to use this to upload original pictures of things like New York City  and my home town.


texts: I know consensus is what 51% thinking.My questions is where miners communicated?On what server,what port??Where??The must push own api (copy of blocks) for thinking of consensus.So where BTC miners pushing api,for where blockchain explorer used it,where?


texts:
I put together a small fork, and I want to extract the first block of bitcoin.

At the moment I can't, and can't understand why, maybe I forgot something to disable or change.

Here is a link to the fork with a modified Genesis blocks.
I pointed out a time in the future


texts: Invoking the listunspent command via json-rpc on a full node

texts:
I am trying to use the following example code for C# programming, so I can connect to my own bitcoin full node:

https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)#.NET_.28C.23.29

Which has resulted in something like this:

public static string RequestServer(string methodName, List<string> parameters)
{
    string ServerIp = "http://localhost:18332";
    string UserName = "user name goes here";
    string Password = "password goes here";

    HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(ServerIp);
    webRequest.Credentials = new NetworkCredential(UserName, Password);

    webRequest.ContentType = "application/json-rpc";
    webRequest.Method = "POST";

    string respVal = string.Empty;

    JObject joe = new JObject();
    joe.Add(new JProperty("jsonrpc", "1.0"));
    joe.Add(new JProperty("id", "1"));
    joe.Add(new JProperty("method", methodName));

    JArray props = new JArray();
    foreach (var parameter in parameters)
    {
        props.Add(parameter);
    }

    joe.Add(new JProperty("params", props));

    // serialize json for the request
    string s = JsonConvert.SerializeObject(joe);
    byte[] byteArray = Encoding.UTF8.GetBytes(s);
    webRequest.ContentLength = byteArray.Length;

    Stream dataStream = webRequest.GetRequestStream();
    dataStream.Write(byteArray, 0, byteArray.Length);
    dataStream.Close();

    StreamReader streamReader = null;
    try
    {
        WebResponse webResponse = webRequest.GetResponse();

        streamReader = new StreamReader(webResponse.GetResponseStream(), true);

        respVal = streamReader.ReadToEnd();
        var data = JsonConvert.DeserializeObject(respVal).ToString();
        return data;
    }
    catch (Exception exp)
    {
        throw (exp);
    }
    finally
    {
        if (streamReader != null)
        {
            streamReader.Close();
        }
    }

    return string.Empty;
}

The above code allows me to run the bitcoin command sendtoaddress.  For example, the following would work in the bitcoin console:

senttoaddress 2N8hwP1WmJrFF5QWABn38y63uYLhnJYJYTF 0.01

Using the RequestServer function in the C# code above, I can do the same thing like this:

double AmountToSend = Convert.ToDouble(txtAmountToSend.Text);
string ReceivingAddress = txtSendToAddress.Text;
JObject data = JObject.Parse(RequestServer("sendtoaddress", new List<string>() { ReceivingAddress, Convert.ToString(AmountToSend) }));

All good so far.

Now I want to do the same with listunspent

In the bitcoin console, the following work examples work fine:

listunspent
listunspent 1000

Using the C# function above, the following works if I do not give it a parameter:

JObject data = JObject.Parse(RequestServer("listunspent", new List<string>() { }));

But when I add a parameter, it does not work:

JObject data = JObject.Parse(RequestServer("listunspent", new List<string>() { Convert.ToString(1000) }));

The error it gives is:

C:\Users\oshirowanen\Documents\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\bin\Debug>ConsoleApp1.exe

Unhandled Exception: System.Net.WebException: The remote server returned an error: (500) Internal Server Error.
   at System.Net.HttpWebRequest.GetResponse()
   at ConsoleApp1.Program.RequestServer(String methodName, List`1 parameters) in C:\Users\oshirowanen\Documents\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\Program.cs:line 63
   at ConsoleApp1.Program.Main(String[] args) in C:\Users\oshirowanen\Documents\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\Program.cs:line 18

C:\Users\oshirowanen\Documents\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\bin\Debug>

Anyone know why that is?


texts:
I am currently learning how to create raw transactions. I can already create standard using bitcoin core (0.19.1), but when I wanted to create with custom opcode like this:

asm: OP_HASH160 d0c3f50336b5f109207d722c692191ff86263e96 OP_EQUAL OP_DROP 1
hex: a914d0c3f50336b5f109207d722c692191ff86263e96877551

I created raw transaction

createrawtransaction '[{"txid":"1c164f99a7cd0fe6dba9a7fe10ad3c2be132a9260d4ccdeaf7e279073946ac52","vout":0}]' '{"2MxmdfXx8rKGUmWUwQu59GksMNRdnQiRRM2":0.195}'

020000000152ac46390779e2f7eacd4c0d26a932e12b3cad10fea7a9dbe60fcda7994f161c0000000000ffffffff01e08b29010000000017a9143c98df42d7a69c7fd165aeb6128d45f21eeeac4d8700000000

But when I wanted to sign this transaction I occured an error (I also tried to modify raw transaction from first step) here is result with modified raw transaction from above but it still doesn't work

signrawtransactionwithkey '020000000152ac46390779e2f7eacd4c0d26a932e12b3cad10fea7a9dbe60fcda7994f161c0000000000ffffffff0130c11d000000000019a914d0c3f50336b5f109207d722c692191ff86263e9687755100000000' '["$privkey"]' '[{"txid":"1c164f99a7cd0fe6dba9a7fe10ad3c2be132a9260d4ccdeaf7e279073946ac52","vout":0,"scriptPubKey":"a914d0c3f50336b5f109207d722c692191ff86263e96877551","redeemScript":"001453352afbbaa8cad22304201de8fbcc29e83fb2db","amount":0.02}]'

Previous output scriptPubKey mismatch:
OP_HASH160 d0c3f50336b5f109207d722c692191ff86263e96 OP_EQUAL
vs:
OP_HASH160 d0c3f50336b5f109207d722c692191ff86263e96 OP_EQUAL OP_DROP 1 (code -22)

Now I know I'm doing something wrong, but I don't know what and I can't find any information on how to do it correctly. That's why I have questions:

What am I doing wrong?
Can I create custom transactions using the Bitcoin core, if so how?
If I can't use this wallet, how can I do it? I would be grateful for an example


texts: Can you list receiving addresses in bitcoin-cli?

texts: In bitcoin-qt, there are interfaces for seeing "receiving addresses" which have been generated in the past. I don't see any way to do that in bitcoin-cli.


texts: What prevents a pool miner from stealing an entire block?

texts:
As I understand it,when mining BTC, and calculating a block, the goal is to find a SHA-256 hash below a certain value (with the previous block, a nonce, and other things as the input).  Are pool miners all performing that calculation directly (just with different nonces?)

If so, what prevents the miner who "finds" the block from keeping it, and not reporting it back to the pool?  I'm assuming there's some safeguard here, and the miners aren't actually going to find the full solution.


texts: What is the relationship between the Digital Signature and the Public Key

texts:
So, I can see this is in the unlocking script:

<Cafe Signature> <Cafe Public Key>

Taken from mastering bitcoin. What is the difference between the two? I don`t find it easy to google.


texts:
I have a question after a silly discussion.

We discussed for the best way for terrorists to get money. I have offered bitcoins. My question is: is it possible to trace who has cashed out bitcoins into money if you know the bitcoin wallet address.

I think it should be possible to trace, but how to trace such a thing?

NOTE: I'm just talking about cashing out bitcoin into money, not buying some cheap stuff.


texts: What is the maximum allowed password complexity in Multibit

texts:
What are the maximum number of characters allowed in a Multibit password, and which characters are allowed?

Since I use Keepass as a password manager, my usual practice is to generate passwords with the maximum allowed complexity.


texts: Why is mempool deleted when restart bitcoind and how to keep it?

texts:
I'm using bitcoin core version 0.12.1 (To say precisely, I'm using addrindex patched bitcoin core by btcdrak)

I expected that mempool was maintained after restart bitcoind but that was deleted.

As far as I know that mempool is stored in chainstate/* directory as LevelDB data.
I read this article. What is the database for?

Can you describe this is why and how can I avoid it. Sometimes, I have to restart my bitcoind for some reasons (like system maintanance). In that time I want to maintain the mempool data.
Getting mempool data from peers..? takes a long time.

getmempoolinfo before bitcoind restart

$ curl --user 'xxx:yyy' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getmempoolinfo","params":[]}' -H 'content-type:text/plain;' http://127.0.0.1:8332
{"result":{"size":15350,"bytes":120107104,"usage":258574880,"maxmempool":300000000,"mempoolminfee":0.00000000},"error":null,"id":"curltext"}

getmempoolinfo after bitcoind restart

$ curl --user 'xxx:yyy' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getmempoolinfo","params":[]}' -H 'content-type:text/plain;' http://127.0.0.1:8332
{"result":{"size":0,"bytes":0,"usage":0,"maxmempool":300000000,"mempoolminfee":0.00000000},"error":null,"id":"curltext"}


texts: Is there some mining software out there that doesn't use Json-RPC as a communication method with the mining pool? If so, what protocol are they using?


texts: How do you handle returned goods in e-shopping?

texts:
The blockchain is immutable. So, using bitcoin for shopping websites can cause problems. Customers often want to return purchases in retail scenarios. But Bitcoin is immutable, so we can't reverse the transaction.
Somebody please guide me how to handle the problem of returning goods in bitcoin-based e-commerce.


texts: Error Starting bitcoincashj-core-0.14.7-bip47.3-bundled.jar PLS HELP

texts:
'''run:
08:47:53.543 [main] WARN org.bitcoinj.core.Context - Implicitly creating context. This is a migration step and this message will eventually go away.
08:47:53.543 [main] INFO org.bitcoinj.core.Context - Creating bitcoinj 0.14.7-bip47.4 context.
08:47:53.683 [main] ERROR org.bitcoinj.crypto.MnemonicCode - Could not find word list
java.io.FileNotFoundException: mnemonic/wordlist/english.txt
at org.bitcoinj.crypto.MnemonicCode.openDefaultWords(MnemonicCode.java:81)
at org.bitcoinj.crypto.MnemonicCode.(MnemonicCode.java:75)
at org.bitcoinj.crypto.MnemonicCode.(MnemonicCode.java:63)
at org.bitcoinj.wallet.DeterministicSeed.(DeterministicSeed.java:109)
at org.bitcoinj.wallet.DeterministicSeed.(DeterministicSeed.java:93)
at org.bitcoinj.wallet.DeterministicKeyChain.(DeterministicKeyChain.java:292)
at org.bitcoinj.wallet.DeterministicKeyChain.(DeterministicKeyChain.java:275)
at org.bitcoinj.wallet.KeyChainGroup.createAndActivateNewHDChain(KeyChainGroup.java:126)
at org.bitcoinj.wallet.Wallet.(Wallet.java:320)
at org.bitcoinj.wallet.Wallet.(Wallet.java:267)
at org.bitcoinj.wallet.Wallet.(Wallet.java:258)
at org.bitcoinj.examples.Kit.test(Kit.java:131)
at bchj4.Main.main(Main.java:23)
May 06, 2021 8:47:53 AM bchj4.Main main
SEVERE: null
java.lang.NullPointerException
at org.bitcoinj.wallet.DeterministicSeed.(DeterministicSeed.java:109)
at org.bitcoinj.wallet.DeterministicSeed.(DeterministicSeed.java:93)
at org.bitcoinj.wallet.DeterministicKeyChain.(DeterministicKeyChain.java:292)
at org.bitcoinj.wallet.DeterministicKeyChain.(DeterministicKeyChain.java:275)
at org.bitcoinj.wallet.KeyChainGroup.createAndActivateNewHDChain(KeyChainGroup.java:126)
at org.bitcoinj.wallet.Wallet.(Wallet.java:320)
at org.bitcoinj.wallet.Wallet.(Wallet.java:267)
at org.bitcoinj.wallet.Wallet.(Wallet.java:258)
at org.bitcoinj.examples.Kit.test(Kit.java:131)
at bchj4.Main.main(Main.java:23)'''
BUILD SUCCESSFUL (total time: 2 seconds)


texts: How do I run my own testnet? What's testnet-in-a-box?

texts:
If I want better control of my test environment while developing a bitcoin-related application it seems useful to run my own testnet rather than use the public testnet. How can I do this?

What is testnet-in-a-box? Can I use that? What are the advantages and limitations, if any? Are there other options?


texts: Relationship between concentration of bitcoin wealth and foreign exchange value?

texts:
Is there a relationship between the equality of wealth of bitcoin holders, and it's foreign exchange value?

E.g. if there is a large transfer of bitcoin to a single owner, should this influence its value as a currency?


texts: How it is possible to validate existing Pay to Public Key Hash transaction without public key?

texts:
These are my understanding or assumptions.

Sign a document requires secret key and message only as below

SignDocument(secret key, message) => signature

And verification of signature requires public key, signature and message as below

VerifySignature(signature, message , public key)

Purpose of scriptPubKey is a script for validating signature for P2PKH transactions.

It is clear that we need public key in order to validate transaction but existing transaction data doesn't have public key data but hash of public key only.

I can easily understand Pay to Public Key transaction because public key is part of transaction data.

If public key is not stored in blockchain so how it is possible to validate P2PKH transaction without public key?


texts: Can I receive Bitcoin on any of my wallet addresses?

texts:
Can I receive Bitcoin to any addresses from my wallet?

I have more than one address on Coinbase, and it seems to change every day. Can I turn off the changing of addresses?


texts: For how long has a channel been inactive?

texts:
I would like to close channels for which there is enough evidence that the remote node disappeared and won't come back.
So my idea was to check for how long a channel has been inactive, and if it is > two months to close that channel.

How could I find out for how long a channel has been inactive (in LND)? Finding out which channels are inactive is easy by queryinglncli listchannels --inactive_only, but the result does not show any indicator about how long that channel has been inactive.


texts: How to transfer bitcoin? No third party, no exchange, no hard wallet, no mobile wallet

texts:
I have two paper wallets and want to transfer 10 bitcoins between them. I do not want to use any other 3rd party software or hard wallet because they're created by individuals, so they can access my data if they try hard enough. And no exchanges, for the same reason.
Once I enter my private key anywhere but receiver side, it gets stolen. So naturally I have a question, how, if regardless of the way someone is involved?
Please correct me if I misunderstand something.


texts: Why invest in mining hardware if the difficulty continues to climb at an exponential rate?

texts:
From the FAQ :

  Creating a block is a proof of work with a difficulty that varies with the overall strength of the network.

So with these purty graphs there is a continuous exponential trend in increasing difficulty due to the combined total of network's computation strength.

My question is, now that the difficulty is shooting up like a rocket this year, why bother investing in any type of miner hardware?  Feels like the difference between buying $100 worth of lottery tickets and buying just $1.  The odds of winning the lottery are so low that buying $100 still leaves you with very low odds and you out of that much more cash.


texts: How can the number of unique addresses decline?

texts:
Blockchain.info has various charts over time, including one for "unique addresses". They do not explain what it means, but presumably it is the number of unique addresses that appear in all transactions in the blockchain.

If this is true, then I would expect the number of unique addresses to keep going up indefinitely. How could the number of unique address decline?


texts:
I try to open the bitcoin-qt wallet with bitcoinj, I write this code:

private static final File WALLET_FILE = new File("C:\\Users\\Bapt\\AppData\\Roaming\\Bitcoin\\wallet.dat");

public static void main(String[] args) {
    NetworkParameters networkParameters = NetworkParameters.prodNet();

    Wallet wallet;
    try {
        wallet = Wallet.loadFromFile(WALLET_FILE);
    } catch (IOException e) {
        System.out.println("Couldn't open wallet: " + e);
        return;
    }

    System.out.println("Balance: " + wallet.getBalance());
}

But I have an error:

Couldn't open wallet: com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).

So I have two questions:

Is is possible to do what I want ?
If yes, what do you think could happen here ?

Thanks for your answer.


texts: Permissioned blockchains on EVM: are these private ledgers os it all on ETH main net?

texts: Private blockchains using EVM: is this really the equivalent of the library of tools in hyper ledger or do these blockchains run on the public main net?


texts: Old (2010) Wallet - Can't figure out best and safest way to extract

texts:
The following is based on my very limited understanding of the software involved in Bitcoin (I have a reasonable understanding of the structure of Bitcoin itself at a high level).

I read an article in 2010 (on Slashdot, maybe) about Bitcoin. It sounded interesting from a technical point of view, so for a laugh I decided to see whether I could get some. I found a faucet that someone had set up. Needed an address to send it to, so downloaded the current Bitcoin client (v.0.3.0). While I never got around to requesting coins that way, I did leave the client on in the background mining.

About a week later, I scored 50 coins. Annoyingly, work got busy, I got distracted, and I never got around to starting up mining again after a computer restart.

In any event, I backed up the entire HDD and stored all the files safely for several years.

I'm now at the point where I'd like to see whether the coins actually exist and, if so, to sweep them into a more modern wallet.

First, upon opening the old client and with the original wallet.dat file in the correct folder, I see a balance of 50 BTC with several hundred confirmations. However, there is only a single address shown, and according to blockchain.info, the balance is zero and there's never been a transaction at that address.

Can someone explain what, if anything, this means about the "confirmed" 50 BTC? Is there some sort of obscured address/private key combo within the client at which the mined coins were stored? The answers to the following question don't fill me with optimism: Found my old wallet, is it empty?

Second (and assuming the answer to the first question isn't "you're screwed"!), I've done some reading about getting the keys out of this client. It precedes clients with the "debug" console, so I can't get them out that way.

Apparently I may be able to use pywallet by jackjack, but not being very familiar with software of this type, I've found it a real struggle to install. Are there any other ways of getting at the address/private key at which the coins are stored?

Am I right that the wallet file is so old that it won't correctly be opened by the current Bitcoin Core client?

I've checked other answers to related questions at Stack Exchange, but it seems most people with older wallets are using clients that at least have the debug console.

I'll be trying to do this on a Windows 7 machine, in case that helps.

Many thanks in advance for any help you can offer.


texts: What does "16: mandatory-script-verify-flag-failed (Non-canonical DER signature)" error mean?

texts:
What can this error mean?  I've read through the code for it, and several of my transactions have not met the criteria for the error, yet are still rejected.  I've tried decoding via several means (none are super detailed though) to no avail in discerning the problem.  Some have claimed by reading the bitcoin debug log one can find a more detailed reason, but my log says nothing about my rejected raw transaction.

Yes, there is another question very similar to this, but he provided code so as to get an answer for his specific code and the answers didn't address what could have caused it nor how to discern, more specifically, what may be causing it within the code.

Everything in my transactions that I've been trying are manually created.  But they meet those criteria specified.  I'm remaking some right now, but I was kind of wondering if there are other checks being done besides those you have referenced for this particular error.

I have even considered I got the wrong numbers in my manual creation of the variables, but I would think that would cause it to fail under a different error if that were the case.


texts: How does a difficulty increase affect a miner's income?

texts:
At the time I write this, there are a lot of people getting into Bitcoin mining for the first time. Many buy ASIC hardware and are later surprised that their mining income suddenly drops due to a difficulty increase.

If I mine X bitcoins per day, then the difficulty goes up Y percent, how many coins do I get per day after this?

For instance, if my hashrate brings 1 BTC per day and the difficulty rises 30%, what is my average daily mining income with the same hashrate after this change in difficulty?


texts:
Bitcoins require many gigawatts of electricity for mining, and so does the blockchain.

Aren't there much cheaper alternatives to solving mathematical equations, which use chaos?

For example, Sunspot patterns are a fingerprint of chaos and globally verifiable. If everyone on the chain uploads a 50kb cellphone photo twice a day... The total of that data would have the unpredictability of physical chaos. Isn't there a convenient chaos signal which is globally verifiable and which is better for allocating money and tasks than mining?

Apologies for being vague. I will try to clarify:

peer money and accounts nodes can be given a lottery ticket number as a pseudo random function based on a previous chaos result, ranging from 0 to 10^256.

Every hour the miners of the world return their collective measurement of a globally generated chaos signals, which returns a random number from 0 to 10^256, and the closest miner's ticket is recognized by all as the winner.

The winner gives his version of unverified transactions including transaction times and the time corresponding to the block challenge in a hash which includes sha-256 of all the previous blocks that have been tallied.

It would help me to understand hash contests, to know why the digital encryption wouldn't benefit from simply choosing a miner at random using tallied measurements of chaos from the cosmos or from global weather and so forth.


texts: What is the longest known vanity address generated?

texts: Anyone can generate a vanity address of arbitrary length with appropriate tools, it's just a matter of performing enough computations. What is the longest known vanity address anyone has generated?


texts:
I am new to source code of bitcoin , but so far i have analyzed the source code it seems that encryption keys can be stolen from memory by this technique. This is something hackers often do to steal passwords.

https://www.scribd.com/doc/130070110/Extracting-Encryption-keys-from-RAM

Is there any discussion forum \ talk \ community discussing these issues ?

I have gone through the source code and i don't see any safeguarding controls for prevention of keys as such , like key container etc. Though such attacks are very difficult to do but it is possible.


texts: Desperate need of help - Face ID stopped working on blockchain wallet app and I don't remember password

texts:
First of all, apologies if this is the wrong forum for this.  I've contacted blockchain support and twice all I have gotten was a standard form response that says they cannot reset passwords, which is clearly not what I am asking.  I use the Blockchain wallet app on iphone X (Version 12.0.1).  I have been logged into the app since I downloaded it and set it to log in with FaceID which it has done every time I have used it.  A few days ago, I attempted to login as usual and came to find that when i open the app it says "Password Required".  "You have logged out or there was an error decrypting your wallet file.  Enter your password below to login."

The problem that I am facing is that I do not remember my password, nor do I have my 12 or 24 word seed.  To make matters worse, I do not even have my wallet identifier written down.  There was no email account associated with the account either.  So am I completely screwed?  I ideally need to find a way to get the FaceID to work again while still remembering the account.  Is there a way for me to obtain the wallet identifier from the app?  What should I do and what should I not do to make things worse?  If I guess various passwords that it could be, would it lock me out after a certain number of guesses?  Lastly, do you have any idea what would cause this to have happened in the first place?  Thanks in advance for any help you may be able to offer me.


texts: I briefly ran a node on my Mac in mid to late 2012/early 2013, but didn't understand it at the time and let it go. Is it possible that I still have bitcoin on my computer from that installation, if so, where would I look?


texts: Can I see the address of my direct peer?

texts:
Can I see the bitcoin address (pkh) of my directly connected peers?

I'm asking this question because if I can, I can deanonymize my peers given their IP addresses (from the TCP header) right?

If this is the case, isn't this a security flaw as one can set up a node and connect to as many nodes as they can. They can then create a mapping of IP to bitcoin addresses, thus deanonymize most users if they don't use a proxy service like Tor.


texts: Sending regtest Bitcoin fails with an error message. How do I resolve this error?

texts:
When I try to send regtest Bitcoin using bitcoin-cli:
./bitcoin-cli -regtest sendtoaddress bc1q09vm5lfy0j5reeulh4x5752q25uqqvz34hufdl 0.1

I get the error message:
error code: -6
error message:
Fee estimation failed. Fallbackfee is disabled. Wait a few blocks or enable -fallbackfee.

How do I resolve this so I can send regtest Bitcoin?


texts: How to start programming using Ethereum?

texts: I'd like to listen opinions of people that have created already their own working contract. What have you read at the beginning and then? What was the most powerful source that helped you understand Ethereum generally and then deeper?


texts: Why does the Bitcoin core client use so much CPU time while synching?

texts:
I have always noticed the huge increase in cpu usage when I opened my client for the first time in a few days. I was wonder what this is from? I would imagine verifying all of the signatures of the blocks?

Essentially doing the same calculation the miners seek to do and just checking their answers?


texts: blockcypher amount transacted larger than amount transferred

texts: When transferring some bitcoin from coinbase to my hardware wallet, I see on coinbase and on my hardware wallet that the amounts sent and received are about the same (minus a transaction fee), as expected.  But when I look up the transaction on live.blockcypher.com, the Amount Transacted and the Input Consumed is much larger than the amount I transferred.  There are two outputs, one unspent amount matching the amount I transferred minus the fee (and using my hardware wallet address) and one spent amount equal to the difference between the amount transacted and the amount I transferred (using a wallet address I don't recognize).  Why is the Amount Transferred larger than the amount I actually transferred?  Thank you.


texts:
I've been trying to import my multisig paper wallet to Bitcoin Core. I am in possession of the private keys and the redeem script. The private keys are in uncompressed WIF format (i.e. start with a '5'). I have tried to import the keys via
bitcoin-cli importmulti '[{ "scriptPubKey": “<scriptpubkey>”, "redeemscript": “<redeemscript>”, "keys": [“<private key 1>”, “<private key 2>”], "timestamp": <Unix timestamp>}]’ '{"rescan": true}'
No luck unfortunately. After the rescan, getwalletinfo shows a balance of 0 although there is a small amount of BTC left in the multisig address.


texts: Bitcoin POS: payments between seller and buyer

texts:
My application has sellers with stored (public) Bitcoin addresses - lets say "receiving address".

Also application allows anonymous buyers who can buy goods from these sellers paying by bitcoins.

What I need is that money from the buyer to come to seller as fast as it possible. To do it now I am using https://blockchain.info/api/api_receive service to generate unique  payment address for each payment. So, I can see that payment was done in a second, and using their callbacks I will know when payment is confirmed and redirected to the seller account.

This way works, but I am not comfortable with this. Different reasons - depending on blockchain.info, redirecting money takes from 10 mins to some hours.

I started using this ways 3 years ago but I fill it can be another way to do this properly.
Do some one has another solution for associating payment with order.

Also another questions - is it any way to make payment to Seller address directly and associate this payment with the order.

Thank you in advance.


texts: Calculating fee rate of tx returned by fundrawtransaction

texts:
I'm passing an unfunded proposed tx and feeRate param to fundrawtransaction which gives me back the hex of the tx with inputs selected and its fee. I'm not passing a conf_target or estimate_mode. I pass the resulting hex to decoderawtransaction to get the size/vsize of the tx.

I'm trying to check the actual fee rate of the tx by calculating fee * 1000 / vsize but it doesn't seem to match the rate that I passed in as a parameter.

I've tried with a few different values but the actual rate always seems to come out higher than the requested rate by a factor of about 1.59, give or take a little bit.

So am I calculating the observed rate improperly? Is it even possible to have the resulting fee rate exactly match the one provided by the feeRate parameter?

Here's an example of constructing a tx with amount 0.00073749 and feeRate 0.00001000. Proposed tx from createrawtransaction:

{
  "txid": "de380dec00d86611bab1cfa825a7069ffde31d7fb0c5b91e381ef79b94d927e0",
  "hash": "de380dec00d86611bab1cfa825a7069ffde31d7fb0c5b91e381ef79b94d927e0",
  "version": 2,
  "size": 41,
  "vsize": 41,
  "weight": 164,
  "locktime": 0,
  "vin": [
  ],
  "vout": [
    {
      "value": 0.00073749,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 de525f12f17a495b7903c2c5b306ee07ccad309f",
        "hex": "0014de525f12f17a495b7903c2c5b306ee07ccad309f",
        "reqSigs": 1,
        "type": "witness_v0_keyhash",
        "addresses": [
          "bc1qmef97yh30fy4k7grctzmxphwqlx26vyl5lve86"
        ]
      }
    }
  ]
}

And the full tx with inputs returned by fundrawtransaction:

{
  "txid": "f78b268f9386ab47dd5c0d36caf3aaff5fa719c7a2b5658ff08132159cb6b8cd",
  "hash": "f78b268f9386ab47dd5c0d36caf3aaff5fa719c7a2b5658ff08132159cb6b8cd",
  "version": 2,
  "size": 369,
  "vsize": 369,
  "weight": 1476,
  "locktime": 0,
  "vin": [
    {
      "txid": "ca6f25d4484ab525fdb907cbce81d3dc9d1974695fcc80639fddfff4b6bca268",
      "vout": 1,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "9b39ee5637d7b0783715be6ce566283024ee2bea33a9d3bd6f415ae5d8f24e5f",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "2f2b7eaccc06ea3856cd5b4666a15161d0fac9053ab2bcbb94a490593c969246",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "b5b2e4e1287438fd8193e1409cdf87181061ab4a3d95f50d2bf1bc2534b2d49c",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "3de9c3690c77f544b0d953c70d97f50bb9790a847bed9972caca960218c6c8f6",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "5e0021645a37473afdff1720da902f0abe183fb48719169e96b5235bb6b09e25",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "f92dbcf77c13d887d8aa77404dc78120c90d055a32b4d51196849affc3866ade",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    },
    {
      "txid": "e425c6e84bc671bfb3a80bd95d1925007e12483fdcf3a19094bde8a36ae0d9fd",
      "vout": 0,
      "scriptSig": {
        "asm": "",
        "hex": ""
      },
      "sequence": 4294967294
    }
  ],
  "vout": [
    {
      "value": 0.00073749,
      "n": 0,
      "scriptPubKey": {
        "asm": "0 de525f12f17a495b7903c2c5b306ee07ccad309f",
        "hex": "0014de525f12f17a495b7903c2c5b306ee07ccad309f",
        "reqSigs": 1,
        "type": "witness_v0_keyhash",
        "addresses": [
          "bc1qmef97yh30fy4k7grctzmxphwqlx26vyl5lve86"
        ]
      }
    }
  ]
}

In this case the fee is 0.00000668 so the rate I calculate is 0.0000668 * 1000 / 369 = 0.00001810 as opposed to the requested 0.00001000


texts: Is it possible to download all blockchain raw data?

texts: I'm interested in doing some analysis on the blockchain that would require specific information about all individual transactions within each block. I don't need the data to be updating in real-time, but I am looking for something that at least encompasses all the transactions made in the past year. I've tried to find downloads for this kind of dataset, but I haven't had any luck. Any ideas?


texts:
I have read the wiki page and I would like some further and more technical(if possible) confirmation for a few things.
A bitcoin node is a user which is connected to the network through a client. This node can perform transactions, try to build a block inside a mining pool, or just exist in the network. Are there any further actions for a node?
If a node exists inside the network how can he verify the transactions?
Furthermore is there a paper or something that explains things in a lower level of how exactly the system works in case of transactions and mining? I do not want a description but something more technical.


texts: NBitcoin get signature, use spending P2SH transaction with non-standard script

texts:
After creating a new NBitcoin transaction (with a single pay-to-script hash input and multiple outputs), is there any way to calculate the transaction signature and manually put it in the inputs[0].ScriptSig, along with other parameters used by the script?

A related issue is whether (and how) non-standard scripts can be used in P2SH transactions.


texts: Do we still need SIGHASH_NOINPUT for Lightning Network?

texts:
In the original Lightning whitepaper, Joseph Poon advocates using SIGHASH_NOINPUT so that we can create the first commitment transaction which references the funding transaction txid without actually signing the funding transaction. However that paper was written before SegWit was implemented. Given that SegWit transactions do not have signature component in the txid, it removes the need to actually implement SIGHASH_NOINPUT.

However, today I came across a draft proposal of the sighash in BIP 118 which says it would be active with SegWit v1 and higher.

Am I missing anything else that this sighash flag brings to the table that would warrant it to be implemented in future SegWit versions?


texts: How would this double spend attack be prevented?

texts:
I know, that a user cannot create a fork in the chain.

Also, it is said, that since every transaction is publicly announced, any attempt of double-spend on the same chain would be rejected as the network would know that these bitcoins have been spent previously in the chain. But how would the network determine, that these bitcoins have been spent previously because, the identity of payer and payee is not known? Only the newly created addresses are known at time of spending which can be later changed during double-spend.

For example, if Alice sends 10 BTC to Bob using 0000ab578c4 as her address and this forms part of 50th block in block chain. Now again she spents 10 BTC to Bob using another address 004325bda in the 67th block of same chain, how would the network determine that this is a double spend? (No one knows to whom 004325bda belongs).