texts: Where can i download latest stable bitcoin-core src files?

texts:
i want to download latest stable bitcoin-core src files. and want to build it on my system from source.

here is latest src of bitcoin-core but its not stable for production ready environment.

https://github.com/bitcoin/bitcoin

https://bitcoin.org/en/download shows latest version as

Latest version: 0.14.2

so where can i download src files of version 0.14.2


texts:
What type of port protocol do json-rpc and p2p use? does it use TCP or UDP?

If possible, can you config or reprogram the open-source and compile the source to use TCP only if it also uses UDP?


texts: Pump & Dump communities. Are they legal?

texts:
There are several communities that allow anybody take part in their "movements".
They say, for example, that at 7pm GMT they will announce an altcoin name and people would rapidly buy this coin on a specified early exchange (say, Bittrex).

When it's time to go, they disclose the coin name and people participating start to buy it. In consequence, the price of this coin rapidly rise. And after some short period of time it does down. Therefore, those who managed to buy it early and sell it in time, get profits.

These communities often call it as "Pump".

I read on Wikipedia about Pump & Dump scheme. It's illegal on security market (as I understand). Although, in my opinion these communities do not really do Pump & Dump as described on Wikipedia (from my point of view) as they do not make "false and misleading positive statements" about pumped coins.

The only thing that looks like described on Wikipedia scheme (again in my opinion) is that admins of some of such communities ask other participants to "promote" pumping coins on different chats/forums.

My questions are:
1) Do organizers (admins) of such communities do illegal things?
2) Do participants do illegal things when they:
  a) "promote" coin
  b) do not promote coin and just participate
3) What are consequences for those who could be determined as the one who do illegal things?


texts: What are some commonly used commands for Bitcoind shell command line?

texts:
I just installed the bitcoind daemon on my ubuntu, but i was wondering what are some of the most commonly used commands for bitcoind?

Also is there a cheatsheet for this?

thanks


texts: What happens if segwit node receives blocks from legacy node?

texts:
Scenario: segwit node receives all blocks from legacy node without segwit support, eg using --connect parameter.

The legacy node stores/forwards max 1Mb blocks, so the extra segwit data logically could not be transferred to the segwit node.

how will the segwit node view segwit transactions?   Will it see them as anyonecanspend, like the legacy node?

Sometime later, the segwit node is allowed to connect to the main network.

What will the segwit node do?  Will it download blocks for which it is missing segwit data?   Or will it just have a "wrong" view of the blockchain?

If the latter, isn't that a problem?


texts: does anyone know how much is the BlockCypher fee when doing Micro TX? I read here (https://www.blockcypher.com/dev/bitcoin/#microtx) and it says it is generated automatically (deducted from source). I need specifics, like is it in % or a fixed value,  but cannot find any.


texts: Is the reference client of Bitcoin regularly audited?

texts:
I imagine that plenty of eyes have combed through the reference client's source code. But the code is still changing for a variety of reasons (features, patches, improvements, etc).

I didn't find that much information regarding security audits other than this post that says the Bitcoin Foundation hired Sergio Demian Lerner as a core security auditor.

  As Core Security Auditor, Sergio will be dedicated to the ongoing
  security review of changes to the core code. Sergio has been
  volunteering his time and expertise since March 2012 and over the last
  couple of years, he has found, reported, and helped fix several
  vulnerabilities in the core code. Sergio has been an independent
  security researcher and consultant since 2011 and will continue to
  work with his other clients in addition to his role at the foundation.

Are security audits, whether internal or external, performed on the source code of Bitcoin Core? If so, by whom and how often?


texts:
I am looking to do solo mining on a SHA-256 altcoin by purchasing hashrate from NiceHash. I have the client set up on a Windows Server 2016 VPS and the blockchain is synced. For NiceHash to point the miners to me, I need to offer a stratum+tcp connection.

I have attempted to set up a mining pool using NOMP, but ran into countless errors that - when fixed - generated even more abstract errors, so dead end there.

Essentially what I am looking for is a proxy (?) that will get work from my client (JSON-RPC works and is potentially reachable from other servers) and deliver it to the NiceHash miners over stratum+tcp. I need no payout system or similar.
Is there any ready windows ( /java /...) program that covers this?

Thanks in advance!


texts: Push notification of incoming transaction

texts: Is there a way to be notified by bitcoind via the CLI that some incoming transaction has been confirmed?


texts: Download single and specific block for study purposes

texts:
I just started studying bitcoin.

I would like to be able to download a single block from the Bitcoin network.

This should be an old block, already mined, and which I can know the nonce.

Then I would like, via bash linux commands, to verify that such nonce solves the block.

Thanks to a question asked here, I know I could look at

https://blockchain.info/block-height/474044?format=json

However this is JSON, I imagine I can't use it to verify the nonce.

Hence my question is:

How can I download a block?
What is the file format of such block?
At what bytes start the nonce field I can increment, for example with a Python script?
Once I get to put the right (and known :) ) nonce how can verify that the block is solved? I mean, its hash should starts with lots of zeros, could I treat the block as a string and pass directly to the python hashlib function?

Thanks in advance.


texts: How many transactions per block on Ardor? Plans for scaling?

texts: How many total transactions are there in each Ardor block? Out of the total transactions per block, how many are child chain transactions? What are the limits and what types of scaling solutions are being developed to address these limitations?


texts: How does the Bitcoin network deal with bad actors?

texts:
Can someone explain at a high level how the network deals with bad actors (either intentionally (ie- attacker) or unintentional (ie- misconfigured node or a node running outdated code, forked code, etc)) ?

Without knowing too much about Bitcoin's low level internals, I am assuming there are routine checks as data flows through the code on the network to test that the protocol is adhered to; and that anything outside of expected protocol becomes rejected or flagged.  I assume these checks are all essentially checked exclusively against the expected 'data model'  since obviously it's impossible to directly analyze what code is being run on independent miners/nodes.

So please correct me if I'm wrong here, or elaborate further to fill in the big picture a bit more.

Secondly, I wanted to know - in the case of a known hostile miner/node (or to a lesser extent, a known outdated or misconfigured network participant)- what recourse is available for other users or miners to 'report' or blacklist or avoid the affected nodes or transactions?

Ie- is there built in function for reporting a violation of protocol (either that can be executed on attacker's system or by means of other participants in the network identifying said attacker) ?

Your clarification appreciated, thanks !


texts: Installing bitcoind as a dependency on travis-ci

texts:
I'm trying to install bitcoind as a dependency on travis-ci. Here is my .travis.yml file:

language: scala
scala:
  - 2.11.7

notifications:
  on_success: change
  on_failure: change

before_install:
  - sudo apt-add-repository ppa:bitcoin/bitcoin -y
  - sudo apt-get update -qq
  - sudo apt-get install bitcoind -y

apt_packages:
  - bitcoind

before_script:
  - mkdir -p /home/travis/.bitcoin && cp bitcoin.conf /home/travis/.bitcoin/bitcoin.conf
  - dpkg -L bitcoind
  - /usr/bin/bitcoind -regtest -daemon

script: "sbt clean coverage test"
after_success: "sbt coverageReport coveralls"

and here is a link to the build failure:

https://travis-ci.org/bitcoin-s/bitcoin-s-rpc-client/builds/236451398

notice that dpkg -L returns the following

$ dpkg -L bitcoind

/.

/usr

/usr/share

/usr/share/doc

/usr/share/doc/bitcoind

/usr/share/doc/bitcoind/examples

/usr/share/doc/bitcoind/examples/bitcoin.conf.gz

/usr/share/doc/bitcoind/copyright

/usr/share/doc/bitcoind/changelog.Debian.gz

/usr/share/lintian

/usr/share/lintian/overrides

/usr/share/lintian/overrides/bitcoind

/usr/share/man

/usr/share/man/man1

/usr/share/man/man1/bitcoin-cli.1.gz

/usr/share/man/man1/bitcoind.1.gz

/usr/share/man/man5

/usr/share/man/man5/bitcoin.conf.5.gz

0.00s$ /usr/bin/bitcoind -regtest -daemon

/home/travis/.travis/job_stages: line 54: /usr/bin/bitcoind: No such file or directory

There isn't anything installed in /bin/. Any suggestions?

Note: If I just specify bitcoind instead of /usr/bin/bitcoind I get the same problem

https://travis-ci.org/bitcoin-s/bitcoin-s-rpc-client/builds/236438191


texts: What does the 'Estimated BTC Transacted' value mean on blockchain.org?

texts:
After reading this question on how it is calculated, I was wondering what it means.

What does the 'Estimated BTC Transacted' number on blockchain.org refer to? What does it mean?


texts: Current transaction fees for various cryptocurrencies

texts: Is there a place that lists current transaction fees for various cryptocurrencies like Bitcoin, Litecoin, Ripple, Ethereum, Bitcoin Cash etc.? The best would be fees converted to some fiat (USD, EUR) for easy comparison.


texts: Tx to a multisig address in testnet not working

texts:
I've sent a tx to a newly created multisig address on testnet, but I don't understand why I didn't get the funds yet.

What I've done so far was to create 3 separate wallets, and get the 3 pubkeys to create the multisig address from python bitcoinrpc, and just in case I've used the command line too:

>>> multi_list = ['0355f3c263aeb7859e53d3549d3c9bc99cd581154d16e259fe390e029d6bda5b78',
...     '030a53f844570b8c26794276e205cdeab87ab0d7802d2abb5116a5472e3adc7dc1',
...     '0210b58f846754a9d0d70e226688e0693a241fd58e315d738399e40e68308b88f9']
>>> btc.createmultisig(2, multi_list)
{u'redeemScript': u'52210355f3c263aeb7859e53d3549d3c9bc99cd581154d16e259fe390e029d6bda5b7821030a53f844570b8c26794276e205cdeab87ab0d7802d2abb5116a5472e3adc7dc1210210b58f846754a9d0d70e226688e0693a241fd58e315d738399e40e68308b88f953ae', u'address': u'2N8DirDvhxVEm61b3JMc75Hsdqe8aWg9Vvu'}

Then, I've sent from another account some coins

>>> btc.sendfrom('myaccount', '2N8DirDvhxVEm61b3JMc75Hsdqe8aWg9Vvu', 0.15)
u'fa9982d579877ba31ed9c530ae99df1f67c1632ae8f3c7e4db8af1fbc442dfe8'

But on blockexplorer the vout address is marked as "unknown", and on btclook also the output was marked as "???"

The raw tx says, in the ScriptPub of the vout marks the "type': 'scripthash'"

What have I done wrong?
Are multisig addresses working on testnet? (I assume yes)

Additionaly, I'm using bitcoin core v0.9.1 which was recently released.


texts: Bitcoin core v0.19.0.1 automatically prunes?

texts:
Just finished syncing the whole blockchain after days and I realize the bitcoin settings were "pruning", which means I cannot use it as a wallet.

is it the normal behavior of bitcoin core v0.19.0.1 to automatically prune the blockchain ?


texts:
How can I retrieve the comment field from a payment transaction that I made from my QT wallet?

I can see the comment when I click "Show transaction details" in my QT but I cannot find a way to do this from the RPC console.

Any ideas?


texts: How can I use a secondary disk for the blocks folder with the snap install?

texts:
I always installed bitcoin from the tar.gz but now tried the snap but it uses a different data folder, so I removed the blocks, chainstate and indexes and replaced them with the same old symlink to my external drive I had used with 0.18.1 but no matter what I do, I get
2021-02-02T22:03:42Z init message: Loading block index...
2021-02-02T22:03:42Z Switching active chainstate to Chainstate [ibd] @ height -1 (null)
2021-02-02T22:03:42Z Opening LevelDB in /home/leo/snap/bitcoin-core/common/.bitcoin/blocks/index
2021-02-02T22:03:42Z Fatal LevelDB error: IO error: /home/leo/snap/bitcoin-core/common/.bitcoin/blocks/index/LOCK: Permission denied

but the permissions on that file are the exact same as on the file bitcoin-core creates in the default folder. I also tried to move the default folder around and symlink it back to blocks but I get the same error.
I read that snap has tight restrictions on file access but don't see how or where that restrictions come into play. My main drive does not have 400GB available and I need indexing, not pruning. Is snap just not for me or can I store the blocks on my other drive after all?


texts: Is the transaction within Genesis block spendable?

texts:
Are the transactions added to the genesis block spendable, just like any other transactions from other blocks, or is that an unspendable coinbase transaction.

In other words..

Is the transaction within the Genesis block spendable, provided the corresponding private key of the bitcoin recipient is found?

and If I fork the Bitcoin code, and generate my own genesis block. Can I use the private key/public key I used as bitcoin recipient of the transactions  hard-coded with the genesis block?


texts: secp256k1.publicKeyCreate generating symbollic key

texts:
Following is my code:
const bip39 = require("bip39");
var HDKey = require('hdkey');
var bip32 = require("bip32");
var bitcoin = require('bitcore-lib');
var EthereumBip44 = require('ethereum-bip44');
const secp256k1 = require('secp256k1')
var sha256 = require("sha256")

var mnemonic = bip39.generateMnemonic()
var seed = bip39.mnemonicToSeedSync(mnemonic).toString('hex');
var hdkey = HDKey.fromMasterSeed(seed);
var HDkey = hdkey.privateExtendedKey
var node = bip32.fromBase58(HDkey)
var child = node.derivePath("m/44'/0'/0'/0/0");
bitcoinKey = child.toWIF();
var key = bitcoin.HDPrivateKey(HDkey);
var wallet = new EthereumBip44(key);
var ethereumKey = wallet.getPrivateKey(0).toString('hex')
console.log('PK: %s',ethereumKey)
var re = secp256k1.publicKeyCreate(Buffer.from(ethereumKey,"hex"), false).slice(1)
var cicAddress = "cx"+sha256("0x"+re.toString("hex")).substr(24,64)
console.log('Public key: %s',re);
console.log('CIC Address: %s',cicAddress)

This gives me following output:
Seed:
3eef6daf3a65b84448a699837a476033a792f413041d080da2a18a77f462cd9a2f76ca4e922dfb8de0d2817a3b092a098d7f335993a0554e3e997e1eab22daaa
PK: f4c06b254d5ac46b6db9baf0fbdfb4b58aa392002f0808d54dfd3ceed5697967
�*x��� key: c�b�!��^�Q �����͇R��9��2$7K�+��)m����g�K5�Ǽ=]��e�����m CIC
Address: cxb2d307b96327e2e535a52f93c23751417520398d

Why the public key is getting generated symbollically? How can I solve this?


texts:
Using Bitcoin Core from today (almost 0.21):
I ran ./configure. It said with sqlite = yes. ldd $(which bitcoind) shows it is linked to libsqlite3.so.
Now, I started a signet node using bitcoind -signet. It has synced.
Now I want to create a descriptor wallet. So I tried looking in the man bitcoin-wallet, but it doesn't mention it.
I tried bitcoin-cli help and it lists:
createwallet "wallet_name" ( disable_private_keys blank "passphrase" avoid_reuse descriptors load_on_startup )

I tried:
$ bitcoin-cli -signet createwallet default_wallet -descriptors
error: Error parsing JSON: -descriptors
$ bitcoin-cli -signet -descriptors createwallet default_wallet
Error parsing command line arguments: Invalid parameter -descriptors

How do I create a descriptor wallet?


texts: Could a miner set a maximium transaction fee rate?

texts:
Could a miner set a maximimum transaction fee rate? I mean validate only transactions between x and y satoshis/byte?
I know is not clever. Is it possible?


texts: Future risk of computer farms generating addresses for previous balance?

texts:
I understand how difficult it would be to brute force a specific bitcoin address' private key.

I'm wondering out of curiosity though, with bitcoin being adopted so rapidly, will there ever be computer farms where it is more profitable to continuously and rapidly create addresses and checking their balance in hopes of someone out there sharing it?

Or will the amount of power usage generated from such an idea be more profitable simply going to mining?


texts:
I was able to locate the following discussion (and a few others that were marked duplicate of this one) on node discovery in Bitcoin:

How do Bitcoin clients find each other?

I guess, the primary challenge is, the number of nodes is not under any one's control. So, a traditional load balancer wouldn't know in advance the number (and IP address) of the nodes. Thus, it wouldn't know how to balance the load. (Or, maybe it can figure out dynamically, not sure).

But, suppose, I wanted to launch a private version of Bitcoin where I had control over number of nodes that can ever be online. Then, I could set-up one URL on AWS ELB, for all clients to connect, where this URL will have all the nodes 'behind' it. Note that, it doesn't necessarily have to be AWS ELB; it could be the HAProxy or others.

Is this feasible?

For a detailed list of types of nodes, see this wonderful graphic from the book, 'Mastering Bitcoin'.


texts: If I buy crypto on a third party site, such as Coinbase or any other sites, how do I safely transfer my wallet into an external 'cold wallet'?

texts: By cold wallet, I mean any type of encrypted USB etc. If this isn't possible how would I buy crypto and then be able to store it on a USB in the first place? This may be a stupid question but I'm kind of new to this stuff.


texts:
I saw lot of questions about vanity addresses, but not sure what is vanity address. Could someone please explain?

thanks.


texts: What are the consequences of donating bitcoins to WikiLeaks?

texts:
The WikiLeaks website provides a bitcoin donation address 1HB5XMLmzFVj8ALj6mfBsbifRoD4miY36v

According to this article from the Sydney Morning Herald, Julian Assange of WikiLeaks has been declared an "enemy of the state" by the US.

  Declassified US Air Force counter-intelligence documents, released under US freedom-of-information laws, reveal that military personnel who contact WikiLeaks or WikiLeaks supporters may be at risk of being charged with "communicating with the enemy", a military crime that carries a maximum sentence of death.

Has there been any clarification or further analysis by US govt (or anyone) as to what the consequences would be of sending bitcoins to WikiLeaks?


texts:
A lot of people doing bitcoin mining participate in pooled mining. When participating in pooled mining the workers perform some mathematical calculation (that I have actually not understood) and are rewarded payouts for their contribute to new block generation.

Is it possible that the workers, minining in a pool, can find out which bitcoin they are working on? If yes, I think they would be able to see to whome the bitcoin they worked on was transferred later to?


texts: Question about transactions added to mempool

texts: When bitcoin transactions are made, I know that they are put into the mempool. After certain transactions are added to a block and that block gets verified, what happens to all the other transactions that did not meet that threshold? Do they just get rejected?


texts:
I just downloaded bootstrap (~21GB) and started bitcoin base. It shows me that time to sync will be 4 year and 17 weeks? Is it going to change, or do i have to wait that much?

My internet downloading speed is only about 220 kb/s.


texts:
Which payout method is better, and why?

I am getting more money out with PPLNS, but everyone says using PPS is more effective, what am I doing right?


texts: How can one prove the ownership of an address?

texts: Is there a way to prove the ownership of an address without spending bitcoins? I Imagine something like signing some given data with the private key - how much would that weaken the security of the bitcoins behind the Address? Any good read on this topic is welcome!


texts: How can I create the input of raw transaction through the previous UTXO hash and the unspent index in bitcoinj？

texts: I want to create a raw transaction’s input and output, and sign it then broadcast to testnet. Now I know how to create the output, but I want to refer the transaction that I can input the UTXO hash and the unspent index, then add the input to this raw transaction.


texts:
I have set up a Bitcoin Core wallet with 0.3 bitcoins in it and an Eclair lightning node. The rpc userid and password is set plus all the other settings I am supposed to have, hopefully.

No problems with the Bitcoin wallet, and the Eclair software runs without showing errors. I managed to send a channel request and it filled up with 3100 channels and 889 nodes, so it's ok. Hopefully, I have sorted out my firewall to open port 9735 in both directions. I am using noip to fix my ip address.

But every time I attempt to open a channel, it sits for a couple of minutes then dies. No channels ever last. They show WAIT_FOR_ACCEPT_CHANNEL for a while, "Your balance" shows as N/A. The funding transaction's id shows N/A.
Then they die. Sometimes with "Insufficient funds", sometimes "Failed to open channel".

I would really be very very happy if I could get a channel going, but I don't know how to debug it. Is there a trick? How do I select a node to connect to?


texts: How can i generate private key and its address of bitcoin,dogecoin,litecoin etc

texts:
Is there any way i can generate private key and address of bitcoin and bitcoin forks(litecoin,dogecoin etc...).

For bitcoin I have used BitcoinJ to generate private key and address but for litecoin and dogecoin I can't find any. Is there is any algorithm or code available to generate private key and address for all bitcoin forked coin.


texts: How can I build custom bitcoin network and start with bitcoin codebase

texts:
I am new to Bitcoin. My understanding about Bitcoin is gained by ready Bitcoin original paper and several blog posts on the Internet. However, my ambition is to understand the whole bitcoin codebase on Github and be able to modify it to support my experiments.

Right now, there are some steps that I think it's beneficial to start with:

Try to run and build up my own custom network (first transaction that initially create 50 bitcoins, create some wallets to spend bitcoins around, try to understand the blockchain on that custom network when it's small).
After that custom network built, I hope I would understand how transactions, blocks, validation, broadcasting, mining reward earning,... are handled.
With those things understood, I try to find, read and understand the corresponding codes in the code base.

Do you think those steps is a good way for me to start with Bitcoin? I'm currently stuck with step 1. I could only compile the codebase and run the bitcoind then get lost, know nothing to do afterward.


texts: Is there a public site where you can access the nxt api? like how blockchain.info does it. all i want to do is make queries to retrieve all the messages in the nxt network to see the activity.


texts: I transferred bitcoins from my Coinbase account to 3FkenCiXpSLqD8L79intRNXUgjRoH9sjXa and now I cannot find it nor do I know how to get it back. Where is my bitcoins??   !


texts:
I've read the Zerocoin paper by Miers et al. and understood most of the concepts.

How do I get a zerocoin for some denomination in bitcoin? e.g. If I spend (d bitcoins + txn fee) in a bitcoin txn and get a (c, skc) pair, then is this mint txn accepted into the blockchain just like a normal bitcoin txn?
What does it mean when they say the currency is placed in escrow?

Thank you.


texts: Can a client leave its mark on the blockchain?

texts:
Would it be possible for a client (eg the core client) to leave its mark in the form of META data on the blockchain or even in the mempool so that we know that this client was used to create or send that transaction?

This is very similar to what web browsers do (for example this website tells you all about your browser by reading some META info: https://www.whatismybrowser.com/)?


texts: ECDSA - why not using the cyclic additive group

texts:
As I understand things so far, the ECDSA scheme used by Bitcoin uses a group G generated by a point on the elliptic curve y^2 = x^2 + 7.

Now G is a cyclic group of finite order n and is, hence, isomorphic to the additive group Z/nZ.

My question is: why not work within Z/nZ directly then? I am assuming there are certain security benefits of using G but I am lacking the general overview to understand why.


texts: 4 ERRORS GENERATED WHILE INSTALLING BITCOIND

texts:
I need your help plz.
I have been struggling for weeks to make bitcoind work in my mac terminal.
I installed all required programs and dependencies: xcode, bitcoin core, openssl, homebrew, and cloned the bitcoin repo but still when I run the "sudo make install" command, fours errors are generated and the bitcoin-cli commands are not there.
Below is the output of the 4 errors that showed up in my terminal,
make[2]: *** [libbitcoin_common_a-key.o] Error 1
make[1]: *** [install-recursive] Error 1
make: *** [install-recursive] Error 1


texts: Miner seems to be stuck at receiving new blocks

texts:
I have two laptops cranking hashes for pooled mining. My Mac is set up correctly, and I see the (yay!!!) messages pretty often from the minerd.exe output.

However, the PC I have cranking never seems to get the (yay!!!) message. It keeps on doing hashes and then receiving the "Longpoll detected new block" message. I even downloaded the Litecoin-Qt wallet, let it synchronize with the system, and placed the Minerd and mining_proxy EXE files next to the Litecoin-Qt in hopes that it would be able to access the longest chain due to the effort of the Litecoin wallet's synching.

I followed the steps for a PC in Litecoin LTC mining guide, CPU.

How can I make it work?


texts: Unconfirmed bitcoins 258: txn-mempool-conflict

texts:
I made a transaction a few days ago, but the fee was to low so it doesn't get confirmed. So I want to give the transaction a higher fee. But when I resend the transaction I get this error:

258: txn-mempool-conflict

I restarted my server.
I tried leaving the output the same but added an input.
I tried changing the output to an higher fee and left the input the same.
I tried the abandontransaction command but that returns Transaction not eligible for abandonment.
But the error is still there. How can I resend my transaction so it will get confirmed?


texts: python bitcoin public key to address code error

texts:
import hashlib

b58chars = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'

def hex_open_key_to_hex_hesh160(hex_open_key):
h160 = hashlib.new('ripemd160')
h160.update(hashlib.sha256(('04'+hex_open_key).decode('hex')).hexdigest().decode('hex'))
return h160.hexdigest()

def hex_hesh160_to_hex_addr_v0(hex_hesh160):
return '00'+hex_hesh160+hashlib.sha256(hashlib.sha256(('00'+hex_hesh160).decode('hex')).hexdigest().decode('hex')).hexdigest()[0:8]

def hex_addr_v0_to_hex_hesh160(hex_addr_v0):
return hex_addr_v0[2:-8]

def hex_to_base58(hex_data):
base58 = ''
int_data = int(hex_data, 16)
while int_data >= len(b58chars):
    base58 = b58chars[int_data%len(b58chars)] + base58
    int_data = int_data/len(b58chars)
base58 = b58chars[int_data%len(b58chars)] + base58
for i in xrange(len(hex_data)/2):
    if hex_data[i*2:i*2+2] == '00':
        base58 = '1' + base58
    else:
        break
return base58

def base58_to_hex(base58):
hex_data = ''
int_data = 0
for i in xrange(-1, -len(base58)-1, -1):
    int_data += (b58chars.index(base58[i]))*58**(-i-1)
hex_data = hex(int_data)[2:-1]
for i in xrange(len(base58)):
    if base58[i] == '1':
        hex_data = '00' + hex_data
    else:
        break
return hex_data

hex_open_key = '5bd8834885082d9e9775f2084610bea79d2bd7acde2fc28b4dba85b0902ac786ef3a1fa082da527a3a51bcd71104b4e6ef91b62b2e93bcfdbc4ac7c35e9fddb'
print hex_to_base58(hex_hesh160_to_hex_addr_v0(hex_open_key_to_hex_hesh160(hex_open_key)))

above code to get bitcoin public key to address, some public key error happens

private key is 0x5c58d

public key pairs

x =  0x5bd8834885082d9e9775f2084610bea79d2bd7acde2fc28b4dba85b0902ac786L
y1 =  0xef3a1fa082da527a3a51bcd71104b4e6ef91b62b2e93bcfdbc4ac7c35e9fddbL
y2  =  0xf10c5e05f7d25ad85c5ae4328eefb4b19106e49d4d16c430243b5382ca15fe54L

public key x and y1 make an error

5bd8834885082d9e9775f2084610bea79d2bd7acde2fc28b4dba85b0902ac786ef3a1fa082da527a3a51bcd71104b4e6ef91b62b2e93bcfdbc4ac7c35e9fddb

Traceback (most recent call last):
   File "<module3>", line 45, in <module>
   File "<module3>", line 7, in hex_open_key_to_hex_hesh160
   File "C:\Python27\lib\encodings\hex_codec.py", line 42, in hex_decode
   output = binascii.a2b_hex(input)
TypeError: Odd-length string

public key x and y2 no error

5bd8834885082d9e9775f2084610bea79d2bd7acde2fc28b4dba85b0902ac786f10c5e05f7d25ad85c5ae4328eefb4b19106e49d4d16c430243b5382ca15fe54

address
    17MnDMuqhiTnQ1Yc38H2RYdSHkfUq6wmrq


texts: How to decode transaction inputs from raw data using bitcoinjs-lib?

texts:
I need to calculate fees for each transaction in block.

I retrieve raw block data and use bitcoinjs-lib library to decode it to Block object:

const block = Bitcoin.Block.fromHex(data.rawblock);

It has an array of Transaction objects. However, while these transactions' outs have values, ins have only hash and script.

How should I process this data so I can get total in and out amounts and calculate transaction fee?


texts: Why can't we fight Bitcoin thieves by not accepting payments from hacked accounts?

texts: Why won't we simply stop accepting payments from hacked accounts? We know their public addresses, right? Sure, hackers still will be able to compromise user's accounts, but at last that money won't be spendable, right?


texts: How does public address "know" private key?

texts:
Imagine the following:
someone goes to the .org address of bitaddress, then switches off internet connection, then moves the mouse around until eventually the JavaScript Client-Side Bitcoin Wallet Generator produces a Bitcoin address with its corresponding Bitcoin private key, then saves everything on the screen to cold storage as a PDF, then scans the "Share" QR code onto a phone, then scans this QR code at a Bitcoin ATM to purchase Bitcoin and the Bitcoin in deposited in the wallet and this is confirmed on blockchain.
If later wanting to sell the Bitcoin, how does this public Bitcoin address "know" what the correct private key is?
That is, if the Bitcoin public address and private key have only existed on a non-internet connected PC and as a PDF in cold storage?


texts:
If a miner creates a block including an appropriate hash value, then he sends it to all nodes, and each node verifies if this is correct or not and add it to the previous block chain if this is chosen to be a correct one.

I read here that after 100 more blocks are added to the previous block chain (actually it is written that after 100 depths, but I think this means what I am saying here), a miner gets rewarded.

When a block is created, a miner puts informations like “I take 0.05BTC from transaction A for the mining fee” to get transaction fees. However, as far as I know, a miner get 12.5BTC newly created bitcoins in addition. How does a miner put this information in a block?


texts: Question: Docker alternative to Tails OS for generating Bitcoin addresses securely for cold storage

texts:
I am exploring options to generate Bitcoin private keys and addresses in most secure ways, using Ian Coleman's BIP39 tool. https://iancoleman.io/bip39/
The most recommended OS seems to be Tails OS for using this tool in completely offline mode.
If I used any other minimal linux image in docker, such that it never connects to internet , wouldn't that be equally safe ? We can also ensure to destroy the container and image from local storage after the address generation.
Do I really need Tails OS for this specific use case ?


texts:
A paper titled Secure Wallet-Assisted Offline Bitcoin Payments with Double-Spender Revocation (https://www.ethz.ch/content/dam/ethz/special-interest/infk/inst-infsec/system-security-group-dam/research/publications/pub2017/asia084.pdf) was published a while ago. The paper proposes the first solution for secure Bitcoin offline payments using an offline wallet with several novel security mechanisms to prevent double-spending and to verify the coin validity in offline setting.
There are three phases:

Online Bitcoin preloading.

Offline Bitcoin payment.

Online redemption of coins and revocation of double spending attacks.

In the first phase, the payer X generates pre-loading transaction τl (step 1) that transfers some bitcoins from her standard Bitcoin account x to the offline wallet’s account w, so that the balance of w becomes positive. This is done by means of standard online Bitcoin transaction, for which the network generates n-transaction confirmation n -Tl.
In the second phase the payer X requests W to generate an offline transaction τo with the desired amount destined to the account y (step 3).
In the third phase, the payee Y redeems the bitcoins he received offline by broadcasting τo into the Bitcoin network (step 4) and optionally obtaining network confirmation n -To (step 5).
The network confirmation will only be issued, if the network has not detected a double-spending attack against τo. Otherwise, the payee Y will trigger an optional double-spender revocation procedure, which includes sending a double-spender revocation transaction τr (step 6) to the Bitcoin network and obtaining corresponding confirmation n -Tr (step 7).

How does the transfer between the payer and payee's wallet actually happen if both nodes are offline? Does the offline wallet operate as a Layer 2 protocol somewhat allowing for deferred settlement like LN?


texts: Why do I get 5 bytes worth of 0x00 hex values in both outputs?

texts:
From the hex generated by the createrawtransaction command, I understand that the following is the output value:

  60e31600000000001976a914ab68025513c3dbd2f7b92a94e0581f5d50f654e788acd0ef8000000000001976a9147f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a888ac

Output one - Receiver address details:

  60e31600000000001976a914ab68025513c3dbd2f7b92a94e0581f5d50f654e788ac

Output two - Change address details:

  d0ef8000000000001976a9147f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a888ac

My question is regarding the highlighted 0 values, as in the 0x00 hex values.  I understand these are empty arrays, but why 5 bytes worth?  Is this some sort of padding for the maximum allowed satoshi's which can be sent?  Or are these for some other purpose?


texts:
Suppose we have a multisignature address "abc"  with 100 coins in bitcoin regtest network,  I want to that 100 coins in 10 slots that is i want spend 10 coins at a particular interval.

I tried the following:
At t1:

send 10 coins from "abc" to some address and a change returning 90 coins back to multisig "abc"

At t2:

send 10 coins from "abc" to some address and a change returning 80 coins back to multisig "abc"

and so on.

The step followed at time t1 worked perfectly but I am getting the below mentioned error while trying to do the step mentioned at time t2. That is , i am not able to spend again from the same multisig account.

error code: -25
error message:
Missing inputs

How can I spend multiple times from the same multisig address?


texts: Backing up my bitcoin wallet - is wallet.dat all I care about?

texts:
I know that there are many duplicates of this but I'm hoping that the way in which I word this explains and helps not just me, but others as well.

In any of the coin wallet  bitcoin and the alt coins, when I run a backup I see a wallet.dat file being created.

Does this wallet contain all the necessary information like private keys etc... in order to say encrypt this file and store it on a google drive , dropbox etc..  ?
If my hard drive takes a dive etc.. , CAN I simply take that wallet.dat file , and on another computer decrypt it and restore my information based on my coin currency?
If I do the encryption within the wallet, is the wallet.dat called something else?

I understand the exchanges , buying, trading , selling, mining...  I'm just not versed in the backup with my information... private keys etc...    thanks in advance.


texts: Is there a special name for the block currently at the head of the chain?

texts: Just as we have the genesis block which is block 0, is there a special name for the block currently at the head of the chain? Obviously such a block would be observer dependent and never absolute but I am curious all the same.


texts: Where is the bitcoind executable on Windows 10?

texts:
I have installed bitcoin core 0.17.1 version windows 10 in my laptop.

I can see the following folders: bin (bitcoin-cli.exe, bitcon-qt.exe, bitcoin-tx.exe, test_bitcoin.exe), include (bitcoinconsensus.h), lib (libbitcoinconsensus-0.dll), share (man).

I cannot find daemon\bitcoind.
My bitcoin server is already running and sync on testnet, but I cannot connect via rpc because I cannot find bitcoind.

Any help?


texts:
Anyone knows what does it mean when there is no ScriptSig under INPUT SCRIPT for a TX?

See here:

https://i.imgur.com/TCHFUfV.jpg

Thanks!


texts: bitcoind no such file or directory when trying to execute on Ubuntu for Raspberry Pi 4

texts:
Trying to install and run Bitcoin Core Daemon on a Raspberry Pi 4 8GB w/ Ubuntu Server and unable to execute bitcoind.
Below are the exact steps I am taking:

Use Raspberry Pi imager to flash the Ubuntu Server image to an SD card:
Ubuntu Server 20.04.2 LTS (RPi 3/4/400)
64-bit server OS with long-term support for arm64 architectures

Insert the SD card, turn on the Raspberry Pi, SSH in.

Run the following commands:
sudo apt update
sudo apt upgrade
sudo reboot
# Download bitcoin core:
curl -O https://bitcoin.org/bin/bitcoin-core-0.21.0/bitcoin-0.21.0-arm-linux-gnueabihf.tar.gz
# Unzip
tar xzf bitcoin-0.21.0-arm-linux-gnueabihf.tar.gz
#Install
sudo install -m 0755 -o root -g root -t /usr/local/bin bitcoin-0.21.0/bin/*

When running the following I get the message (bash: /usr/local/bin/bitcoind: No such file or directory):
bitcoind --help

I have attempted to cd to /usr/local/bin and run
bitcoind --help

Still no luck


texts: When I try to send coin on multibit, the send button is greyed out and I cant click it.  What gives?  My coins are confirmed.


texts: Reliable, efficient way to parse the blockchain into a SQL database

texts: I need to generate a SQL database (preferably SQLite3) of every transaction that has occurred in the blockchain. Is there an efficient way to do this using open-source software? I'm attempting to do it myself using a Haskell script that makes system calls to bitcoind but I'm having trouble making it sufficiently fast.


texts: How do I construct a Bitcoin transaction with the Bitcoin Core Console?

texts:
How do I create a transaction using the debug console of Bitcoin Core v0.15.1 (64-bit)?

I have been able to use the commands to create addresses. I figured out how to create, sign, and send a raw transaction. However when I try to send the transaction, I get an erro saying that my fee is too low.

Am I getting this error because I'm resetting the console before I start my commands ? Should I let my console time add up or reset it before a transaction ?


texts: How many gigabyte(internet use) needed for bitcoin mining in a month?

texts:
if I use Antminer s9 full-time in a month, how many gigabyte uses?
I mean what is the internet usage((Download+Upload)) in a month?

comment about duplicate: first of all I want know the usage not bandwidth or speed of my internet, second, your mentioned linked is for near 7 years later. I want know how many gigabyte usage in a month with 14 Th/s. it is only a number which an expert can say, plz do not answer cursory.


texts: Ardor: How to decide if an asset can be send?

texts:
My (Javascript) frontend needs to decide whether the user can send an Ardor/Ignis asset in his account. My code checked for:

quantityQNT >= amount_to_send

But I realise that this doesn't work if the user has the asset offered on the asset exchange.

So just checking for unconfirmedQuantityQNT wouldnt be clever either, as it might want to send an asset which ownership never confirms (phasing or fork).

Would it be safe to check this way:

min(quantityQNT,unconfirmedQuantity) >= amount_to_send

Thanks for your opinions


texts: Is there a minimum number of transactions in a block?

texts:
What encourages Bitcoin miners to include lots of transactions in blocks in the Bitcoin blockchain?

It seems like you could quickly add a block with just a single transaction and get the block reward from it.

Is there some incentive for miners to include lots of transactions in blocks?


texts: How do I get my purchsed bitcoins from a old bitcoin wallet?

texts:
I had to refresh my computer do to updates and all my installed software such as Bitcoin wallet was gone after the process. I did back up my wallet almost everyday and also I did it on a external hard-drive, but when I re-install the Bitcoin wallet from bitcoin.org it give me a new receiving address and even if I have all back -up data and my previous receiving bit coin wallet where all my bit coins I have purchased were I do not know why is it not showing it in my new wallet. I have tried to recover and open my back up wallet files but it does not show my Bitcoins. Please help.

I did watch the recovery do to a failed hard drive but I can not access the files and I do not know how to get my Bitcoins from my old receiving wallet which I backed up on 2 places.


texts: How do you calculate when 98% of Bitcoin will be mined?

texts:
Trying to find a calculation to work out what year will an arbitrary percentage of bitcoin will be mined, specifically 98%.
I know it takes 10 minutes to mine 1 block but unsure how to use this?
Thank you for any help :)


texts: What happens when a hardware wallet, like Trezor, suffers a hardware damage?

texts:
What happens when my hardware wallet e.g. http://trezor.io stops working?

It would be great if someone could outline the procedure. And if there are multiple ways I would like to compare by effectiveness & security.

I'm thinking about getting one, but I'm unsure about the risks having everything stored on an electronic device, rather than good ol' printed keys.


texts: When the UTXO in the cache is full, what strategy is used to replace one UTXO with another in the cache?

texts: The UTXO set is stored on the disk, but some UTXOs are also stored in the cache. When validating a transaction, you need to query the UTXO pointed to by the input of the transaction. First, you go to the cache to find it, if it's not found, you need to go to the disk to find the UTXO. Due to the characteristics of levelDB, the UTXO searched on the disk needs to be written into the cache. If the cache is full at this time, how does the node make room in the cache for the UTXO just found?


texts: Cgminer opencl-detection overrided autogen error

texts:
So I am trying to install cgminer on my debian server. I've downloaded the latest nVidia drivers, tried many things but still can't get this work.
So this is the end of the log from autogen.sh:

config.status: executing libtool commands

------------------------------------------------------------------------
cgminer 3.6.4
------------------------------------------------------------------------

Configuration Options Summary:

  libcurl(GBT+getwork).: Enabled: -lcurl
  curses.TUI...........: FOUND: -lncurses
  OpenCL...............: Detection overrided. GPU mining support DISABLED
configure: error: No mining configured in

I've already tried to download the latest CUDA toolkit, but it didn't work either. On google I just found solutions for ATI/AMD cards. (btw. I have GeForce GT-9600)


texts: GREP help: Bitcoin address/key buried as text somewhere on hdd

texts:
So in a drunken moment of genius I had forgotten about, I bought some bitcoin way back.  And I buried the address and key in some file... I was being tricky lol. That likely also led me to abandon a wallet.dat completely.

I'm learning to use grep to hunt it down, but the one time I know I got it to work, it returned TONS of files.

I know the address starts with 1F or.. f .. or D.. or d, maybe E/e lol.  But one of those.  The original parameters from stackoverflow for finding the address are:

[^13][a-km-zA-HJ-NP-Z1-9]{25,34}$.

I've attempted to adjust it to remove the 3 and have been attempting to add the first letter, but I'm trying a grep search with each and as I see no results after 20-30 minutes, I just ctrl-c the thing.

I'm trying

I removed the ^ and $ from the ends after when I realized that there is no reason to think it's at the beginning or end of a line (if I properly understand what that even means).

The search area is for where I've recovered the files from these drives to, I'm hoping my "genius" drunken drive mapping attempts and subconscious file preservation impulse kept the file(s) from being overwritten.

Any help would be very appreciated, thank you.


texts: Can't withdraw from blockchain.info: "Private key does not match bitcoin address [my address] = [probablyprivkey1] | [probablyprivkey2]"

texts:
I have some BTC (and I really need money now) on my Blockchain.info account, I can't withdraw them (just send them to another BTC address) as it tells me "Private key does not match bitcoin address [my address] = [probablyprivkey1] | [probablyprivkey2]"

The address was created on blockchain.info, not imported.

The incomes are from Apr 03, 2013, and although I was trying to withdraw them for some time, now I've realized that is the last time those bitcoins will be a really large amount of money for me — 0.3651BTC (I'm living in Poland, so it is ~360.59PLN).

I haven't found an answer on forums, so I decided to ask about it myself.


texts: here  you can find a public challenge aimed to brute force a brain wallet private key, derived from 8 char long [a-zA-Z0-9] passphrase with a salt of "a@b.c". Is it possible to adapt an hashing hardware to solve this? (Such as GPU)


texts: Can I restore an additional address of Bitcoin Core

texts:
Once in Bitcoin Core I created an address to receive some payments from a faucet. After years I reopened the Bitcoin Core and started to synchronize it. After a while there was a crash, and I decided to remove the previous Bitcoin Core folder (it appeared to be in a USB hard drive and didn't get to Recycle Bin - when I decided to restore the removed files it was too late).
Then I reinstalled the Bitcoin Core, put there a wallet.dat from backup and successfully synchronized the blockchain. But I discovered - there's no address for the faucet, which I needed and there's no satoshi I expected. Apparently I created it before the backup (some previous history was there - so the wallet was restored - but without the latest address). So, should I consider the value on this address lost?
I tried to create the dump (dumpwallet "dump.txt") and to find the master private key there to restore the private key of this address somehow. The dump file contains some # extended private masterkey (starts with xprv). Also I know the address, which I set to the faucet (1J2ia2JZVoN8fqdvGYjkVaaX3A2C5BZzwj). So I thought I can use this data in "Mnemonic Code Converter" (https://iancoleman.io/bip39/) (extended private masterkey to BIP32 Root Key input and selected the Bitcoin Core presets everywhere). Surprisingly enough the first generated entry contained my first default address, but I couldn't find neither of the other addresses from the dump file. The address from the faucet doesn't exist in the dump either. What do I do wrong?
Here is the address I'm talking about: https://www.blockchain.com/btc/address/1J2ia2JZVoN8fqdvGYjkVaaX3A2C5BZzwj


texts: Transaction with `OP_RETURN` to a particular address

texts:
How do I formulate a transaction with OP_RETURN to a particular address using the bitcoinj library?

SendRequest req;
Transaction transaction = new Transaction(Main.getNetWorkParameters());
transaction.addOutput(Coin.ZERO, ScriptBuilder.createOpReturnScript(
    "thanks for the coins".toString().getBytes()));

// add a receiving address for this transaction
req = SendRequest.forTx(transaction);


texts: Running trezorctl / python-trezor on macOS Sierra

texts:
As I am not familiar with python I am currently having trouble getting trezorctl running. After installing pip and running pip install trezor from my admin account I get the following error message when calling trezorctl in my terminal:

Traceback (most recent call last):
  File "/usr/local/bin/trezorctl", line 4, in <module>
    __import__('pkg_resources').run_script('trezor==0.8.0a0', 'trezorctl')
  File "build/bdist.macosx-10.12-intel/egg/pkg_resources/__init__.py", line 748, in run_script
  File "build/bdist.macosx-10.12-intel/egg/pkg_resources/__init__.py", line 1517, in run_script
  File "/Library/Python/2.7/site-packages/trezor-0.8.0a0-py2.7.egg/EGG-INFO/scripts/trezorctl", line 28, in <module>
    from trezorlib.client import TrezorClient, TrezorClientVerbose, CallException
  File "/Library/Python/2.7/site-packages/trezor-0.8.0a0-py2.7.egg/trezorlib/client.py", line 35, in <module>
    from . import messages_pb2 as proto
  File "/Library/Python/2.7/site-packages/trezor-0.8.0a0-py2.7.egg/trezorlib/messages_pb2.py", line 8, in <module>
    from google.protobuf.internal import enum_type_wrapper


texts: I downloaded the app because the person who was helping me said they can’t transfer my profits to my luno account and he asked for all my login details now there’s non spendable bitcoin he’s saying I should pay money for the for me to be able to withdraw please kindly assist me urgently


texts: Create simple and secure transaction without checksig?

texts:
According to my previously asked question (P2SH secure spending. How?) creating transactions without signature checking is probably not secure.

Anyway, I see many transactions

(for ex.:40eee3ae1760e3a8532263678cdf64569e6ad06abc133af64f735e52562bccc8)

with scriptpubkey like:
OP_HASH160 [pubkey] OP_EQUAL

With very similar to

OP_SHA256 [hash] OP_EQUAL (from my prev. question)

And scriptsig doesnt have OP_CHECKSIG

PUSHDATA(72)[3045022100ad0851c69dd756b45190b5a8e97cb4ac3c2b0fa2f2aae23aed6ca97ab33bf88302200b248593abc1259512793e7dea61036c601775ebb23640a0120b0dba2c34b79001]

PUSHDATA(69)[5141042f90074d7a5bf30c72cf3a8dfd1381bdbd30407010e878f3a11269d5f74a58788505cdca22ea6eab7cfb40dc0e07aba200424ab0d79122a653ad0c7ec9896bdf51ae]

I can't beleeve this transaction are insecure. But what the difference with this ones?


texts: Can someone with an unlimited amount of money compromize the network?

texts:
I was reading this interesting discussion in the comments section on ZH where this guy was talking about how a single entity (think corrupt government and banksters) can throw money and processing power at will at the network to successfully manage a 51% attack or just cause havoc in the system by sending incorrect network messages, such as denying valid transactions or allowing invalid transactions.

The initial part of the discussion quoted here

  Assume I'm a completely unscrupulous and ammoral person, for example,
  and I want to shut down bitcoin.  Here are the ways I would attempt to
  do it.

  Write a virus to mine bit coins and spread it across the internet.
  Write a virus to steal bit coins, and spread it across the internet.
  Write a virus to act as part of the bitcoin network, and deny
  transactions that are valid
  Write a virus to act as part of the bitcoin network to approve
  transactions that are invalid.
  Dump the bit coins I mined as part of step #1 and #2 on the market
  Create a mania in bitcoins by dumping billions into buying bitcoins
  after doing step #5
  Associate it with terrorism
  Associate it with drugs
  Claim that people like me are manipulating it

  And that's just off the top of my head.

  I gots unlimited money.  I am working in a market that is unregulated.
  I run the government or own it.  Try to stop me.

Here is a link to that discussion.
http://www.zerohedge.com/news/2013-03-25/bitcoin-mania-accelerates?page=2#comment-3373165

Can someone please comment on whether this is possible and if not, how does the bitcoin algorithm/ecosystem counter such an attack


texts:
I have a problem with my full node bitcoin core, it was working fine, and after restarting my computer, it shows an error with reindex
So to solve the problem i usedreindex-chainstate
Is it normal if it takes a lot of time? it's running from the last night and didnt finish
Thanks to all of you


texts: I bought bitcoins but my currency is in Rands but I want to sell it to IDR is it possible to do so


texts:
I just withdrew around EUR 940 from my MtGox account and transferred it to an account in a European bank that does not charge anything for incoming international transfers.

MtGox charged me a bit over EUR 40 for making this direct transaction from their Japanese bank. I'm a verified user.

Maybe it's my lack of experience with them, but I feel this is little short of robbery. 40 euros? Anybody has a similar experience?


texts: Why are blocks in a permissioned blockchain linked together?

texts:
My question: Do the blocks in a blockchain without proof-of-work (i.e. a permissioned blockchain) have to be linked together via a cryptographic hash?

Longer version of my question:

(Please correct me if some of my remarks contain mistakes)

The blocks of a blockchain are linked to each other so that after proof-of-work their content cannot be easily faked, right? If several new blocks were created on top of a block which contains my transaction, I can be pretty sure that I'm on the longest blockchain and my transaction can't be faked (i.e. the double spending problem is solved).

However, in a permissioned blockchain there's no proof of work. As far as I know, in permissioned blockchains agreement on the longest chain (i.e. consensus) is reached by having a majority of blockchain participants agree on the longest chain. But since there's no proof-of-work, 51% attacks (pretending to be the longest blockchain while containing blocks with tampered transactions) are much easier to achieve, or am I wrong?

So why would you need to add a hash of the preceding block to a new block in a permissioned blockchain since there's no proof of work and thus linking the blocks in this manner does not provide any help to solve the double spending problem?


texts:
Creating an unsigned PSBT:

{
    "jsonrpc": "1.0",
    "id": "curltest",
    "method": "walletcreatefundedpsbt",
    "params": [
        [
            {
                "txid": "8b7e8c1898d473fe0229d1adf58aca6299df781e0ff77622a6d6f73273322942",
                "vout": 1
            }
        ],
        [
            {
                "tb1qv49u5nkg3y3nma4jmhp8ppl5mj4vyyattlhfyh": 0.005
            }
        ],
        0,
        {
            "includeWatching": true,
            "changeAddress": "tb1q3lkrtkwnt0txka5te0gt02vuk47trssaaxvhml",
            "feeRate": 0.0001
        },
        true
    ]
}

Result:

{
    "result": {
        "psbt": "cHNidP8BAHECAAAAAUIpMnMy99amInb3Dx5435liyor1rdEpAv5z1JgYjH6LAQAAAAD/////AjaaBwAAAAAAFgAUj+w12dNb1mt2i8vQt6mctXyxwh0goQcAAAAAABYAFGVLyk7IiSM99rLdwnCH9NyqwhOrAAAAAAABAP0hAQIAAAAFLYKKRQsSgx1v3UqETLYL4JCJWenWEn1pB7w/Tz96TdMAAAAAAP3///8tgopFCxKDHW/dSoRMtgvgkIlZ6dYSfWkHvD9PP3pN0wIAAAAA/f///1v4E5Wd/iNzkoNsZsQFQPAj2iRHlmxxmnjaPdEa7TEtAQAAAAD9////LYKKRQsSgx1v3UqETLYL4JCJWenWEn1pB7w/Tz96TdMBAAAAAP3///8pCFtwy3cF4hAMEihbDo3FVncbOKOTqx/LaoVTo1y9hwEAAAAA/f///wLOgi4AAAAAABYAFAv2sYJ4ALY+wb56YP2cI99/Y5biQEIPAAAAAAAiACBdKDYRhxYlihF1dZCM7Kobi25NNKylHThp1cWjEjTxDnsVHQABAStAQg8AAAAAACIAIF0oNhGHFiWKEXV1kIzsqhuLbk00rKUdOGnVxaMSNPEOAQVpUiEDe68lJzJ5hEVUKScCjod3qtntXQ9gMg4qa6g2LDMwhVQhAlKXOTSX1IxzZ37WAglDONf6o41uMvUm2k/Oniqutlu6IQNs3xVmKT6xvTJLTc4jB+JwmQmnPSZFCX6JMkA+neL4Q1OuIgYCUpc5NJfUjHNnftYCCUM41/qjjW4y9SbaT86eKq62W7oEN8HtHCIGA2zfFWYpPrG9MktNziMH4nCZCac9JkUJfokyQD6d4vhDBCnQwHAiBgN7ryUnMnmERVQpJwKOh3eq2e1dD2AyDiprqDYsMzCFVARbIBXQACICAuNOa3WDX2adJy31UOYgFUi2M79B12ijzcvzjVTG0mbsEJGMV+YAAACAAAAAgAcAAIAAAA==",
        "fee": 0.00001770,
        "changepos": 0
    },
    "error": null,
    "id": "curltest"
}

The UTXO that I am trying to spend is 2 of 3 multisig address: tb1qt55rvyv8zcjc5yt4wkggem92rw9kunf54jj36wrf6hz6xy357y8qgpk8xa
I created multisig with this request:

{
    "jsonrpc": "1.0",
    "id": "curltest",
    "method": "createmultisig",
    "params": [
        2,
        [
            "037baf252732798445542927028e8777aad9ed5d0f60320e2a6ba8362c33308554",
            "025297393497d48c73677ed602094338d7faa38d6e32f526da4fce9e2aaeb65bba",
            "036cdf1566293eb1bd324b4dce2307e2709909a73d2645097e8932403e9de2f843"
        ]
    ]
}

Address was added to wallet using this request:

{
    "jsonrpc": "1.0",
    "id": "curltest",
    "method": "importmulti",
    "params": [
        [
            {
                "desc": "sh(multi(2,037baf252732798445542927028e8777aad9ed5d0f60320e2a6ba8362c33308554,025297393497d48c73677ed602094338d7faa38d6e32f526da4fce9e2aaeb65bba,036cdf1566293eb1bd324b4dce2307e2709909a73d2645097e8932403e9de2f843))#t9xkhn5c",
                "timestamp": "now",
                "label": "gg1936",
                "watchonly": true
            }
        ]
    ]
}

Now I want to use the unsigned PSBT and sign it. Which RPC call should be used for it and what should I mention in arguments?


texts: Why bother checking both public key and signature in P2PKH transactions?

texts:
In a P2PKH pubkey script, first, the public key provided by the intended spender is verified to be correct and then this key is used to verify the spender's signature.

I wonder why just verifying the public key is not enough. The pubkey script contains a cryptographic hash of it, so reversing should be impossible and anyone wanting to spend the UTXO associated with that script needs to have the correct public key. Doesn't that already authenticate the spender sufficiently? I understand that signing is necessary in P2PK transactions, but with P2PKH, hashing and signing seems redundant to me.

Isn't mere hashing of the redeem script also used for authentication in P2SH?
The pubkey script in P2SH just checks if the redeem script hashes to the correct value and then it already executes it. If hashing is taken to be secure in P2SH, why not also in P2PKH?


texts:
I want to hash a block header in C++ but dont know how.
Im just using a test block at the moment, so that I know what the expected outcome is. https://www.blockchain.com/btc/block/669892
I have a function which formats the block header into the hex string of 0000ff3fd90c0dfca35c8738aa92e1c5bdf706ba14eaafbb379206000000000000000000ad66d8cda0330c3af011ba6b7bc705789767c55a72a818685b3e06a0b8b9a2b054e82260b9210d17099976a6
Now, im struggling to properly hash this to the expected 000000000000000000064ec839564cc03166184f0a404d82cad9c655f714d886
static void calcHash(std::string hash){
    CryptoPP::SHA256 hash;
    std::string digest;
    CryptoPP::StringSource(data, true,
        new CryptoPP::HashFilter(hash, new
            CryptoPP::HexEncoder(new CryptoPP::StringSink(digest)
    )));
    std::cout << "digest: " << digest << std::endl;

    CryptoPP::SHA256 hash2;
    std::string digest2;
    CryptoPP::StringSource(digest, true,
        new CryptoPP::HashFilter(hash2, new
            CryptoPP::HexEncoder(new CryptoPP::StringSink(digest2)
    )));
    std::cout << "digest2: " << digest2 << std::endl;

   return digest2;
}

When I pass that header through this function, i do not get the expected.
How do I get the expected hash from my formatted header using c++?


texts: In the blockchain split of March 2013, where should miners mine, 0.7 or 0.8?

texts:
I want a clear cut answer + references so they is no confusion.

Today March 12 2013, on which fork should miners mine, 0.7 or 0.8?


texts: How to uncompress a compressed private key?

texts: So I have a compressed private key. Is it possible to get the uncompressed version of it? If yes, how? Examples in Javascript would be much appreciated.


texts: Instead of a maths puzzle, why can't we have miners collect transactions, then just make them wait 10 minutes before accepting the first block broadcasted?


texts:
I need to perform rpc requests per wallet. Here is my url
http://127.0.0.1:18332/wallet/another_wallet/wallet.dat

but I get error  Requested wallet does not exist or is not loaded
I run daemon with this command
bitcoind -daemon -rpcuser=myrpc01 -rpcpassword=password01 -testnet -datadir=/media/ax/6f6ceb40-fbbc-4959-b2b2-dbb1ae9ce24a/bitcoin/testnet3

So what the wallet path I should set for correct load?


texts: Are there still miners or mining pool which refuse to implement SegWit?

texts:
It was well known that initially while SegWit got more than 50% of hashrate after activation that a part of the mining pools refused to implement it.

But are there still blocks being mined by miners which refuse to implement SegWit more than 2 years later ?
For example, is this article or this article still true ?


texts:
I'm encountering an unforeseen problem with 2o2 Recovery procedure.
I followed all the instruction at https://github.com/greenaddress/garecovery, I've correctly installed Ubuntu for Windows, I've correctly run through all the steps until:

$ garecovery-cli 2of2 --nlocktime-file /path/to/downloaded/nlocktimes.zip -o garecovery.csv

I've passed the correct nlocktimes.zip, I've entered the right mnemonic, but the output I see is the following:

Traceback (most recent call last):
  File "/home/rene/.local/bin/garecovery-cli", line 7, in <module>
    sys.exit(recoverycli.main(sys.argv))
  File "/home/rene/.local/lib/python2.7/site-packages/garecovery/recoverycli.py", line 86, in main
    recovery = get_recovery(clargs.args, mnemonic, seed)
  File "/home/rene/.local/lib/python2.7/site-packages/garecovery/recoverycli.py", line 61, in get_recovery
    return TwoOfTwo(mnemonic, seed, options.nlocktime_file)
  File "/home/rene/.local/lib/python2.7/site-packages/garecovery/two_of_two.py", line 25, in __init__
    zipdata = gacommon._unzip(self.compressed_zip, chaincode)
  File "/home/rene/.local/lib/python2.7/site-packages/gaservices/utils/gacommon.py", line 35, in _unzip
    all_data.extend(_unzip(_fernet_decrypt(key, encrypted), key))
  File "/home/rene/.local/lib/python2.7/site-packages/gaservices/utils/gacommon.py", line 11, in _fernet_decrypt
    assert wally.hmac_sha256(key[:16], data[:-32]) == data[-32:]
AssertionError

Can anybody help me?
Many thanks in advance for any suggestions.


texts: Is there a simple python script for xpub generation from private key

texts:
I need a python script to verify, in an air gapped system, that my 24-word (or 12-word) mnemonic seed indeed generates the xpub that my wallet is showing me.
Is there a simple script that does that, having minimal dependencies?


texts:
I just started learning about Bitcoin, and am sorta familiar with p2pk and p2pkh. I just found this input on a Bitcoin blockchain explorer:

It looks like the Pkscript can be "solved" (I'm not super familiar with terminology) by something thats hash160 is the 0b49fe...
The ScriptSig looks a little more intimidating :)
What exactly is the ScriptSig doing? How does this sort of paying mechanism work?
Thanks


texts: Why can't I connect to bitcoind on localhost?

texts:
The initial question asked was as follows, but it turned out to be nothing to do with keypools:

  I had keypool=1000 before. Now I started bitcoind (the daemon version)
  with keypool=10000 option, and it is 2 hours already and bitcoind
  didn't start up yet. I.e. I still get error: couldn't connect to
  server when I try to do bitcoind getbalance.

  Its a quite fast machine AMD 64bit 4000+ CPU with 10 GB RAM, how long
  the start-up time can be? And will it be so long every time I start
  the daemon, or only the first time?

  Will future start-up times increase in any noticeable way if I keep
  keypool=10000 in comparison with 1000? Or any other performance
  degradation, except this first startup?

Edit: In the end it had nothing to do with keypool=10000. For some unknown reason my local interface was down. I fixed it with:

ifconfig lo up

I killed the bitcoin daemon with kill $PID, started it again and within a minute I could do bitcoind getbalance.


texts:
I was sent a bitcoin transaction 18 hours ago  and it has still yet to be confirmed.  Any idea on what I can do or when it will go through?

https://blockchain.info/tx/da635a68d9db0448b1c10feee07a91cd6901f904d609b2f0a63b202e38d641f2?show_adv=true


texts:
I am trying to decrypt my private key bytes using the KeyCrypter interface. But i do not know how to implement and call the decrypt() function. Initially i encrypt the bytes of my Private Key of my ECKey.

Here is my code:

private ECKey myKey;
private CharSequence password = "myPassword";

public KeyParameter deriveKey(CharSequence password)
            throws KeyCrypterException {

        String s = password.toString();
        KeyParameter keyParameter = new KeyParameter(s.getBytes());

        return keyParameter;
    }

    public EncryptedData encrypt(byte[] plainBytes,
            org.spongycastle.crypto.params.KeyParameter aesKey)
            throws KeyCrypterException {

        plainBytes = myKey.getPrivKeyBytes();

        EncryptedData myData = new EncryptedData(plainBytes, aesKey.getKey());
        System.out.println(myData);

        return myData;
    }

    public byte[] decrypt(EncryptedData encryptedBytesToDecode,
            KeyParameter aesKey) throws KeyCrypterException {
        // TODO Auto-generated method stub

        return null;
    }

which is the byte [] result=...returning from my decrypt() function?


texts: What stops someone from faking a rating on OTC web of trust?

texts: What mechanisms does OTC web of trust have against someone creating several accounts and trading between with themselves over a period of time, giving each other perfect ratings.


texts: Can I use my mtgox BTC balance on the mtgox checkout button/payment platform while my account is pending verification?

texts: Can I use my mtgox BTC balance on the mtgox checkout button/payment platform while my account is pending verification ? Like purchase goods and services from people who use the mtgox merchant tools to accept BTC on their sites.


texts:
Say I have a wallet containing 1000 satoshi, and I want to transfer this to another wallet, but it doesn't cover the transaction fee, do I just waste it?

I don't have the private key to the wallet as it's an iOS wallet
The wallet won't let me set a zero transaction fee


texts: Which parameters in the Bitcoin Core config file need to be set correctly prior to IBD?

texts:
The majority of the parameters in the Bitcoin Core config file can be changed during or after IBD (Initial Blockchain Download) with no complications.

However, there are some parameters in the config file where it is important that you set them correctly prior to IBD. If you don't you will either have to restart IBD or it will greatly increase the time for IBD to complete.

Some parameters that need to be set correctly prior to IBD are testnet, regtest, prune and txindex as discussed here. Are there any others?


texts: What’s the purpose of checking for input overflow?

texts:
Everyone knows this famous fix for block 74638 which still exists in other files. But there’s something I can’t understand, why check for inputs overflow since it’s not possible to have enough utxo for such case as it’s their hash being tracked and from an attacker point of view this only decrease what he/she/they have in reality (unlike outputs where it decrease the amount to be paid).

So why making invalid something which is already impossible and would has no impacts as an inflation bug ?
Even the go implementation of bitcoin is doing it.


texts: Hacked my blockchain.info wallet, stole 760 coins

texts:
Two days ago my wallet at blockchain.info was hacked, everything was taken (760 coins).

https://blockchain.info/tx/0619d221a761a3b8ec205773440fa6607d65957ef985dac5fb5273a08bda2c89

Besides the password I use Google two step verification. I also use this on the gmail that I use to authorise computers, anybody knows how this could have happened?

I backed up my wallet to Google Drive.


texts: What's the default strategy miners employ when they select txs from their pool?

texts:
Each tx has an associated fee and size. Moreover, we have a size limit on blocks. Finding txs that maximize the profit under this restriction is basically the Knapsack problem.

So, do default client miners really employ Knapsack algorithm when they do their selection ?


texts: Why do not all the coinbase texts have the block heigh in it?

texts:
The coinbase text of #511329 starts with a, #511330 starts with b, #511331 starts with c... (and so on until z), but #511426 for example starts with F, the next one with m, the next one with "... regarding https://coin.dance/blocks

Why do some of them follow the rules, but others not?


texts: Using bitcore to create a transaction with two addresses and change address

texts:
I'm playing around with bitcore transactions and multi-sig transactions and was wondering how to send a transaction to more than one address, and keep the change.

Currently when I try to send the transaction it is sent, but the fee is calculated as:

unspent - satoshis

An example of this transaction I've made in the block chain can be seen here:

Example Transaction

Ad you can see it's calculated like this:

Original unspent amount: 0.09000000

Fee: 0.08990000

Traded: 0.00010000

Transaction sum: 0.00010000

Now I understand that one must spend all of the unspent outputs in a transaction, but how can I stop the fee from being as above, the remaining unspent balance?

Basically I want to split the transaction for two addresses, and send the rest to a change address.

Code:

var utxo = new bitcore.Transaction.UnspentOutput({
  "txid" : "f42af6ab8b4dc3c636c5bfc6ce819063a55060c5619d31a6fa45a36413cb7953",
  "vout" : 0,
  "address" : "2MzuRYCXSHcBDEsSS4rziShvEzWSfoDe2zL",
  "scriptPubKey" : "OP_HASH160 20 0x54025426880aa847ec86f4d2488bbe260bfe0fcb OP_EQUAL",
  "satoshis" : 10000
});

var pubs = [
    "02758b89e56bfa8da41f2c1701aa5927bc026cc3b51bbeff399c53a15f2ae52e28",
    "02987ab3466118bd3fb5cb0c4fddbdd7ff8e21188314ffed4ecad83fb7689d57d7",
    "037b7f8cea06cfd5a96023341441b52431e31867c6f3716e5f20be24b709d023eb"
];

var multiSigTx = new bitcore.Transaction()
    .from(utxo, pubs, 2)
    .to("n1fqBkX6GtUsaV3EPqjpHcTuWhAQQgKXov", 10000)
    .fee(5430)
    .change("2MzuRYCXSHcBDEsSS4rziShvEzWSfoDe2zL")
    .sign(["083b63f9dbaa100c1714e05a04c20ab32f83f7726ba54a682013a13df6a92949" ,"5bef634cdcc7f9c2fd2b429d1ddf6cae56923433b6e8b2c5515cf87d84751e0a"]);

var txSerialized = multiSigTx.serialize(true);

// Broadcast

insight.broadcast(txSerialized, function(err, returnedTxId) {
  if (err) {
    console.log(err);
  } else {
    console.log("Sent coins, tx id is: ");
    console.log(returnedTxId);
  }
});


texts:
After Setting up my Bitcoin core Server, I need to create wallets for each of my client on a website may be thousands.
How can i generate wallets on per user basis that if bitcoin core does not allow me.


texts:
I'm using blockchain.info to send btc. Blockchain has a default fee when you send btc, I did not change it and it was saying with the fee provided it will take up to an hour. 2 days later still waiting. With two transactions stuck.

Can anyone explain why transactions would get stuck like that?

https://blockchain.info/tx/06054ef9368e1de58c8c32d1f9b8fff00b17f1a7befdfa2f71e9f6f710c05401
https://blockchain.info/tx/ee4d9ba8edeb2704c68a7f9161fc040b066c218bc87f6ff2cb3ee33a2ad51c9e

A lot of similar questions there, but no real explanation of why?


texts: I encountered Signature is found in scriptCode exception when trying to make a BTC transfer

texts:
When I transferred a 0.001 BTC from miBEA6o6nZcaLZebR1dsDv4AMHRwJk1mbi to miV1sbmLM9fptRfWD5o8hs5L6ucUeJzmp5, the following error occurred: mandatory-script-verify-flag-failed (Signature is found in scriptCode) (code 16).
This is my broadcast data:
01000000020e920885bc349b3ef0fcecb0acc04c74c59bdfc67d76242fc934f7f9d7d5c915010000006b483045022100dc4681014ce850d2808c82978d92b94f4940ef5ef9c63e3c9f248a0cdf9266df02203cf0344dfbe933d5335ab06da1040cf373d866efe156824e9938ba633bd54591012103a5be350852bb09e24edc83f8e02070a74597a8b775af46e8efbef394ae4fa98effffffff33c8ba1adb1b885e553610e9431bbdbfe14078a1de8ef60d9e29316ea759e8df010000006b483045022100a4cb81427b8613276d458df994d1c9b02aad66fa69be5aef10e71a392a9df10402205b8b919147543aa6c11b12b8b2c44edf498973c6539021cb349ecff674df3f93012103a5be350852bb09e24edc83f8e02070a74597a8b775af46e8efbef394ae4fa98effffffff02a0860100000000001976a914208a8852a3cec93382c8bebbbd6c9ef4676f512088ac8041100000000000232103a5be350852bb09e24edc83f8e02070a74597a8b775af46e8efbef394ae4fa98eac00000000`

The test method I performed: https://github.com/lingting/VirtualCurrency/blob/0.3.1/src/test/java/live/lingting/virtual/currency/omni/Transfer.java#L130
Transfer operation, signed code: https://github.com/lingting/VirtualCurrency/blob/0.3.1/src/main/java/live/lingting/virtual/currency/service/impl/BtcOmniServiceImpl.java#L248
The signature is at: https://github.com/lingting/VirtualCurrency/blob/0.3.1/src/main/java/live/lingting/virtual/currency/service/impl/BtcOmniServiceImpl.java#L335
Signature code:
        List<TransactionInput> inputs = tx.getInputs();

    for (int i = 0; i < inputs.size(); i++) {
        Script script = ScriptBuilder.createOutputScript(fromAddress);
        TransactionInput txIn = tx.getInput(i);

        Sha256Hash hash = tx.hashForSignature(i, script, SigHash.ALL, false);
        ECKey.ECDSASignature ecdsaSignature = key.sign(hash);
        TransactionSignature txSignature = new TransactionSignature(ecdsaSignature, SigHash.ALL, false);
        if (ScriptPattern.isP2PK(script)) {
            txIn.setScriptSig(ScriptBuilder.createInputScript(txSignature));
        }
        else if (ScriptPattern.isP2SH(script)) {
            txIn.setScriptSig(ScriptBuilder.createP2SHMultiSigInputScript(ListUtil.toList(txSignature), script));
        }
        else if (ScriptPattern.isP2PKH(script)) {
            txIn.setScriptSig(ScriptBuilder.createInputScript(txSignature, key));
        }
        else if (ScriptPattern.isP2WPKH(script)) {
            Script scriptCode = ScriptBuilder.createP2PKHOutputScript(key);
            TransactionSignature signature = tx.calculateWitnessSignature(i, key, scriptCode, txIn.getValue(),
                    SigHash.ALL, false);
            txIn.setScriptSig(ScriptBuilder.createEmpty());
            txIn.setWitness(TransactionWitness.redeemP2WPKH(signature, key));
        }
        else {
            throw new ScriptException(ScriptError.SCRIPT_ERR_UNKNOWN_ERROR,
                    "Unable to sign this scriptPubKey: " + script);
        }
    }

I would like to ask what is wrong with my code. In my submission this time https://github.com/lingting/VirtualCurrency/commit/0ea9b090d6fe2e4821afc10b5725436d56f2909d#diff-25a6634263c1b1f6fc4697a04e2b9904ea4b042a89f59dc848a. I can still submit the code normally. , I also tested it at the time, and there are several transfers in the test address I generated to prove it, but why is it not possible now?


texts: AML laws seem to be very erratically enforced

texts:
It seems that only MtGox actually enforces them.  Are they now a PSP or bank?

MtGox says the reason they prohibit wallet-to-wallet bitcoin transfers (yes, they are prohibiting for unverified accounts now - even if you put your coins in there long ago) is because of the AML laws... yet, no other wallet site (that I know of or use) has this restriction, as they all allow me to transfer bitcoins to another address without the need to verification.

So, either MtGox is making up it's own AML rules, or none of the other sites, like Blockchain, for example, are following them.

Does any know what the real deal is with these AML laws?  it is all kept very secret.  In fact, the AML laws require that the exchange NOT notify the users in advance before the exchange put in place any new restrictions or limits...but only AFTER they are in place.

The real question is... where can I read the AML laws, specifically on how they apply to bitcoins? (although I still find it hard to believe they even Do apply for wallet-to-wallet transaction... but that is what I am told by MtGox)


texts:
I have cloned a coin and changed some variable to make it my own coin. I have launched it and have a few mining pools mining my coin. Going through the code I notice I have an error and the reward halving starts over at block 10k. So miners are getting 500 coins per block instead of 250 coins. I believe this sort of change would fork the coin to a new blockchain but I want current holders to keep the same amount of coins on the new fork. How can I change the code and fork the chain to comply with the new info?

https://github.com/DataSaverCoin/DSC/blob/master/src/main.cpp


texts: What does blockchain.address.listunspent exactly return?

texts:
I am building a simple application that allows user to create and broadcast spend transaction by providing a private key to get funds from and a BTC address to send those funds to.

The application first calculates the BTC address of that private key and then performs a request to a electrum server:

{"id": 0, "method":"blockchain.address.listunspent","params":["1addresshere1fk29ka3"]}

The problem is, this only returns a list of [transaction hash, output position, value in satoshis, position in blockchain] for every output. But it doesn't contain the script of that output.

Is it safe to assume that every output script is going to be the standard pay-to-hash  '76a914' + addr_hash + '88ac' ??

Or do I have to perform another request asking for the raw of all the provided transaction hashes and check that the specific outputs are actually a standard pay-to-hash?

Will blockchain.address.listunspent only provide outputs with pay-to-hash scripts? Will it provide outputs with other kind of scripts such us multisig? Even if its a 1 of 2 keys and you have 1 of them?

And another question, blockchain.address.getbalance, does this also only give the total balance of pay-to-hash scripts? Or does it also add the multisig scripts?

And a final question, will blockchain.address.listunspent return the ouputs that were spent in an already broadcasted transaction that is not yet added in the blockchain?


texts: Creating a multisigaddress using public key from 2 different wallets or using public key from 1 wallet only? Which one is correct?

texts:
Given 2 scenarios,

I used the command [addmultisigaddress] to create a multisigaddress using public keys from walletA only. When I run this command [listaddressgroupings], I'm able to see that this address is one of the account in walletA. Running the [validateaddress] command will show that this multisigaddress belongs to walletA.
I used the command [addmultisigaddress] to create a multisigaddress using public keys from walletA and walletB. Let's say 2 public keys from walletA and 1 public key from walletB. When I run this command [listaddressgroupings] for both walletA or walletB, this address is not listed in either of the wallets. Running the [validateaddress] command for both walletA or walletB show that this multisigaddress doesn't belong to either one of them.


texts: Is the scripting system an incalculable security risk?

texts:
Why does Bitcoin have a complicated scripting system?
https://en.bitcoin.it/wiki/Script
https://github.com/bitcoin/bitcoin/blob/master/src/script.cpp

I guess because it makes fancy contracts possible: https://en.bitcoin.it/wiki/Contracts Could even be kinds of contracts that we would never think about today.

Still, from what I understand currently there are only a handful of scripts in popular use.

Would it not be wise to restrict the scripting engine to a limited number of well understood scripts? It seems like an invitation for trouble. New scripts could be added over time.


texts: What are all the different fees used in Ripple?

texts:
This article mentions two fees:

200 XRP for creating an account
50 XRP for creating a credit line

Is the credit line fee one time or per credit line? Are there any other fees in Ripple? Is there a place that summarizes all the different fees, both inherent in the protocol and determined by gateways/users? This answer is rather comprehensive, but it doesn't mention fees for credit lines nor the number '50', so it isn't be complete.


texts:
I plan to start crypto trading with Ripple and other coins.

What litebit.eu type of site you recommend which support Ripple and many other coins and has wallet for Ripple too? If i use litebit i need to have gatehub too and i would like to have only one website.

It's hard to find such site because that would require to create account to all of these sites. :-(

That's why i ask here if anybody knows such site.

Thanks


texts: Can I export a xpub/zpub/ypub key in bitcoin core?

texts:
I'd like to add a master public key (any of xpub/zpub/ypub https://support.samourai.io/article/49-xpub-s-ypub-s-zpub-s) for tracking purposes to Sentinel watch-only wallet https://samouraiwallet.com/sentinel.html but I cannot find an option to do this in Bitcoin core (v0.16.1).

Can anyone suggest how this can be achieved?


texts: I want to know what to do if I want to create a ripple gateway, so that people can use it and exchange on it. Where do I start?


texts: What if the blockchain saved space by trimming input txs on each transaction?

texts:
At each block there is a determined set of unspent transaction outputs. Each new transaction specifies the unspent outputs it's going to spend in the format tx_id:output_index. tx_id is 32 bytes.

If at any point in time an unspent output has tx_id = cb7f357d7034f93b89a227c2109182740f1798f5a006e9cd0930a380c06aca7e and no other unspent output has a tx_id with prefix cb7f35 a new transaction could reference only cb7f35 and everything would still be exactly determined.

Prefix sizes could be adjustable.

If there were more than one unspent transactions with the same tx_id at each point any mempool transaction trying to spend from an ambiguous prefix would become invalid and a new one with a bigger prefix would have to be issued.

This could save up to 5GB of disk space in an year according to my stupid naïve math.

This could be implemented either:

In the raw Bitcoin protocol, so the canonical blocks would have only prefixes;
As a way to "compact" stored blockchain data without using fancy compression algorithms and without losing the data structure.

So, considering the two potential usages above and not mentioning that this is not doable without a hard-fork (therefore impossible); that is is silly; that disk space is not the biggest bottleneck; and that it isn't worth doing due to practicality and low cost-benefit, why is this a bad idea?


texts: CPU vs GPU Mining (FTC) - CPU wins? How?

texts:
I've read many times over a long period of time that GPU will win out against CPU every time if you use hardware of a similar tier/age. However, i've been toying around today with some FTC mining and noticed what appears to be the opposite.

My rig:

i7 4770k (no overclock currently)
570 GTX Twin Frozr
16Gb RAM + SSDs

I'm mining using the latest versions of Pooler's CPU miner + CudaMiner.

When i mine with the CPU on 4 threads (no hyperthreading), i get 67kh/sec with an increase of 64w power, measured using Asus AI Suite (motherboard software).

When i mine with the GPU, it runs @ 71% average load (measured in GPU-Z), gets 145kh/sec and the power from this rise should be around 151w, according to official and unofficial power spec/stats.

By my maths, i make this out to be roughly:

CPU - 1.05kh/w
GPU - 0.9kh/w

The kh/sec numbers also seem similar to other numbers i've read for my hardware, such as forum posts and this list - https://litecoin.info/Mining_Hardware_Comparison

I think i've done a decent amount of testing here, but i'm sure i must have made an error somewhere along the line. But so far, my numbers indicate that while the GPU gets more per second, it gets less per watt... thus, less cost efficient. I know i'm using Nvidia, which is less efficient for mining than AMD, generally, but these numbers go against everything i've read before now.

Can anyone explain this, or dispell my numbers? I'd love to work out what's going on.

Cheers.


texts: When does Blockchain.info show 127.0.0.1 as "first relayed by" for a transaction?

texts: Does this mean the transaction had to come from a Blockchain.info/wallet user (or perhaps someone using Blockchain.info/pushtx)?  Or could this indicate something else (e.g., a node from Tor even)?


texts:
First small problem: blockchair.com give me only output scripts, not input - is any blockexplorer online with it? I read binary data and this may be hard recreate my sample data and verify.
I test BTC block 500186. First is coinbase tx =

 d45f88974168a7c1d04c9501872ee04ad2a1c4ef2d855afdc2a69c69d7802543

and I don't analyse it because has not previous transactions.

 Next is a bit odd transaction =
 95637dddd99653a6421086e6ab9326341d47f5c29a3cea521e0d2dd6b7c693b1;

 odd because script is short:
 1600149471ea5ecd8f6c51cbe1793df6f5c8ee1894a694

this can I also skip.

Next is
83951f7cb7db18e22f30f319ecbfba2adfc0828a31a0df4edecb46a580c4df10

has script
483045022100df7b1f04615972c7e9d05e9c6c176b95f1a9fc9b73e86eb6d6747336da118a4d02202021d00dab65b6000ef2fcae7525427d1dbec40a2def4196111b8b11c5247bfd012103eafee16adb27d36dc89e4aae0d1b5e0f8ddb2c9136612dc733ec65b1db128cca ,

it give me signature:
 3045022100df7b1f04615972c7e9d05e9c6c176b95f1a9fc9b73e86eb6d6747336da118a4d02202021d00dab65b6000ef2fcae7525427d1dbec40a2def4196111b8b11c5247bfd01
and key
03eafee16adb27d36dc89e4aae0d1b5e0f8ddb2c9136612dc733ec65b1db128cca
and hash of previous tx =
132d98c0bf70264d224f8a2d19325a1f34edd5fddd387939c1f51dd9790aead5

I amd computing r and s numbers:
first has 33 bytes, second 32 bytes (should be 32 + 33?)

 r =
 2100df7b1f04615972c7e9d05e9c6c176b95f1a9fc9b73e86eb6d6747336da118a
 s =
 2021d00dab65b6000ef2fcae7525427d1dbec40a2def4196111b8b11c5247bfd

RecoverCompact can't recover becasue is 33+22 not 32+33 bytes, if I exchange r and s, is also bad; next scripts give me s and r for example 32+32, 33+33 bytes etc.
Question:

how compute r and s ?
RecoverCompact (from Bitcoin sources) hs parameter hash - it is hash of current or previous transaction?
After recover I must obtain second array of script from frist array of script + hash?


texts:
Is there a way to get BTC-E older ticks?
On their api docs I only found how to get the current Tick.


texts: sometimes my miners aren't detected by pools?

texts: from bitminter, and bigltc, both will often report my miners as not mining and inactive, although they are running and even generate work. the work is acknowledged by both sites but it lists the number of active workers as 0. why does this happen?


texts: How to send Bitcoin from one addresss to another using nodejs

texts:
which api i can use to tranfer BTC from one address to another. I have knowledge about bitcoin-transaction api but it does not allow to setup fees. We have try this api but it cost too much high for micro transactions.

If there is any option to setup fees i would prefer it because it not complex compared to others.


texts:
Tried to make a transfer from Bitcoin QT from version 0.9.3 and an error appears "Signing Transaction Failed" but wallet was not fully synced with network yet, im still waiting. Core wallet was downloaded from here https://bitcoin.org/bin/insecure/bitcoin-core-0.9.3/
Can you help me out with this?


texts: How can I export my private key from Block.io?

texts:
I want to move my BTC wallet from Block.io to Blockchain.info.

As transaction fees are $10 on block.io, I would like to do this by exporting my private key and importing it on the other side.

How can I view my private key on Block.io?


texts: BITCOIN SCRIPT: Write the bitcoin ScriptPubKey script for a transaction that can be redeemed by anybody who supplies a square root of 1764?

texts: Bitcoin script: For the following questions, you're free to use non-standard transactions and op codes that are currently disabled. You can use as a shorthand to represent data values pushed onto the stack. For a quick reference, see here: https://en.bitcoin.it/wiki/Script a. Write the Bitcoin ScriptPubKey script for a transaction that can be redeemed by anybody who supplies a square root of 1764. Write a corresponding ScriptSig script to redeem your transaction. Suppose you wanted to issue a new RSA factoring challenge by publishing a transaction that can be redeemed by anybody who can factor a 1024-bit RSA number (RSA numbers are the product of two large, secret prime numbers). What difficulties might you run into?


texts: Framework for designing Blockchain (in combination with secure multi-party computation)

texts:
I'm looking for a framework where I can build my own blockchain. In my case I wan't to combine the blockchain with secure multi-party computation algorithm.
Means that two or more parties want to exchange data without revealing the input data...

are there any good framework you can recommend? (Free or academic access etc.)
I found Openchain and Nstratis... maybe there are better ones?

Thanks in advance.


texts: In CEX.IO Should I include the fee in the sending bitcoin amount?

texts:
I'm using CEX.IO and I want to do a purchase in usi-tech with bitcoin. In this case I need to send the exact amount that they are asking to usi-tech from CEX.IO. When I'm going to enter the amount to withdraw from CEX.IO do I need to include the transaction fee also into the amount that I'm entering.

i.e If usi-tech asks me to pay 0.015 BTC and since the transaction fee of CEX.IO is 0.001 BTC. Do I need to enter 0.016 BTC to the amount field or just 0.015 BTC for the purchasing site to identify the transaction?

Please ignore the red message in the above image.


texts: What keeps the average block time at 10 minutes?

texts:
I've been told "the network" sets the difficulty level such that there will be one new block mined every ten minutes.

I imagine the rich would instead prefer to keep difficulty as high as possible to prevent other people winning their 50 BTC and causing inflation, whereas the poor would prefer as low a difficulty as possible in order to get a greater share of the BTC available.

(By rich and poor, I mean only according to how many BTC someone has.)

What's the force saying "No, forget your petty self-interest and set the difficulty to 10 minutes."?


texts:
I had bitcoin core and dummy me deleted it but I sent my wallet to desktop and now I have a new wallet, are there any way to get the wallet that is on my desktop back into bitcoin core? I tried to copy and paste but that does not work. I went to %APPDATA%\roaming\bitcoin but could not do a copy and paste into it. Any way to get my wallet back into it.
Thanks for your time.
RoberT


texts:
What is the main difference between using one of the bitcoin libraries to create a project and using bitcoin core json RPC API directly by connecting to your node for everything?
If the library has no full node support, which part exactly requires you to use a fullnode and which part can be done without full node?
https://en.bitcoin.it/wiki/API_reference_(JSON-RPC)#Java The link mentioned for library doesn't work here but I found BitcoinJ and it mentioned that you don't need local copy of bitcoin core so how does everything happen without node?


texts: How does the New York subpoena of important people in Bitcoin affect the currency?

texts:
Forbes: Every Important Person In Bitcoin Just Got Subpoenaed By New York's Financial Regulator.  Quote:

  The department is starting out by subpoenaing 22 digital-currency companies and investors to get a lay of the Bitcoin land. They sent letters to the major Bitcoin players asking them to hand over information regarding their money laundering controls, consumer protection practices, source of funding, pitch books (for Bitcoin start-ups) and investment strategies (for Bitcoin investors).  The recipients of the subpoenas are nationwide and include everyone on the “people making real money on Bitcoin” list, such as Bitcoin exchanges and processors, “ mining equipment” maker Butterfly Labs, and major investors, such as the Winklevosses, Marc Andreessen & Ben Horowitz, and Google’s venture fund.

There are many, discussions on many Reddit forums going on and some commentors seem to describe it as the end of Bitcoin.  I don't understand.

What does this legal action mean for Bitcoin as a currency, in practice?


texts: Payment channels with dynamic signatures

texts:
Talking about single-funded payment channels, the idea is quite simple: Alice puts 10 btc into a multi-sig signed with Bob, and then they each update the state accordingly to send money to each-other back and forth.

Now, imagine a third person joins the picture, say Carol. And Alice wants to send her some btc. Can the channel state be updated with someone else's public key?

I'd like to understand if something like this is possible. If not, I'd like to know why this isn't possible (I'm for sure missing something about how payment-channels work and I'd like to understand what). Perhaps using Channel Factories something like this is possible?

The main idea here is that someone can set funds aside for a new person, without having to create a new channel, but by using the funds in an already created channel.

Please note that this doesn't have to do anything with routing. It's simply using funds within a channel for another person rather than just the 2 parties of the channel.

EDIT

Perhaps there's the possibility of creating "off-chain channels" (maybe this is channel factories?) that are somewhat connected to the main branch, using other participants. I want to stress that in this example Carol has never participated in a on-chain channel -- she's a new participant involved using "off-chain channels":


texts: Using the Merkle Root to prove the integrity of a block's transactions

texts:
I understand that a Merkle Root is the hash of hashes of hashes (etc.) of transaction pairings within a block that ultimately results in one 'Root' hash.  Changing anything about any of the original transaction hashes would result in a completely different root hash.

What I'm still confused about is working backwards starting with the root hash to prove a certain transaction was included in the block.  From the 'What is the Merkle Root?" thread, I understand the example of only needing 4 hashes to prove that Tk was included in the block (16 transaction block).

My questions are:

If every transaction is to be verified that it's included in the block, wouldn't you ultimately need to know all of the hashes anyway if you're going to trace back to each transaction separately?
Are these verifications only happening on request? or is it automatic before the block is added to the blockchain?
When verifying one specific transaction, where do you go to get the various sub-hashes for the necessary merkle branches?


texts:
From Lightning Network documentation:

  Used in several of the BOLT documents to denote the genesis hash of a target
  blockchain. This allows nodes to create and reference channels on
  several blockchains. Nodes are to ignore any messages that reference a
  chain_hash that are unknown to them. Unlike bitcoin-cli, the hash is
  not reversed but is used directly.

  For the main chain Bitcoin blockchain, the chain_hash value MUST be
  (encoded in hex):
  6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000.

However this wiki entry about Bitcoin's genesis block has

  GetHash()      =
  0x000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

Indeed, inputting the latter value into blockchain.info yields Block 0, while the former value cannot be found on blockchain.info.

Why does the value 6fe28c0ab6f1b372c1a6a246ae63f74f931e8365e15a089c68d6190000000000 appear in Lightning Network as "Bitcoin's genesis hash"?


texts: Paid the seller but did not receive my Bitcoin

texts:
I bought my bitcoins from Remitano, the support team said it's been released but it's already 2 days I still haven't receive anything.

The following is my e-wallet : 17PvSJNcr8giYNDivs5z1CFiXYvV8Lh4NA

And the transaction is as below.

https://blockexplorer.com/tx/c0c40897b9a1c4d10c8c6ee692a7d6e4a475658fb4d8d451fd0d926ba4127a46

Can anyone tell me how can I solve this?


texts: Bitcoin-qt transaction not initiated by the wallet owner

texts:
I was just mining for some Dogecoins with Eobot and parallel I had BGFminer set on solo mining + 4 pools from eclipse.

The issue is that the moment the Eobot kicked in (it started on mining Dogecoins as they just started on increasing) I saw a notice of Bitcoin transaction, asap I opened the client to see it i found the following:

The best part is that I did not post my sending address anywhere nor iniciated this transaction (And seems I have this wallet since a week and this is the entire  amount that was stored there) so is it possible that i got some Trojan on my PC that somehow managed to process this transaction or similar.

Any suggestions?


texts:
We know that PoW difficulty is adjusted s.t a block is found roughly in every 10 minute. So, if nodes happen to mine a block too fast, difficulty is increased and vice versa.

I wonder if it's possible to apply the same mechanism to block size. I'd guess huge block sizes are bad in general as it takes longer to propagate them however, we also know that at certain intervals there are lots of unprocessed txs. So, would it make sense to increase block sizes at least for these intervals and decrease afterwards? Would such mechanism might help Bitcoin in a way ?