But not all nodes will update to recognise segwit. If a non segwit node receives the two records that signify a segwith transaction, then won't it accept the payment record, but reject the signature record as an invalid type. It will accept the payment record as valid because the signature will be blank ie. anybody can receive.
Yes, but for a full node that is segwit capable, it WILL receive the witness data. Once segwit updates, running a full node without segwit should not be optional and is less secure since that node cannot verify the signatures of segwit transactions.
|
|
|
It's an older computer I built years ago, still runs XP. The OS could be an issue, but I doubt the hardware is (decent proc, plenty of RAM and hd space). One of these days I'll get around to building a new machine. I also need to turn my old laptop into a Linux machine, that would be the one to run my node ideally I think. But in the mean time I would love some ideas what was changed in 0.12 that now makes it unusable on my computer.
The problem is XP. There are known problems with 0.12 with XP. See https://github.com/bitcoin/bitcoin/issues/7674 and https://github.com/bitcoin/bitcoin/issues/7639. However i don't think it will be fixed since XP support from Microsoft has ended and thus fixing an XP only problem is not worth it to the core devs. See https://github.com/bitcoin/bitcoin/issues/7681 for the discussion about that.
|
|
|
This is not correct, right? Miners (and relay nodes running new software) will have to include the signatures in the extension part of the block and send the whole block out to other miners (and to relay nodes running new software). The extension record can be omitted only when a miner or relay node sends a block to a simple client. Right?
Yes, you are mostly correct. The witness data is sent to nodes that have the proper service bit set. When segwit activates, nearly all of the miners will have this bit set so they will be receiving all of the witness data. The data will be omitted if the node doesn't have that service bit. I understood that the miners would have to validate the signature "extension" to guard against attempts to hijack the payment. Because of this, all miners would have to support segwit. However, they don't include the signature data in the mined block ( if they did it would be even larger than current sizes). They don't need to re-transmit the signature data, and probably won't as the extra processing time could lead to their block being orphaned. The signature data is validated by archive nodes, and other miners of course, and if it is invalid, then the block will not be accepted. I think it is optional if a wallet holder wants to run a pruned node, a full node, or a full node with archiving. No. You are incorrect. The signatures are required to validate a block. Full nodes need that data in order to verify the block. If the node announces that it supports segwit, then it will receive the witnesses to validate them. It is not optional for any full node. For reference, a full node is any node which fully verifies all transactions and blocks it receives. This includes pruned nodes and "archiving" nodes.
|
|
|
What coin?
BTW this belongs on the altcoin section.
|
|
|
aren't blocks v3 (v2, v1) invalid today?
Yes, they are.
|
|
|
This is not correct, right? Miners (and relay nodes running new software) will have to include the signatures in the extension part of the block and send the whole block out to other miners (and to relay nodes running new software). The extension record can be omitted only when a miner or relay node sends a block to a simple client. Right?
Yes, you are mostly correct. The witness data is sent to nodes that have the proper service bit set. When segwit activates, nearly all of the miners will have this bit set so they will be receiving all of the witness data. The data will be omitted if the node doesn't have that service bit.
|
|
|
thanks
By my point is how to simulate it? designing a particular block chain may be possible but how to test it? just imagine you want to store some files in cloud and use block chain to do that, now, how can we implement such a network?
That's up to you to decide. You figure out what you want done and then implement your idea and test it. There is no simulation here, it is just do and test and see if it works. The Testing occurs on your private blockchain so as to not spam one that people actually use.
|
|
|
You can make your own blockchain. Either create an altcoin or use Bitcoin's regression test mode. This mode creates a private bitcoin network and blockchain which you can use to test and experiment with.
|
|
|
Can you guide me how does escrow works ?
The buyer or seller contacts the escrow to arrange an escrow of a good or service. The escrow creates an escrow address. This address can be either a normal address or a multisig address. The multisig address requires that 2 of the 3 parties involved (seller, buyer, escrow) allows the transaction from that address to happen. It is extra protection. Then the seller sends the funds for the payment to the escrow address. The product is then exchanged. If it is a digital good and the escrow can verify it, then it is sent to the escrow. The escrow will verify the good and if it meets what the buyer stated that he wanted, it is forwarded to the buyer. If the buyer likes the product, then he tells the escrow to release the funds from the escrow address to the seller. If the buyer doesn't, he can dispute. For physical goods, usually it is just the seller ships the item to the buyer and the buyer will verify that the item he received was what he wanted. He then informs the escrow to release the funds. If what he got wasn't what he wanted, he can dispute. If a dispute happens, the escrow mediates. He takes information and evidence from both parties and decides who gets how much of the money. That is how escrow typically works.
|
|
|
just wondering if anyone has any info / rumor of progress with segwit?
It's pretty close to being finished do you think they will be ready in april as expected?
Probably. I think it will be merged in ready for a release by the end of April.
|
|
|
Last week I attempted an online purchase with btc. I paid out of my wallet however the transaction seemingly failed on the vendor's website. I told them the btc were sent but they said they had never received it. I thought it was because my wallet was 150 weeks behind on transactions, so I let it update however the transaction is showing as 'conflicted' in my wallet. The transaction shows as ff96ced7178cb83d6c17cfa677bef877ec67e37061ad71fc2e4cca13c2b84ac4-000, but blockchain can't locate any transactions matching this hash. Where did my btc go???
The actual transaction hash is ff96ced7178cb83d6c17cfa677bef877ec67e37061ad71fc2e4cca13c2b84ac4 without the -000 on the end. However, when you look that up the transaction doesn't exist. This means that your Bitcoin did not go anywhere. Because you were not synced, it is possible that your transaction was spending from inputs that were already spent from and this caused a double spend which is rejected by the network. Once your wallet is synced, you need to remove that transaction from your wallet. This will then allow you to spend your Bitcoin as it is not actually gone. To do this, you must start Bitcoin Core (I assume it is Bitcoin Core because that is the only wallet that has -000 in the txid) with the -zapwallettxes option which will remove your transaction. Then you can spend the Bitcoin again and it should go through.
|
|
|
I'm looking for a way to allow users to pay different fees based on different version of the block including the transaction.
E.G. a transaction that is valid only if it is included in a block with version 3 but is invalid if included in a block version 2 or 4.
OR
a transaction including different fees if included in any block or in a specific block type. 0.2 mBTC if v3 0.1 mBTC if not v3.
Is there any way to do so?
Nope. Not possible.
|
|
|
Say i have blockchain.info wallet X and i only have one address in it.Now i took a backup of this wallet.Now how can i transfer this wallet(address+private keys) to other wallet(say any wallet like electrum,multibit,mycellium) I know i can always send the bitcoins to the address created by other wallets but in case blockchain.info goes down or shuts down or whatever happens and in that case i need to access my bitcoins then how can i do so? Do blockchain.info backups (AES Encypted) can only be recovered at blockchain.info? I know i can export the private key of address in blockchain.info wallet but it's not safe.I want the encypted backup that i take to be restored at other clients in case of emergencies.Is that possible?
You would need to decrypt the keys. The encrypted keys can probably only be decrypted at blockchain.info but, because their software is open source, it should be fairly trivial for someone to modify the code to decrypt your private keys.
|
|
|
Yeah, I may be new to all this but I thought that sounded a little off. I have a new problem/question now. My coin showed up in my wallet but its still going through confirmations in blockchain. What's this mean?
Confirmations are the number of blocks built on top of the block your transaction is included in with 1 confirmation meaning that the block your transaction is in is the most recent block. As the blockchain grows, the number of confirmations will increase indefinitely. After about 2 confirmations, your transaction is fairly safe as it is unlikely that the block it is in will be orphaned and thus potentially reversed. After 6, your transaction is pretty much guaranteed to not be able to be reversed (although this guarantee really happens around 2 or 3 confirmations.) So that number will just keep going and going? When I search my wallet on blockchain.info it doesn't have the confirmations at the bottom like it did in the beginning. But if I use one of the tools (cant remember which) itll show the confs and on my app as well. Yes. It depends on the software and service whether to show the confirmations. Blockchain.info stops showing them after 120 confirmations I think.
|
|
|
I carried out a system scan last night and my Avast software found 2 viruses at blk00128.dat and 00129.dat. I had read about someone putting bits of a virus into the blockchain once, is that what that is?
Most likely. People have figured out how to encode the data for a virus in the blockchain but that cannot do anything since the virus is not executed. However, you need to make sure that your antivirus doesn't delete any files in that folder (and the bitcoin data directory in general) otherwise that will cause you to need to resync.
|
|
|
Yeah, I may be new to all this but I thought that sounded a little off. I have a new problem/question now. My coin showed up in my wallet but its still going through confirmations in blockchain. What's this mean?
Confirmations are the number of blocks built on top of the block your transaction is included in with 1 confirmation meaning that the block your transaction is in is the most recent block. As the blockchain grows, the number of confirmations will increase indefinitely. After about 2 confirmations, your transaction is fairly safe as it is unlikely that the block it is in will be orphaned and thus potentially reversed. After 6, your transaction is pretty much guaranteed to not be able to be reversed (although this guarantee really happens around 2 or 3 confirmations.)
|
|
|
yes i am talking about LN.
let's say I want to pay Alice 0.1BTC for a service she frequently renders ( weekly ) will LN be useful to us? of course Alice needs to be able to spend the funds i give her weekly... so my question is, when the channel is opened and a 0.1BTC signed and handed off, will Alice be able to use those funds or does she have to wait until the channel is closed to make use of the money i give her?
Unless the payment to another person can be routed through you (by being a hop), I think that Alice would need to close the channel in order to pay someone else. Yup. Except those 10 channel txs are not going to be free (although must be cheaper than on-chain ones).
Nope. Transactions between two people that happen in a channel (meaning it doesn't go through hops) won't have any extra fees. The fees only come in if you have to have the payment hop through other nodes. So in conclusion, LN is useless for any non-recurring (or not very frequent) transactions.
Yes. That's the point. It removes the recurring micro transactions like faucet payouts from the blockchain. And the 'fee market' will have to be kept under control (central planning?) either directly by devs or by implementing some sort of flexible max block size, in order to make on-chain txs high enough to provide sufficient reward for miners (and push people toward 2nd layer solutions) but low enough to make opening/closing channels and perform non-recurring txs affordable.
Not necessarily. There will be plenty of transactions happening on chain because they are not recurring payments. Opening and closing channels also has to pay fees.
|
|
|
I think (fingers crossed) it went through 85confs later. In my history it used to say "not verified" with my pending coin amount in green. Now instead of "not verified" theres a check mark and the date and time. When I click the details tab it now gives me the option to label it and status now says 85 confirmations.
Yup. It should be fixed now. The transaction had already gone through a while ago, whenever it got its first confirmation. It is just that your wallet was not fully synced so it didn't know about the transaction. Now that it is, it does not about the transaction and you can spend from it. You should now be able to spend that Bitcoin and receive more without any issue.
|
|
|
Ok I go to network and it says: Connected to 8 nodes Blockchain length: 385055 blocks Server: ecdsa.net Auto connect (its checked) "If auto connect is checked the address server will be selected automatically."
Anything useful there??
Yeah, you are way behind. The current blockchain length is 404765. You should uncheck auto connect and tap the button next to Server. Then choose another server from the list and then tap OK. You may need to restart the app by double tapping back and then opening the app again.
|
|
|
|