Hi Ivan, love your program but this LN is not a good thing. I am a programmer too, and have just recently been through the Bitcoin code base, read the whole thing. Segwit has a number of flaws and problems with it. You say layer 1 will be untouched if a problem with layer 2, but that is not true. Segwit is being pushed/invented by Pieter Wuille, the cofounder of Blockstream; Blockstream is owned by insurance giant AXA, whose CEO and Chairman is also the current Bilderberg chairmam. They are pushing for Bitcoin to become too expensive to be useful as currency; with fees of even $5 or $6 that renders it useless as a cryptocurrency; Crypto currency needs to be almost free to send (fractions of a cent). Without this it is no longer currency, it is like a Federal Reserve fiat USD toilet paper, with all kinds of fees attached. One of the supposed reasons for Bitcoin Core (Blockstream) adopting segwit, is they say it helps implement the off chain lightening network. The lightening network has been proven though, not to work, except with large centralized nodes; these nodes could be tracked and regulated and stolen from (taxed). Not only that, since they are off-chain they are open to being hacked, so it lets Bilderberg take down the whole show, if for some reason it gets away from them.
Segwit claims to solve the transaction malleability problem and lies saying this is necessary for the lightening network; it is not! Transaction malleability is only a problem when you try and spend Bitcoin that someone else sent you and it has zero confirmations (i.e. has not been included in at least one block). And the worst thing that can happen is that the transaction doesn't go through and you keep your money; the person you sent the Bitcoin to, would not get it, but it would be like you earning some money, and then spending it before you get it. The solution is to just wait 10 minutes for it to be included in 1 block, and that eliminates transaction malleability.
The real serious problem that segwit introduces is that it removes the signature data (segregated witness), to a new hacky section after the main transaction data... it really isn't Bitcoin, it is a new type of coin on the same block chain. And miners can signal for segwit and not implement it, and it is actually more profitable for them to do that; so the block sizes will remain small. The whole thing is a big mess, most likely on purpose. Because Bilderbergers can't just shutdown Bitcoin. They can however pour sugar in its gas tank, all while pretending that is going to make it run faster. After all, most people have to rely on experts that can read the code, they can't read it themselves; and these "experts", guess which "experts" get the most press, who owns the media?
There will be no cryptocurrency future if it is tracked by government gangs; Bitcoin was invented to be used as currency to trade with each other without being robbed by government gangs (taxes)
There is a Mathematical Proof That the Lightning Network Cannot Be a Decentralized Bitcoin Scaling Solution. https://medium.com/@jonaldfyookball/mathematical-proof-that-the-lightning-network-cannot-be-a-decentralized-bitcoin-scaling-solution-1b8147650800
Yes, physically layer 1 may not be affected by layer 2, but once transactions are on layer 2 and completely tracked, any layer 1 transactions will also be completely tracked. Not only that if the reputation of layer 2 gets really bad, that will ruin the reputation of layer 1 and no one will want to use it.
Thank you for taking the time to write this so I didn't have to. I really don't understand why more people aren't seeing this sham for what it is. Replace "node" with "bank" and "channel" with "chequing account" with the whole game being played off chain... what else am I missing here??
What solutions are you proposing to segwit and LN....? Are there better solutions to scaling the blockchain?
Good question. For now I suggest increasing the maximum block size just like Bitcoin Cash did, it is one variable, and it doesn't make all blocks that size it just is the maximum size. I have heard of a few other solutions coming out that are more peer to peer that don't require large centralized hubs, I'll have to look them up, as I don't recall the names. Although Hash Graph comes to mind, that looks like a new better way of doing a block chain. Also, Peter Rizon and Andrew Stone of Bitcoin Unlimited completed 1GB scaling block tests back in November. This could be one short term solution:
I too am a coder with over 20 years experience. Since LN is open source, could you point out the lines that request KYC? I have not seen any code that asks for this in the bitcoin core source and at present, the only way an address can be tracked is if it starts out on an exchange. But if you're never reusing addresses in your hardware wallet and you don't use wallet aggregation that combines funds to make a payment large enough, association of addresses becomes very tricky to establish.
I have over 35 years experience; but even if I only had a few months experience, you don't need to read the code on the LN, you only need read the proof above, and then realize that all the big centralized crypto exchanges are being locked down and tracked where you now have to get a proctology exam to exchange their fiat currency for crypto , and then also realize that the push for segwit is run by the most nefarious psychopathic group on the planet, that have the most to lose, and in fact it is very likely they may actually run the governments. They will try and get the masses on to the LN, because that isn't Bitcoin. Once you are making purchases in the LN, they will keep you off the Bitcoin blockchain, you will not have more addresses on Bitcoin like Satoshi recommended because it is $20 every time you move Bitcoin between those addresses, so NO ONE is going to want to do that EVER. If anything people will do a one time buy, and pay the $20 or $40 because probably 2 transfers, at their exchange that tracked their buy and then stay on the LN from there, with everything being tracked from that point.... address resuse will be the norm because of the high fees. You can't just move coins from one of your wallet addresses to another without paying the fees, and the fees are only going to go up.
Some other little known facts about Segwit, are that it is really a hard fork. Segwit nodes do not connect to non-segwit nodes, instead of connecting to the first available nodes they will go through all the nodes tens of times, and if no segwit nodes are available, it will finally relunctantly connect to only one non-segwit node, to make the user experience extremely slow. If you check out line 1829 in pink on this link you can see the current code that does that. The green code that replaces it (which is not actually implemented in v0.15.1 yet) will actually not connect to non-segwit nodes at all, except to ask them for segwit node addresses, but won't download any data from non-segwit nodes: https://github.com/bitcoin/bitcoin/commit/44407100ff9b478d6131a1c38ee993b50b1830df (here one of the REQUIRED_SERVICES is WITNESS which is segwit, and non-segwit nodes don't have this; on line 1831 you can see how after 40 retries, it will finally give up and then fake it that one non-segwit node will have WITNESS,
nRequiredServices = REQUIRED_SERVICES;
)Segwit also punishes non-segwit node transaction bytes by multiplying their "weight" by 4 times. And the final nail in the coffin is that Segwit transactions are invisible to non-segwit nodes; it really is an entirely different coin on the same block chain; non-segwit nodes view a segwit transaction as having 0 inputs, so it just ignores them completely because they are not valid according to non-segwit nodes. So the more segwit transactions that take place, the more "segwit" coins are created on the same Bitcoin core block chain; Segwit nodes can see both types of transactions but non-segwit nodes can only see non-segwit transactions. All of this is to hijack Bitcoin and make it unusable as currency, uneasy to use... WHY? Because the powers that be, don't want you using it!
And the Segwit block sizes have been increased to 4MB, so to claim that they didn't want to increase the block size is another lie, the Segwit block being 4MB max; it is actually still a 1MB block with a 3MB extension block, that only segwit nodes can utilize and see.
Right now, I think that only 11% of Bitcoin core nodes have actually implemented Segwit nodes, hence the reason most blocks are still a max of 1MB in size; this keeps the blocks full and the fees to the point where it isn't usable as currency anymore. $5 or $6 is low ball, the fee is now around $20 average. This is $20 to send from an exchange to your address, then if you need to send it somewhere else, another $20. Sure you can send less of a fee, but that means it may never go through, and with over 150,0000 backlogged transactions, if you want it to go through quickly, forget about it.
But to answer your question "could you point out the lines that request KYC?" First off Know Your Customer should just be KYS, know your slave, because it isn't to track "criminal" activity. A criminal is someone who uses force to steal value or to control someone. People trading with each other in any currency are not doing this... the criminals are the ones demanding a percentage of each trade, the criminals are the government gangs. They didn't implement KYS to help anyone, they did it so they can continue to rob everyone blind. And no, there is nothing in the code that tracks bitcoin addresses for the masters, there is no need, as the coins have addresses, they just need to know who owns them. The FBI has actually hired BitFury to help track down people trying to trade freely "97 sources were used including Twitter, etc" https://www.trustnodes.com/2018/01/09/bitfury-de-anonymises-millions-bitcoin-transactions-addresses
Looking as line 1831, what variables does the Witness var encapsulate? From what I understand of SegWit, that is the segregation of certain header info into a separate database off chain.
The witness data is still kept in the blocks right on the chain, only like I explained it is kept in an extended part of the transaction that non-segwit can't see because the number of transaction inputs is zero according to non-segwit nodes. If you look at the current segwit protocol, you can see they added a "flag" field to the transaction. It says "If present, always 0001, and indicates the presence of witness data". To non-segwit nodes this byte is the tx_in count var_int... when it sees the first byte 00, it thinks there are no transaction inputs and rejects the transaction. What blows my mind is the complete lack of response from Ivan on these issues that I have presented.. the silence is deafening! Unless you are Ivan using a different account?
I'm not Ivan. I started studying this field only last spring and am almost retirement age. For the past 22-23 years I was writing astrology software using my background in astronomy. I first learned to program in Basic in 1977 in high school around the 10th grade but didn't start writing until I was in my mid-late 30's. I first got into bitcoin about 1 year ago and then started following Andreas Antonopoulos.
I was not formally trained as a programmer in college like many people.
You do need to look at the code because it will tell you how KYC info is being passed. LN is online now and transaction fees are now almost zero, not the $20 that you suggest.
The exchanges are of course centralized but you don't have to use exchanges at all. You can just use a hardware wallet and accept payment for services. You can also run your own lightning node now and be one of the pioneers in decentralized trading. Coinbase and others like it have always been banks and Andreas Antonopoulos explains you should steer clear of holding coins on an exchange.
If you have your own hardware wallet, you've become your own bank.
Do you need Bitcoin to get on the LN? When you transfer Bitcoin to your address, how much does it cost? $20. Yes, once on the LN you can trade without fees, but ultimately for anyone to cash out they have to go back to Bitcoin, and get zapped with another $20 charge as a fee to send to your address, as sending just means putting your transaction in the blockchain, and that is not free.
You must be using an exchange or non segwit address. This is what I'm seeing with my hardware wallet using various confirmation speed settings...
I'm seeing fees between $3.84 and $0.12 depending upon how fast I want confirmation. BTW, it's exchanges like Coinbase that wanted SegWit2X which failed. They were accused of spamming the network with transactions to keep tx fees high.
It's Sunday afternoon so maybe the fees are lower than midweek...
The other question I have is how does SegWit help authority track transactions?
By keeping blocks small, making transactions cost more, making people do less transactions on the actual blockchain; the less transactions that occur on the blockchain, the less difficult it is to keep track of who is doing the transaction... sheer quantity goes down. If you only have one receiving Bitcoin address, and you get that at Coinbase, that address is tracked. Anything you do on the LN from that point on can also be tracked, as LN keeps track of your original payment address.
You don't have to use centralized exchanges though. Coinbase and many other exchanges violate the decentralization principles of Satoshi Nakamoto.
If all transactions go through 1 address on a LN node, then how do you differentiate identities using the same address? If the address that it eventually ends up on is on another hardware wallet, how are they passing along KYC info? I just don't see that anywhere in the code.
LN says that nodes can only see jumps from the previous node to the next node and don't know if it is the origin or destination unless they send or open and realize they are the recipient.
Lastly, as an engineer, there still is the legitimate problem of block size increases introducing latency. How can this be solved without centralizing mining?
That's cute how people call themselves an "engineer" or a "doctor" or a "programmer". It really doesn't mean anything, just ask the question... would the question be any different if you were a plumber?
As I posted above, Peter Rizon and Andrew Stone of Bitcoin Unlimited completed 1GB scaling block tests back in November. This could be one short term solution, and it doesn't result in centralized mining, that is a myth:
I would hope that your explanation would be in layman's terms if I was a plumber. It's just my way of saying "go ahead and be technical".
How much compression can you get on a 1 GB block? Then compress, send and decompress on the other nodes would take some time. The question is how much time? In the time that one miner has solved the nonce and the block propagates, that miner has a head start. If that head start time is only a few seconds of a 10 minutes block session, then that's relatively low latency and mining centralization shouldn't happen, but if it takes up a significant percentage of that 10 minute session, centralization occurs.
At this point 1 GB blocks locks me out of maintaining my own full node unless compression is significant.
However, 1 GB blocks (as Andreas has talked about) would allow about 5 tx's a month per person assuming about 3 billion people on the planet are using bitcoin. Maybe streaming money is not something that Bitcoin Cash people are interested in, but to do streaming money, you're looking at petabyte blocks. Maybe that can be solved later down the road.
This is obvious dishonest propaganda against Bitcoin, I'm only biting because I was asked to by an acquaintance.
Can you point out what are the flaws you found in SegWit after going through the code?
Pieter Wuille is a brilliant developer, and you can only dream to ever contribute to Bitcoin as much as he did.
I'll simply ignore the conspiracy theories regarding Bilderberg etc.
Lightning is spelled thus, without an e.
It has never been claimed that SegWit is necessary for Lightning Network, only that it makes it much easier and simpler. It is unlikely to see LN deployed without a malleability fix.
The problem with malleability is that you can be confused about whether a transaction went through or not. This makes advanced applications like LN harder.
SegWit moves the signature data, not removes it. It might be arguable that the exact details are somewhat hacky, due to the desire to implement it as a soft fork. But it is still Bitcoin, just with a protocol upgrade.
Miners must conform to the new protocol rules including SegWit, otherwise their blocks will be invalid and they will not get any revenue. They can of course choose to handicap themselves and choose to exclude SegWit transactions, but they will just give up on their fees - other miners will happily pick that up.
The Lightning Network can work as a p2p mesh, just like ordinary Bitcoin can. It can also work with hubs, but since it is trustless and starting a hub is easy, that is also fine. Unlike traditional banks and hosted wallets, funds locked in a channel are still under your control.
The bogus article with a mathematical "proof" against LN has been debunked, see https://medium.com/@murchandamus/i-have-just-read-jonald-fyookballs-article-https-medium-com-jonaldfyookball-mathematical-fd112d13737a.