Bitcoin Forum
May 25, 2024, 09:32:00 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 ... 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 [83] 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 ... 590 »
1641  Bitcoin / Bitcoin Technical Support / Re: PSA: how to get baddress from bitpay URI (now REQUIRED) on: January 03, 2018, 06:51:19 PM
Nice find!

I can't imagine that Bitpay is going to leave that there any longer though, it seems like a mistake for them to do so and now that it is publicly known, it will probably go away.

Also, this link
does not work, probably because the invoice expired already.

I've also been toying with creating a Python script to extract it... but will just use this trick for now Wink
You can use the one I wrote: https://github.com/achow101/payment-proto-interface
1642  Bitcoin / Development & Technical Discussion / Re: Lightning Network: If your whole balance is very low, can you spend it? on: January 03, 2018, 06:45:43 PM
Still don't understand how would you spend 0.00001 if you cant you can't even open a channel with that amount.

Now you can't spend it because fees on chain are bigger than that. Will opening channels be cheaper in the future?
You don't necessarily have to be the one paying the fee. Both parties in the channel can fund the channel in the same funding transaction. So if you only have 0.00001 BTC, you can have the other party be the one who pays the transaction fee. They might do this if the channel is not only for you to buy a coffee but rather that you are also expecting to get paid by this person or route incoming payments through them.
1643  Bitcoin / Development & Technical Discussion / Re: require a TX-level PoW nonce to inhibit spam? on: January 03, 2018, 06:12:41 AM
It wouldn't work. If the PoW for transactions was SHA256d, you could just buy an ASIC and spam transactions. If it were something else, you can use GPUs and it would be just as effective. Making the difficulty adjust to transaction size would be completely pointless since spam transactions are typically not large. Furthermore, you couldn't just make it based on the person who is sending it since Bitcoin does not use an accounts based system. It is difficult (nearly impossible) to know whether two transactions were created by the same person, so you can't make the difficulty adjust to the person. So this idea of adding a PoW to each transaction is pointless and wouldn't reduce anything, at least with Bitcoin's design and security model.
1644  Bitcoin / Development & Technical Discussion / Re: Lightning Network: If your whole balance is very low, can you spend it? on: January 03, 2018, 06:05:02 AM
If you have to use someones elses payment channel to get through, how is it decided how much fee are you paying the channel owner?
The channel owner determines that fee. If you don't like their fee, then you can choose to use a different channel to route your payment through.

If you can't spend small amounts, then how will it solve micro-transactions, or having unusable wallets with amounts smaller than fees?
It isn't really that you spend small amounts, but rather that you can send and receive many small amounts without paying a lot in fees.
1645  Bitcoin / Development & Technical Discussion / Re: Can Lightning network work decentralized ? on: January 03, 2018, 05:55:53 AM
BTW does BTC even supply for such a mechanism that it can cancel all payments if one fails ? Otherwise nobody would use it (who wants to pay 80% of a product and thus not receive the product) and your example isn't even valid
Yes, there is a mechanism to cancel a payment. Anyways, currently it isn't even possible to have a partial payment. The way that routing works is that the sender chooses the nodes to send through and will only initiate the process if it knows that the payment will happen (barring circumstances involving malicious actors or unforseen circumstances).

Actually I don't think this is correct. In A -> B -> C then C first finalizes payment from B by sending the pre-image to B. Then B does the same with A, exactly like explained here: https://en.bitcoin.it/wiki/Hashed_Timelock_Contracts  How is this different from a lending situation ? You ask your friend to pay for the pizza and after he paid for the pizza, you pay him.
No, that's not how it actually works on the technical level.

At the technical level, every node in the route first creates an HTLC offered output and HTLC received output in the channels that the payment is being routed through. This effectively locks in the coins and the order of those outputs being created is not guaranteed. I.e. A could offer the HTLC to B before B offers to C, in which case B owes A money. But just as likely is B offers C the HTLC output before it receives the HTLC from A, in which case A owes B money. In either case, neither party actually gets any money, so no money actually exchanged hands nor is anything actually owed. If B fails to offer the HTLC C, A will get his money back when the HTLC times out and B will not be able to have gotten any of that money at all. When the preimage is passed down the route from D to A (let's add one additional hop for this example), none of the parties in the route is able to get more money than they are supposed to even if they don't reveal the preimage to the next person. With lending money, the lender can steal the money, but in LN, the "lenders" (i.e. nodes in the route) cannot.

The reason for this is slightly complicated. In a route A -> B -> C -> D, D must reveal the preimage R in order to be paid. He can do this by either broadcasting the C -> D Commitment transaction and the HTLC success transaction (so he spends the HTLC output from the commitment tx) or by telling C what R is (and thus keep the channel open). If he broadcasts the HTLC success, then both B and C know what R is since R is in that HTLC success and can immediately broadcast their HTLC success transactions, so they are paid and pay money at exactly the same time.

If D gives C R and they settle off chain (to keep the channel open) but C refuses to give B R, he is actually out money since he has already settled the HTLC offered output but not his HTLC received. C is now short the money that he gave to D. Note that this is different from lending because this is not B refusing to give C his money but rather C refusing to take it. The only way C can take that money is if he gives B R or if he broadcasts the commitment transaction and HTLC success transaction. Either way, B will get R and he will end up paying the money to C as that is how HTLCs work.

The payment of the HTLCs is guaranteed because of the commitment transactions. HTLCs are part of the commitment transaction which is signed by both parties in the channel. In the B -> C channel, B cannot revert his HTLC without C agreeing to revert it. If he chose to broadcast an old commitment which did not have this HTLC, then he will be subject to C's revocation transaction which can take all of B's money. The way that HTLCs work is that if you can show that you know R, then the payment is guaranteed because you can spend that output. So once C knows R, his payment is guaranteed unless he waits too long and the HTLC times out. But then that is still not lending as B did not refuse to pay C but rather C refused to take money from B.

So in no way is this actually lending. No node has more money than they are supposed to. HTLCs are not a promise that you will give them the money (as it is with lending) but rather a guarantee that they will get the money. Nodes must forward R down the route otherwise they will be losing money. There is no situation where a node can get more money than they are supposed.

Note that this only works when R goes from D -> A. If it went from A -> D, then it would be lending and a node could defraud the next node in the route. But LN goes the other way, so that is not a problem.
1646  Bitcoin / Development & Technical Discussion / Re: Can Lightning network work decentralized ? on: January 02, 2018, 11:34:16 PM
But let's say I want to pay an airline ticket for $1200. I have 4 channels with 4 friends. Two of them have $350 freely available each and two of them have $250 available each. However one of them has a route with friends who only have $200 available. Now I can't pay for the ticket even though I'm a frikkin' (bitcoin) millionaire myself Smiley It would make SO much more sense for me to just open 1 channel with a bank, but some cash in it and I'm done! I can now at least determine myself how much I can pay and I'm not dependent on the wealth of my friends (or their friend's friends).
That's completely untrue. You are then dependent on the wealth of that "bank", how many channels it has open, and how much it owns on each channel. You are not done, and there is no guarantee that said "bank" will be any better than your 4 friends. Suppose that bank is just like friends, but with more channels that lead to dead ends and not the airline you want to pay. Now you're stuck. It's exactly the same as with your friends, and not any better nor any worse.
1647  Bitcoin / Development & Technical Discussion / Re: Can Lightning network work decentralized ? on: January 02, 2018, 11:10:36 PM
Ok the traditional definition of lending wouldn't apply here, agreed. However that doesn't change the problem that everybody in the route needs to have the amount of money that you are sending in his account, freely available.
...
That is if all your channels are connected to the Merchant AND everybody in those channels has at least the amount freely available that you want to send.
With a well connected graph, that's not a problem. And based on current use on testnet, it looks like it is going to be a fairly well connected graph.
1648  Bitcoin / Development & Technical Discussion / MOVED: Suggestions Please: Where to get ERC20 Based Token Security Review (Audit) on: January 02, 2018, 11:07:15 PM
This topic has been moved to Trashcan.

Duplicate
1649  Bitcoin / Bitcoin Technical Support / Re: PleaSe help on: January 02, 2018, 09:36:24 PM
Please post the address that you game them from Coinbase.

Please also post the link to the transaction that you were given.
1650  Bitcoin / Development & Technical Discussion / Re: Can Lightning network work decentralized ? on: January 02, 2018, 09:33:15 PM
If person A wants to buy something, person B is in the middle and Person C is the receiver, then B first pays C, so he actually 'lends' money to A
Actually he doesn't. B pays C at the exact same time that A pays B. So there is no lending as B is never short of his money. As soon as the hash preimage for an HTLC is known to the world, all parties in a route are instantly paid because the HTLCs can be then settled at the same time.


But the key here is that average Joe doesn't have a lot of money to finance payments for others (average Joe takes credit, he doesnt give it). So that's a huge problem in the decentralized mesh. I honestly don't see how this could work without any big centralized nodes like banks. In fact I think that's just the natural way it will evolve: people will open payment channels with big parties (=banks) to ensure that they can actually pay people. You don't want to divide your money over 20 channels and only have 5% of your money per channel. So it seems only natural that banks would become central in LN, it's both more efficient and effective.
Joe can pay the same person using multiple channels.

If I have two BTC total split across 4 channels and I want to buy something for 2 BTC, I can send 0.5 via Channel 1 to merchant A, 0.5 BTC via Channel 2 to Merchant A, and so on. Merchant A will get 2 BTC from either one channel or from multiple channels, Either way, he gets paid 2 BTC and I spent 2 BTC and the transactions are guaranteed.
1651  Bitcoin / Bitcoin Discussion / Re: Why cryptocurrency is a "useful tool" for Russia evade western sanction? on: January 02, 2018, 07:52:35 PM
" According to the Financial Times, Sergei Glazev, an economic adviser to the president, told a government meeting that the cryptocurrency would serve as a "useful tool" to evade western economic sanctions."

Why cryptocurrency would be a "useful tool" for Russia evade western economic sanction?
Because cryptocurrencies are not under the control of western countries. Cryptocurrencies like Bitcoin are completely decentralized and do not have a central authority (be that private a private group or a government) controlling it.
1652  Bitcoin / Development & Technical Discussion / Re: Can Lightning network work decentralized ? on: January 02, 2018, 07:50:07 PM
everybody lends his money to the next guy in the chain, up the guy at the end of the chain who wants to pay for something.
There is no lending of money. It is not an IOU system, there is no lending. All money exists and is accounted for on the blockchain.

The maximum payment amount in this scenario is determined by the guy who has the least amount of money freely available in that chain.
It isn't a chain, it is a route. The graph of nodes is not the extremely degenerate case of a linked list or hub and spoke model. Sure the maximum amount is limited by the smallest amount in the route, but if that amount is too small, another route can be chosen that allows for more money to be transferred if necessary. Furthermore, each route is for one use only, they aren't permanent and do not always have to be used for payments to the same person.
1653  Bitcoin / Development & Technical Discussion / Re: My Segwit questions - a Q&A for Achow and the rest on: January 02, 2018, 07:43:54 PM
Does the work needed for the POW scale with the new block size or it has nothing to do with it?
The PoW and block size are completely independent and have nothing to do with each other.
1654  Bitcoin / Bitcoin Technical Support / Re: 24 word recovery seed: How does it work? Secure? on: January 01, 2018, 09:02:56 PM
The specification for the mnemonic is BIP 39. That mnemonic is then typically used with BIP 32 to generate your private keys.

How does your wallet know not to generate 24 words that are already in use by someone else
It doesn't know, and it does not need to know. The search space is so massive that a crytpgraphically secure random number generator has an extremely small change of generating a seed that someone else has generated before. The probability of that happening is so infinitesimally small that it is nearly impossible. This principle of unlikelihood is the basis of all modern cryptography.

and what happens if someone even accidentally enters your 24 words?
Then they can generate your private keys and spend your Bitcoin. The odds of this happening are extremely small, so much so that it is impossible.
1655  Bitcoin / Development & Technical Discussion / Re: [request] MEMpool information broadcast by Bitcoin Core. on: January 01, 2018, 08:40:02 PM
Well if they are breaking into a sweat just doing 7 transactions a second between 20,000 nodes
No, they're not. It isn't 7 unconfirmed transactions per second that are being broadcast between nodes. That number has to do with blocks. Nodes are handling much larger numbers than that in unconfirmed transactions.

If node send MEMpool stats (size, number of transactions), the listener can use the 8-25 connexions to build an average size & number of transactions.

With this, it can recalculate the fees if MEMpool is satured (Blockchain.info store 2Gb ... but malority of nodes store 300Mb, right ?).

An SPV wallet can use this average info with her 4-6 connexions.
You can use the mempool message to get a list of all of the txids in a node's mempool.

It is unlikely that a new protocol message will be created which contains just statistical information.
1656  Bitcoin / Bitcoin Technical Support / Re: Bitcoin Core Replaying blocks on: January 01, 2018, 03:12:29 AM
Please post the contents of the debug.log file.
1657  Bitcoin / Bitcoin Technical Support / Re: Schnorr is just waiting or we need to do something? on: January 01, 2018, 03:06:39 AM
But if it got implemented, what do you think? All automatic or the user needs to do something? Maybe transferring all bitcoins to one address, like segwit?
It would require a new address and scripting scheme, similar to segwit. So using it would require transferring all coins to a new address.
1658  Bitcoin / Bitcoin Technical Support / Re: Question about 0.16 bitcoin core on: January 01, 2018, 03:05:53 AM
But I don't understand why bitcoin core release it is very important. All address will be segwit by default? Other wallets over there can implement the SegWit more easily? What the big deal?
It is important because many people and services use Bitcoin Core. With this release, Segwit addresses will be used by default, so, in theory, segwit's usage will greatly increase.
1659  Bitcoin / Bitcoin Technical Support / Re: Schnorr is just waiting or we need to do something? on: December 29, 2017, 07:54:38 AM
Schnorr signatures (which includes signature aggregation and batch validation) in Bitcoin are actively being researched. There are no proposals or implementations for use in Bitcoin yet.
1660  Bitcoin / Bitcoin Technical Support / Re: Question about 0.16 bitcoin core on: December 29, 2017, 07:52:09 AM
0.16 is a future release of Bitcoin Core which is planned to have full Segwit wallet support. This includes support for sending to and receiving at segwit addresses much more easily and with more robustness.
Pages: « 1 ... 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 [83] 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 ... 590 »
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!