Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Telarra
Oct 9, 2012

Proof of work does not provide security. It provides authority. It just answers the question "who gets to decide what valid transactions go into the next block" (and the answer is "whoever wins this computational lottery"). Checking if transactions are valid has nothing to do with proof of work, and is 100% tried-and-true crypto techniques.

Adbot
ADBOT LOVES YOU

ilmucche
Mar 16, 2016

What did you say the strategy was?
So what checks if transactions are valid? How does the blockchain reject a transaction of x bitcoin from a to b if a doesn't have enough, or b doesn't actually exist? What ensures that whoever wins the computational lottery hasn't made a fake trasnaction that sends half of bitfinex's coins to them?

Telarra
Oct 9, 2012

Every user of the blockchain can see all of the transactions. Public key crypto is used to determine if the person who broadcast a transaction to the miners is the one who owns the payee wallet. Looking over the whole blockchain to count up how much money is tied to a wallet is how overspends are detected. And winning the lottery means nothing if there are invalid transactions in the block, because everyone will ignore it in favor the first fully valid block to win a spin on the lottery.

Telarra
Oct 9, 2012

Basically it just all boils down to the rules being enforced by everyone agreeing to follow them. It's a little more resiliant than it sounds because if there's a defector it doesn't break the blockchain, the defectors just end up playing with their own version of that blockchain that no one but them cares about. You can see this in practice with the multiple times Bitcoin has had major forks, or the Ethereum/Ethereum Classic fork.

A few years back, the Bitcoin community decided to change the rules and make the blocksize bigger, to handle more transactions. The largest mining groups, however, did not follow along with the rule change. Ultimately, the community decided to abandon the new version of Bitcoin so they would still be working with the miners.

And when there was a big theft in Ethereum of one of the dev's wallets through a bug in their smart contract, they decided to reverse it by ignoring the previous blocks until before the theft. Not all of the community followed them on this, and the original blockchain was renamed Ethereum Classic, and continues to have people using it.

I would blow Dane Cook
Dec 26, 2008

Risc1911
Mar 1, 2016

Become the new king of cryptocurrency! Bitcoin Farm is a clicker game where you will aim to undermine a maximum of Bitcoins! To get there you will first mine Bitcoins with your mouse, then later buy graphics cards or asic miner to mine without doing anything!

http://store.steampowered.com/app/760930/Bitcoin_Farm/

TACD
Oct 27, 2000

Risc1911 posted:

Become the new king of cryptocurrency! Bitcoin Farm is a clicker game where you will aim to undermine a maximum of Bitcoins! To get there you will first mine Bitcoins with your mouse, then later buy graphics cards or asic miner to mine without doing anything!

http://store.steampowered.com/app/760930/Bitcoin_Farm/
I’m going to be very disappointed if this doesn’t have mining malware hidden inside it.

ilmucche
Mar 16, 2016

What did you say the strategy was?

TACD posted:

I’m going to be very disappointed if this doesn’t have mining malware hidden inside it.

"Develop a mining program and convince users to pay you to use it!"

Spatial
Nov 15, 2007

Moddington posted:

big theft in Ethereum of one of the dev's wallets through a bug in their smart contract
Um

I think you mean a big windfall bestowed by the steadfast iron will of unstoppable code

zedprime
Jun 9, 2007

yospos

ilmucche posted:

So what checks if transactions are valid? How does the blockchain reject a transaction of x bitcoin from a to b if a doesn't have enough, or b doesn't actually exist? What ensures that whoever wins the computational lottery hasn't made a fake trasnaction that sends half of bitfinex's coins to them?
A block is a collection of transactions and a nonsense input that hashes to a valid number. This is just a proof of work game made by making the nonsense arbitrarily hard to guess by asking for hashes that look a certain way.

Transaction validity is sort of separate. A valid transaction is the output of a cryptographic function. This is the actual crypto part and you can only get a valid output when you know the private key of the source wallet.

You can redefine what a valid output is by changing what that crypto function is. This would then be a fork because you only gonna get consensus from people who agree on the crypto function used to define a transaction.

Hedenius
Aug 23, 2007

RabbitWizard posted:

Ha, found an old picture while looking for something on my computer:

Remember when MtGox didn't pay out anymore? There were threats and everything to go there and get their money back!

The result was this:


ymgve
Jan 2, 2004


:dukedog:
Offensive Clock

comedyblissoption posted:

Basic cryptography explanation:

A cryptographic hash algorithm exists that can take some text and easily generate a "hash" which is a bunch of seemingly random characters out of the text. The cryptographic hash algorithm is designed such that you cannot easily determine the original text if you have the hash. The only practical way to retrieve the original text is to either:
  • already know the original text
  • guess a bunch of different possibilities at extreme or impossible expense
  • figure out some unforeseen exploit of the algorithm that makes it easier to figure out the original text

The cryptographic hash algorithm and original text can be tuned to control the difficulty of brute-forcing the hash back to the original word.

An example of this:
I can put the thread title text of:
code:
Bitcoin is at $6000. Nice,but, have you ever heard about my rear end?!
into the SHA512 hashing algorithm at https://passwordsgenerator.net/sha512-hash-generator/.

The hash of the text is:
code:
ED4E792A5A6FA47523E9AAE8EC6A2F5080059A59EEFB100D3102C15C5F9F7E389DCF7397A06B60AAB85BAFD5E791138303E096B2BCEE14DE63A2D45AFA6DC521
With that hash, your only choice to figure out the original text without knowing it is to try to guess at a bunch of different permutations of text. The difficulty is going to outlast the heat death of the universe though until we have quantum computers or some exploit of the SHA-512 algorithm.

This isn't how the Bitcoin proof-of-work is done however.

It's basically: you start with a text like "I am bitcoin block aaaaa, the previous block was bbbbb, and the transactions in this block has signature ccccc. Also, 0."

Then you do SHA256 on this text, and see if the resulting hash starts with "000000...." where the number of 0's at the start varies dynamically by difficulty. In this case, it totally fails as the SHA256 hash is "e97379f34431e23e435d3b195e8dcfa50df7b74179270399e82298e377f147db". So you try again and increase the number at the end (nonce).

"I am bitcoin block aaaaa, the previous block was bbbbb, and the transactions in this block has signature ccccc. Also, 1." - nope, the hash here is "7e48ca29140ecb109a3089a8448cd0fd05b35f9b099188c59b6ac8671ad274e4".

Then you continue increasing the number at the end, and finally.
"I am bitcoin block aaaaa, the previous block was bbbbb, and the transactions in this block has signature ccccc. Also, 11182491." - hash is "0000004d062540d54eeb82b3e13b52ad1822a01f61a1c6a16697ff45b01cca4b" - wow, six zeroes! That's enough to meet this arbitrary example's target! Now you send the block into the network and you "win", and the whole network moves on to hashing the next block.

It has nothing to do with "reversing" hashing, you always know the plaintext, you are only interested in finding SHA256 hashes which fit a specific format.

(Yes, this isn't the exact process, but close enough for example work)

a cyberpunk goose
May 21, 2007

Bitcoins proof of work slows the ledgers iterations down enough for a global network of machines to have time to reach consensus, it’s main job is slowing things down so everyone can agree

The work algo is just a difficulty parameter that asks workers to crunch till they find an unlikely outcome that aligns with the goals of the proof of Work system (slowing everyone down by consensus about how hard the work should be when things speed up, vice versa when things slow down)—for vanilla bitcoin it is a specific hash algo and the parameter is leading zeros.

Bitcoin has nothing to do with innovations in actual the cryptography field itself, except to give a ton of incentive for cryptography math wizards to learn, laugh, cry

a cyberpunk goose
May 21, 2007

Anyone saying bitcoin has changed cryptography has absolutely no idea about any of this stuff, which I don’t blame anyone for because journalism is horrible and tech journalism is especially horrible. How do you get good SNR in a world that is incentivized to generate N?

Powershift
Nov 23, 2009


a cyberpunk goose posted:

Anyone saying bitcoin has changed cryptography has absolutely no idea about any of this stuff, which I don’t blame anyone for because journalism is horrible and tech journalism is especially horrible. How do you get good SNR in a world that is incentivized to generate N?

It has changed crypto. Now anyone who does anything relating to cryptography has to keep their mouth shut about it or they'll be assumed to be one of those idiot bitcoiners.

a cyberpunk goose
May 21, 2007

Powershift posted:

It has changed crypto. Now anyone who does anything relating to cryptography has to keep their mouth shut about it or they'll be assumed to be one of those idiot bitcoiners.

Crypto.... has changed....

Enchanted Hat
Aug 18, 2013

Defeated in Diplomacy under suspicious circumstances

Powershift posted:

It has changed crypto. Now anyone who does anything relating to cryptography has to keep their mouth shut about it or they'll be assumed to be one of those idiot bitcoiners.

Once my bitcoin hit $100,000,000, I'm going to open the Alan Turing Bitcoin Museum just to irritate people.

InternetJunky
May 25, 2002

I have another technical question about how bitcoin works. Apologies for asking this.

Suppose I bought a bitcoin in 2009. This means somewhere very early in the blockchain will be some record of my private wallet xyz getting 1 BTC transferred to it from the wallet I bought the coin from, correct? Since then there's been more than 100GB of transactions added to the blockchain. Suppose I now go to spend that BTC, so another transaction is generated "wallet xyz transfers 1 BTC to some other wallet". How does the verification that my wallet actually has 1 BTC occur? Do the miners have to trawl through 100+GB of transactions until they find my old transaction from 2009? Is there a data structure to the blockchain that helps this? Indexes?

klafbang
Nov 18, 2009
Clapping Larry

a cyberpunk goose posted:

Bitcoins proof of work slows the ledgers iterations down enough for a global network of machines to have time to reach consensus, it’s main job is slowing things down so everyone can agree

While you're right this has nothing to do with cryptography, the italicized part is very incorrect. It's there to solve the Byzantine generals problem: it's to reach consensus even in the case of dishonest players. You don't need wall-clock time for events to propagate in a trusted or structured distributed environment (see Lamport timestamps or vector clocks for two relatively simple way to achieve (eventual) distributed concensus).

If we only relied on cryptography to sign transactions, I could double-spend. If I send 10000 butts to A in exchange for a pizza, and later the butt goes to the moon and I regret, without proof of work (or trust in a third party), there's nothing preventing me from making my own copy of the blockchain without that transaction. I just need to make it 1 block longer than the currently longest chain and start disseminating it on the network. The protocol would mean the network takes over my new longer chain where I still own 10000 butts I can trade on Magic the Gatering Online Exchange.

With proof of work, I can in principle try this, but I would (probabilistically) never succeed. If I own, say, 1/1000 of the hashing power of the network, I would have 1 in 1000 chances for mining a block before the rest of the network. Not great odds, but enough that it would happen daily because there are so many merchants accepting my currency of the future. If my transaction is 6 blocks behind the head of the network, I would need to be so lucky 6 times in a row. Now I only have (1/1000)^6 chance of cheating the network; that's one in 10^18. If A, therefore, waits until they have seen 6 new blocks mined after my transaction before handing me my pizza sandwich with pineapple, they can be very certain I cannot take back my money.

This is still entirely unnecessary if we just have an independent third party who never lies about whether butts have been used before (or distributed consensus protocol), but in bitcoinland nobody trusts anybody and everybody is happier for it.

Comfy Fleece Sweater
Apr 2, 2013

You see, but you do not observe.

If you idiots are so smart, how come you didn’t invent bitcoin? Hmm? Armchair cryptographers, you don’t even understand the potential of the Blockchain lol

klafbang
Nov 18, 2009
Clapping Larry

InternetJunky posted:

Suppose I bought a bitcoin in 2009. This means somewhere very early in the blockchain will be some record of my private wallet xyz getting 1 BTC transferred to it from the wallet I bought the coin from, correct? Since then there's been more than 100GB of transactions added to the blockchain. Suppose I now go to spend that BTC, so another transaction is generated "wallet xyz transfers 1 BTC to some other wallet". How does the verification that my wallet actually has 1 BTC occur? Do the miners have to trawl through 100+GB of transactions until they find my old transaction from 2009? Is there a data structure to the blockchain that helps this? Indexes?

You do not have a wallet containing bitcoins. You have a wallet which contains an index of unpent transactions.

So the butts you receive in 2009 are listed as an unspent transaction with a particular transaction id, say A transfers 1 butt to B with id1. In 2018 you then decide to spend half of that butt. You then make a new transaction stating that id2: "From id1, B sends 1/2 butt to C and B sends 1/2 butt to B." This marks the original transaction as spent and replaces it by one new transaction. C can now create a transaction stating id3: "From id2, C sends 1/4 butt to D, C sends 1/4 butt to C" to spend one-quarter of a butt. If A makes a transaction id4: "From id2, A sends 1/4 butt to D, A sends 1/4 butt to A," D can now spend half a butt at E by id5: "From id3, D sends 1/4 butt to E, from id4, D sends 1/4 butt to E."

You do in principle have to scan the entire blockchain each time, but you can do a couple of tricks. Your wallet keeps track of all "your" transactions and presents them as a balance. You can in principle have multiple butt-addresses in your wallet (that's in fact recommended by some butters), and it will abstract all of this away. That way, it does not have to scan the entire blockchain each time.

A miner can build an index of all unspent transactions so it doesn't have to scan the entire blockchain each time, or they can batch transactions and just scan the blockchain once for all approximately 2500 transactions that fit in a bitcoin block.

This is all a bit simplified; there's not really a notion of senders and recipients in transactions, but rather challenges and responses (bitcoin essentially has smart contracts). Also, you don't just refer to transactions, but really to outputs of transactions. We already saw that transactions id2 and id3 sent butts to multiple recipients. Each recipient is an output and can be spent independently. You also really pool all the butts in all the outputs you spend (transaction inputs) and can send that to any number of outputs; typically you would not spend everything, which is left open for the miner to claim as mining fee for the hassle of checking your transaction.

Comfy Fleece Sweater
Apr 2, 2013

You see, but you do not observe.

When I hodl, price goes up. You can’t explain that!

gary oldmans diary
Sep 26, 2005
this bitcoin claim again

InternetJunky
May 25, 2002

klafbang posted:

You do not have a wallet containing bitcoins. You have a wallet which contains an index of unpent transactions.

So the butts you receive in 2009 are listed as an unspent transaction with a particular transaction id, say A transfers 1 butt to B with id1. In 2018 you then decide to spend half of that butt. You then make a new transaction stating that id2: "From id1, B sends 1/2 butt to C and B sends 1/2 butt to B." This marks the original transaction as spent and replaces it by one new transaction. C can now create a transaction stating id3: "From id2, C sends 1/4 butt to D, C sends 1/4 butt to C" to spend one-quarter of a butt. If A makes a transaction id4: "From id2, A sends 1/4 butt to D, A sends 1/4 butt to A," D can now spend half a butt at E by id5: "From id3, D sends 1/4 butt to E, from id4, D sends 1/4 butt to E."

You do in principle have to scan the entire blockchain each time, but you can do a couple of tricks. Your wallet keeps track of all "your" transactions and presents them as a balance. You can in principle have multiple butt-addresses in your wallet (that's in fact recommended by some butters), and it will abstract all of this away. That way, it does not have to scan the entire blockchain each time.

A miner can build an index of all unspent transactions so it doesn't have to scan the entire blockchain each time, or they can batch transactions and just scan the blockchain once for all approximately 2500 transactions that fit in a bitcoin block.

This is all a bit simplified; there's not really a notion of senders and recipients in transactions, but rather challenges and responses (bitcoin essentially has smart contracts). Also, you don't just refer to transactions, but really to outputs of transactions. We already saw that transactions id2 and id3 sent butts to multiple recipients. Each recipient is an output and can be spent independently. You also really pool all the butts in all the outputs you spend (transaction inputs) and can send that to any number of outputs; typically you would not spend everything, which is left open for the miner to claim as mining fee for the hassle of checking your transaction.
Ok, thanks for the response. The whole thing sounds like an insane solution for any type of currency that is expected to be used wide-scale.

klafbang
Nov 18, 2009
Clapping Larry

InternetJunky posted:

Ok, thanks for the response. The whole thing sounds like an insane solution for any type of currency that is expected to be used wide-scale.

It's not too bad really. It's a bunch of underlying stuff people don't have to worry about, and not just because nobody will ever use it in practice. Interbanking systems are also super-complicated and as a user of bank accounts or credit cards you don't really have to worry about it.

Banking systems also used to do reconciliation of transactions every night, and even today, most bank-to-bank transfers only show up in the receiving bank the day after.

Bitcoin just has to reinvent the wheel (probably in the stupidest way possible) to stop the underlying complexity from bleeding thru. A wallet already helps, except for the whole "have to set a mining fee" and "have to wait for confirmations."

The insane parts are more the "one blockchain for everything" and "mining" aspects.

klafbang
Nov 18, 2009
Clapping Larry

gary oldmans diary posted:

this bitcoin claim again

The bitcoin claim is "solves the unsolved Byzantine generals problem." My claim is "solved the Byzantine generals problem in a particular case."

Proof-of-work does solve the problem (of attaining consensus in a network with unreliable communication channels), but the problem has already been solved in many other instances, and in less retarded ways.

Elias_Maluco
Aug 23, 2007
I need to sleep
Can someone explain to me how bitcoiin (bitcoin 2nd generation) is supposed to be better than regular bitcoins? Ive tried reading the website and couldnt make much sense of it

The Duchess Smackarse
May 8, 2012

by Lowtax
My rear end is suffering from Byzantine failures

InternetJunky
May 25, 2002

Better sell off folks

https://www.reddit.com/r/IAmA/comments/80ow6w/im_bill_gates_cochair_of_the_bill_melinda_gates/

quote:

[–]thisisbillgates
[S] 687 points 27 minutes ago
The main feature of crypto currencies is their anonymity. I don't think this is a good thing. The Governments ability to find money laundering and tax evasion and terrorist funding is a good thing. Right now crypto currencies are used for buying fentanyl and other drugs so it is a rare technology that has caused deaths in a fairly direct way. I think the speculative wave around ICOs and crypto currencies is super risky for those who go long.

junan_paalla
Dec 29, 2009

Seriously, do drugs
Clearly Bill Gates just doesn't understand crypto.

Twinty Zuleps
May 10, 2008

by R. Guyovich
Lipstick Apathy

junan_paalla posted:

Clearly Bill Gates just doesn't understand crypto.

I wouldn't expect a man that read the entire encyclopedia Brittanica at age 12 according to his mother to have any room left in his head for new, useful knowledge.

Sten Freak
Sep 10, 2008

Despite all of these shortcomings, the Sten still has a long track record of shooting people right in the face.
College Slice

Breathtaking.

I wonder how much electricity that wall of cards (or whatever the hell they are) is using a day.

YerDa Zabam
Aug 13, 2016



Sten Freak posted:

Breathtaking.

I wonder how much electricity that wall of cards (or whatever the hell they are) is using a day.

Look like ASICs. About 5 grand each. gently caress knows how much electric they consume.
I've heard a couple of them, and that guy should really have ear protection on. I can't imagine how loud hat wall of lol is

an actual frog
Mar 1, 2007


HEH, HEH, HEH!

Sten Freak posted:

Breathtaking.

I wonder how much electricity that wall of cards (or whatever the hell they are) is using a day.

So, these look like they might be Antminer bitcoin rigs. Their newest and most efficient, the S9, consumes 1375W. Assuming they are indeed S9s:
10 S9s per group
24 groups per bundle of ethernet cables
At least 18 ethernet bundles

4,320 miners consuming around 5,940,000W in total. Maybe

pap smear
Jan 21, 2018

by FactsAreUseless

I'm laughing at all of the clueless replies to that comment telling him how wrong he is, despite how he's actually 100% right and has a reasonable and informed opinion. I guess it's better if people don't realize bitcoin's value is entirely propped up by it's usage to buy internet drugs :shrug:

Devian666
Aug 20, 2008

Take some advice Chris.

Fun Shoe

Adolf Glitter posted:

Look like ASICs. About 5 grand each. gently caress knows how much electric they consume.
I've heard a couple of them, and that guy should really have ear protection on. I can't imagine how loud hat wall of lol is

He does have hearing protection on; he's pulled his beanie over his ears. Similar to Chinese welding protection where I've seen people use cling film to protect themselves from the UV light.

Darth TNT
Sep 20, 2013

Alan Smithee posted:

Then why couldn't bitcoin stop North Korean nukes

This makes me think that putting all the world's nukes on the blockchain would be a great idea. In order to launch with everyone has to agree and By the time the "transaction" goes through people will have hopefully calmed down and issued a "refund"....oh

Twinty Zuleps
May 10, 2008

by R. Guyovich
Lipstick Apathy

an actual frog posted:

So, these look like they might be Antminer bitcoin rigs. Their newest and most efficient, the S9, consumes 1375W. Assuming they are indeed S9s:
10 S9s per group
24 groups per bundle of ethernet cables
At least 18 ethernet bundles

4,320 miners consuming around 5,940,000W in total. Maybe

That's probably not the only wall of miners under that roof.

Fur20
Nov 14, 2007

すご▞い!
君は働か░い
フ▙▓ズなんだね!

Darth TNT posted:

This makes me think that putting all the world's nukes on the blockchain would be a great idea. In order to launch with everyone has to agree and By the time the "transaction" goes through people will have hopefully calmed down and issued a "refund"....oh

i can't wait for nuclear disarmament to make nukecoin completely worthless :unsmigghh:

Adbot
ADBOT LOVES YOU

COMRADES
Apr 3, 2017

by LITERALLY AN ADMIN

I hate this poo poo so bad. It directly represents stupid capital directing resources towards useless fake poo poo to make number go up.

And it helps enable child porn I know I sound like a bit of a broken record but I just kind of want to keep rubbing that in crypto people's faces.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply