Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Bitcoin Programming The Almighty Buck

Btcd - a Bitcoind Alternative Written In Go! 150

An anonymous reader writes "The folks at Conformal have announced btcd, an alternative full-node implementation to bitcoind, written in Go! They have released the first of their core packages, btcwire, available for download at GitHub. As a bitcoin user myself, I love the idea of a full alternative. It will only make bitcoin stronger and more independent. This will be great for the Go community, too!"
This discussion has been archived. No new comments can be posted.

Btcd - a Bitcoind Alternative Written In Go!

Comments Filter:
  • by vikingpower ( 768921 ) on Thursday May 09, 2013 @02:36AM (#43672715) Homepage Journal
    ...in world full of banking problems, banking crises and eroding trust in fiduciary money. Way to go !
    • by Joce640k ( 829181 ) on Thursday May 09, 2013 @02:41AM (#43672725) Homepage

      Yep. What the world really needs right now is a new currency whose value fluctuates like a share price.

      (Because it's based on the same premise - that it's only worth what people are willing to pay for it).

      • Re: (Score:1, Interesting)

        by Linsaran ( 728833 )
        Cash is only worth what people are willing to trade for it, I fail to see how Bitcoin is inherently any different.
        • by Anonymous Coward on Thursday May 09, 2013 @03:12AM (#43672817)

          While technically true, have you seen any major currency fluctuate over >1000% within a month lately? Ignoring what actually happens in real life does not help your argument.

          • You're extrapolating from a month in which the entire worlds media decided on saturation coverage for Bitcoin, simultaneously. Go back and look at the prices throughout 2012 and you'll see long periods of stability.

            • by AuMatar ( 183847 ) on Thursday May 09, 2013 @09:36AM (#43674671)

              No, you don't. Look at the dollar or the pound. You see multi-decade stability (the last major blip with the dollar was disinflation in the 80s) , with a roughly constant rate of devaluation. That's what you want to see in a currency. Not a few months of relative stability with massive swings on either side. To even make the claim of stability because it had periods of it for parts of 1 year is a complete joke.

          • by pla ( 258480 ) on Thursday May 09, 2013 @05:56AM (#43673291) Journal
            have you seen any major currency fluctuate over >1000% within a month lately? Ignoring what actually happens in real life does not help your argument.

            Bitcoin has not fluctuated anywhere near 1000% in the past month. At most you could say 530%, comparing the low of 50 on April 16 to the high of 266 on April 10th. And excluding that bubble-and-pop (which very much still happens in USD-denominated assets), the exchange rate has remained relatively stable in the 90-120 range.

            However, even in making that 530% point, you've overlooked the opposite side of the coin - Bitcoin has whatever value people will pay for it, as does the US dollar. If people will pay $266 US dollars for one Bitcoin, not only has Bitcoin shot up in relative value, but the US dollar has shot down at the same time.

            Only the size of the USD vs BTC economies hides that fact. But when people will pay $266 for what most of the haters call a scam currency, that doesn't reflect well on the overall confidence in what they've traded for that "scam" currency.
            • by Anonymous Coward

              If people will pay $266 US dollars for one Bitcoin, not only has Bitcoin shot up in relative value, but the US dollar has shot down at the same time.

              That explains why a loaf of bread suddenly jumped 530% up in price in April - Bitcoin shot up and dollar shot down! I'm sorry, but does anyone (outside of BTC community) value dollar relative to Bitcoin?

              Pretty sure dollar's value depends on many things - oil, inflation, banks, bread, stocks, tanks and everything, but MtGOX is far from being one of those.

              Kinda like "It's not me drunk and fallen, it's the floor suddenly standing up!"

            • I can't pay my taxes in BTC and even with that "relatively stable" 90-120 range you're still talking about a 30% fluctuation, which is both unpredictable and dangerous for people who are trying to use it for normal currency stuff.

              As for overall confidence, there's a sucker born every minute, as long as there are suckers having confidence in it, it will remain, until such a time as it becomes so mind blowingly obvious that even the most idiotic supporter can't deny it.

              In the long term it will deflate out of

              • by pla ( 258480 ) on Thursday May 09, 2013 @08:50AM (#43674245) Journal
                I can't pay my taxes in BTC

                You can't pay your (US) taxes in Euros, either. Does that say anything about the legitimacy of the Euro? Though in fairness, if you wanted to consider that particular example one of a failing currency, I'd have a hard time disagreeing. ;)


                As for overall confidence, there's a sucker born every minute, as long as there are suckers having confidence in it, it will remain, until such a time as it becomes so mind blowingly obvious that even the most idiotic supporter can't deny it.

                I literally cannot think of a better argument against fiat currency. "Here, suckers, work for 40 years to collect enough of these papers we prooooomise will still hold (30% of) their value when you retire, and when they don't, hey, at least you'll have <snicker> Social Security to fall back on". And for the record, it actually comes out to more like eight suckers born every minute (in the US alone). That doesn't necessarily make BTC any better - But as with my point about the Euro, any argument against something you dislike that applies equally well to something you like, doesn't really have much persuasive power.


                even with that "relatively stable" 90-120 range you're still talking about a 30% fluctuation, which is both unpredictable and dangerous for people who are trying to use it for normal currency stuff.

                Barnes & Noble has a market cap of 1.3B - Roughly the same as Bitcoin. It shot up, yesterday alone, by 30% (well, 26%, anyway). Most people, even its own investors, expect it to go the way of Borders within a year or two.

                Barnes & Noble stock, however, does not count as a currency. So take that as you will.


                In the long term it will deflate out of existence, I just hope that there are some criminal prosecutions for the folks that are boosting the currency for personal gain.

                I merely disagreed with you up to that statement. But that? Why? Why would you hope for criminal prosecutions over something you have gone so far to minimize as little more than a fad? Do you wish the same for collectors of Beanie Babies and Hummels, or do you reserve your bitterness for collectors of failed foreign currencies?
                • by Anonymous Coward

                  Oh not this claptrap again.

                  You can't pay your (US) taxes in Euros, either. Does that say anything about the legitimacy of the Euro?

                  You cannot pay your taxces in Euros because they are not a legal tender in the United States. They ARE legal tender in the European Union and as such any citizen on a member state CAN, in fact, use Euros to pay their taxes. No suich country exists for Bitcoin. Try again.

                  But as with my point about the Euro, any argument against something you dislike that applies equally well to s

                  • by pla ( 258480 )
                    No suich country exists for Bitcoin. Try again.

                    Which, as an American, matters why to me compared to the Euro? Free clue: I don't hold securities denominated in GBP and RMB so I can pay taxes in England and China.


                    Its persuasive power depends on the reader sharing said misunderstandings.

                    Or - given that I didn't make a persuasive argument, I rebutted one - having basic reading comprehension skills.


                    If you understand how commodities work, you should take THAT to mean the only rational action is to s
                • As anonymous said, there's reason to believe that there's active pump and dump activity going on. And there should be at least an investigation to determine the facts.

                  B&N stock is not a currency, it's an ownership stake in the business and has risks inherent in doing so. But, B&N also produces things that people value and is regulated, whereas BTC provides no added value and is completely unregulated.

                  As for your fiat currency argument there, bottom line is that it's predictable and relatively slow t

            • by dj245 ( 732906 )

              Bitcoin has not fluctuated anywhere near 1000% in the past month. At most you could say 530%, comparing the low of 50 on April 16 to the high of 266 on April 10th. And excluding that bubble-and-pop (which very much still happens in USD-denominated assets), the exchange rate has remained relatively stable in the 90-120 range.

              There are only a handful of legitimate industries that have a profit margin higher than 10%. Notably real estate, lawyers, healthcare, and defense contractors. If a grocery store had a currency fluctuation of 20% in one month, they would probably be ruined, since they typically run on margins of 1-5%. Price stability is a good thing. Price stability means you know basically what something costs today, and tommorow, and the next day. If you don't know what something costs, how do you conduct transactions

          • by gman003 ( 1693318 ) on Thursday May 09, 2013 @08:35AM (#43674117)

            At least it only fluctuates. When a major currency *does* change value by that much, that fast, it's always been part of an inflationary spiral - the value goes down, and never comes back up.

            And I think it's a bit unfair to judge Bitcoin against major currencies just yet. Even the most ardent supporters of Bitcoin don't claim it's on par with the Euro or Dollar. It's perhaps on par with certain small countries' currencies - and yes, those experience changes in value relative to other currencies as well, even when "pegged" to a larger currency. Not quite to the degree of the Bitcoin Bubble, but that was a pretty rare circumstance.

            PS: How are you figuring that 1000% figure? It peaked almost exactly a month ago at 235$/BTC, crashed at its lowest to 25$/BTC, and currently seems fairly stable around 120$/BTC. I can't see a sane way to get 1000% out of those numbers.

            • by Anonymous Coward

              How are you figuring that 1000% figure? It peaked almost exactly a month ago at 235$/BTC, crashed at its lowest to 25$/BTC

              (235/25)*100%?

        • by dbIII ( 701233 ) on Thursday May 09, 2013 @04:12AM (#43672989)
          Which makes you a target for such scams :(
          Schools used to have subjects called things like "social studies", "civics" or something similar to try to give kids a rudimentary bullshit detector to protect against bent politicians, naturopaths and pyramid schemes. Whatever happened to those?
          • Sigh.

            Yet again it is not a pyramid scheme.

            Under some operating modes, it shared some similarities, but it does not share others. If the amount of money circulating round the system is much greater than the total amount of money in the system, then the "sucker" left at the end holding the bag will not loose out nearly to the same extent that you are making out my claiming it is a pyramid scheme.

             

            • What you're arguing there is semantics. It's got far more in common with a pyramid scheme than any other currency I've ever heard of.

              • It's got far more in common with a pyramid scheme than any other currency I've ever heard of.

                Tell me, which other pyramid schemes out there allow me to trad them for goods and services?

          • Re: (Score:2, Informative)

            by Hatta ( 162192 )

            When did you go to school? When I went to civics class it was nothing but indoctrination. I didn't hear anything about the problems with our system, just how important it was for us to vote for one of the puppets chosen for us. Somehow all our problems would be solved if we got 100% voter turnout... voting for the same damn Democrats and Republicans we get anyway.

        • by Anonymous Coward

          Bitcoin existence depends on real cash... Without real cash you won't have electricity, computers, phones, internet, etc... So, how good will a virtual currency be then? You won't be able to mine, receive or spend this or any other virtual currency...

          Bitcoin starts to seem a real pyramid scheme, where the early adopters (who cleverly invested time and real money to start mining on the good old days) are now eager for fresh cash to come in, to allow them to trade all those bitcoins to real cash again (but wi

          • by pmontra ( 738736 )
            In another age somebody would have said that banknotes are a virtual currency dependent on real gold. Well, maybe banknotes are really a pyramidal scheme with somebody at the top printing as much as they wish when it's more convenient to them and people at the bottom getting with nothing in their end if inflation kicks in too much or if somebody decides to confiscate the bits in their banking accounts.
            • Real cash still depends on gold. But now we a have a new player called bitcoins that depends not only on gold but also on cash, so... gold -> cash -> bitcoins. Without gold and\or cash bitcoins are simply useless. But not only, even with gold and cash, if there is a power grid black-out your bitcoin wallet or brainwallet is useless. Remember Katrina or sandy?
              • With real money when I take your wallet you have no way to prove it was your money. Its created this whole class of criminal called "thieves". A currency with traceable transactions eliminates that class and replaces it with smarter criminals.

                • What good are traceable transactions, if you don't know WHO made them.

                  A hashed address doesn't identify anybody, that's kind of the point of Bitcoin. You know exactly which transactions were made, but not who owns them.
              • I'm assuming this is a joke given what happened to gold prices lately.

        • You might be interested in reading the history of the foreign exchange to better understand why the Bitcoin is different. I don't think that Bitcoin is necessarily a bad thing. But it certainly is not a currency and is very different than the US dollar. We use a system of floating exchange rates now in which the US Dollar is "backed" by the British pound, the Yen, the Australian dollar and many more. this system ensures that the value of the US dollar, as well as the others mentioned are relatively stable w
        • by usuallylost ( 2468686 ) on Thursday May 09, 2013 @07:16AM (#43673625)

          Cash is only worth what people are willing to trade for it, I fail to see how Bitcoin is inherently any different.

          I do not think it is inherently different. I think the volatility comes in because Bitcoin is a tiny market compared to say the US dollar or the Euro. So transactions that wouldn't impact those larger currencies at all can have a major impact on the value of Bitcoin. Things like currency sell offs happen all the time in the world market. The major government currencies are so large that we hardly notice them. Smaller currencies, those from smaller economies and Bitcoin, get hit with things like that and it has a large impact on the value of those currencies. So people have to realize if they are dealing in Bitcoins it is a smaller more volatile market than say the one for dollars. I wouldn't be surprised if we don't, assuming we haven't already, start seeing things like currency speculators operating in the Bitcoin market. The danger will be is if those speculators find ways to artificially manipulate that market.

        • by dywolf ( 2673597 )

          Cash has stable value because because of artificial scarcity due to the fact it is controlled (ie, only creatable) by the government.
          If any was allowed to just print their own dollar bills at home cash would have the same unstable "value" as bitcoins.
          That why it's illegal and called counterfeiting.
          That's what gives fiduciary currency it's stable value.

          Bitcoin itself has artifical scarcity within itself, but the concept does not because it's not a physical tangible asset; it's software. I can make my own com

        • Its different in that its price routinely fluctuates by 50%, and has a crash every 6 months. USD fluctuates by a few percent, and has a crash every 40 or so years.

          I would call that a substantial difference, even if its only quantitative.

        • Currencies are standardized within a country, and mutually agreed upon with other countries as legitimate. Bitcoin is not standardized in that only a few banks take them, the means of bitcoin creations are dubious and favor the early adopters, etc. May as well claim that chickens are currency, at least chickens have intrinsinc value.

          The point about cash only being worth what people will trade for it is essentially political dogma. Especially telling that many bitcoin fans also subscribe to gold-standard

      • by Anonymous Coward on Thursday May 09, 2013 @03:15AM (#43672831)

        That's funny. I see it as the value of a dollar fluctuates and bitcoin is constant. I guess it's all a matter of perspective. ;)

        • by ebcdic ( 39948 ) on Thursday May 09, 2013 @03:38AM (#43672889)

          What have you bought over the last year? How has their price varied in dollars and in bitcoins? No currency's value is constant, but some are a lot more constant than others.

        • by Joce640k ( 829181 ) on Thursday May 09, 2013 @03:42AM (#43672905) Homepage

          The price of food can double in a single day and you think it's normal? Luckily your wages do the exact same thing, right?

          • by aliquis ( 678370 )

            Could happen with fruits ;)

            I guess what matters in the end is how much real world stuff you can acquire / have.

        • by gl4ss ( 559668 )

          That's funny. I see it as the value of a dollar fluctuates and bitcoin is constant. I guess it's all a matter of perspective. ;)

          well anyone who sells anything has the other perspective, even if they accept bitcoin. derpa derp.

      • Yep. What the world really needs right now is a new currency whose value fluctuates like a share price.

        No, we don't need new, volatile currency, we need proven stable currency with world-wide scope, limited supply and no central authority. Is bitcoin there yet? No, but it's best candidate. Unfortunately, no one has invented new currency with the good properties of bitcoin which would be stable from day one. I doubt it is even possible. The volatile phase and wild growth is IMO inevitable

  • Go! or Go? (Score:5, Informative)

    by c0lo ( 1497653 ) on Thursday May 09, 2013 @02:45AM (#43672739)
    TFS mixes the two: written in Go! and great for the Go community
    TFA says: it's Go [wikipedia.org] not Go! [wikipedia.org]
    • by Svippy ( 876087 )

      According to the source, it is Go, not Go!. But yes, the summary was confusing.

    • This is precisely why including punctuation marks in product names is UTTERLY FUCKING STUPID. It's right up there with naming your product something funny from today's news (*cough* The GIMP *cough*) when the joke stops being funny about ten minutes after the project goes live.
      • If the creators of Go! had called their language Go, then Google *might* have chosen another name for Go. Apparently Goo [wikipedia.org] was already taken. Maybe they could have used (their ticker symbol) Goog. Of course they might have just used Goo!.
      • You can't have a modern language unless its binary name contains shell meta characters that will forever fuck up the first version of every script that ever has to work with it.

        Much kudos to the perl, python, and ruby devs.

    • by pmontra ( 738736 )
      I wish I had a bitcoin for every go stone I played!
    • omg that's the stupidest thing I ever heard.

      and to think that Go! was first.

  • It's not a full node (Score:5, Informative)

    by Anonymous Coward on Thursday May 09, 2013 @03:53AM (#43672933)

    All they have released is a handler for the network protocol. This doesn't verify blocks, send transactions or anything else. Are the other parts closed source or do they just not exist?

    • From the end of TFA:

      Most of the code is in pretty good shape however some pieces are incomplete. Within 2 weeks we should have enough core functionality written and at that point we are going to release parts of the code to the general community.

      But I agree that there is not a lot available to play with yet.

    • by IamTheRealMike ( 537420 ) on Thursday May 09, 2013 @05:36AM (#43673229)

      A full node is a really, really large amount of work. I feel that lots of people don't realise this, get enthusiastic and think, "I love Bitcoin! I love Go! I'll write Bitcoin in Go" where for Go you can substitute basically any language that's fun or popular. Then they write the easy bits (like wire marshalling) and eventually the project dies around the time that it's time to implement the wallet or Bloom filtering or robust test suites. Possibly Conformal is different, we'll have to wait and see, but the feature set they advertised in their blog is very much what has been seen many times before. In particular there's no handling of the block chain, re-orgs, no wallet and they haven't got any infrastructure to test edge cases.

      One reason implementing Bitcoin properly is not fun is an entire class of bugs that doesn't exist in normal software - chain splitting bugs - which can be summed up as "Your software behaves how you thought it's supposed to work rather than how the original bitcoind actually does work". Bitcoin is highly unusual in that it implements group consensus - lots of nodes have to perform extremely complicated calculations and arrive at exactly the same result in lockstep, to a far far higher degree of accuracy than other network protocols. This means that you have to replicate the same set of bugs bitcoind has. Failure to do so can lead to opening up security holes via consensus failure which can in turn lead to double spending (and thus your users lose money!).

      Being compatible with the way bitcoind is written (bugs and all) may require you to break whatever abstractions you have introduced to make the code cleaner or more elegant or whatever reason you have for reimplementing Bitcoin. Here's a trivial example - signatures in Bitcoin have an additional byte that basically selects between one of a few different modes. It's actually one of three modes plus a flag. So a natural way to implement this is as an enum representing the three modes plus a boolean for the flag. But that won't work. There is a transaction in the block chain which has a sighash flag that doesn't fit any of the pre-defined values (it's zero) and because Satoshi's code uses bit testing it still works. But if you turn the flag into an enum, when you re-serialise the mode flags you'll re-serialise it wrong and arrive at an incorrect result. So you have to pass these flags around as integers and select via bit testing as well.

      Bitcoin is full of these kinds of weird edge cases. Eventually you come to realise that reimplementing it is dangerous and probably whatever benefits you thought it had, it probably doesn't. Some people believe there should be independent reimplementations anyway and I can understand and respect that, but doing it safely is an absolutely massive piece of work. You have to really, really, really believe in diversity to do it - the features of language-of-the-day aren't good enough to justify the effort.

      • by Anonymous Coward on Thursday May 09, 2013 @08:33AM (#43674099)

        Your post is extremely interesting, but the mandatory conclusion I make from it is the exact opposite of yours. If the original code is so full of idiosyncracies and gotchas then it's an extreme liability to everyone who values Bitcoin, and quite likely contains backdoors or deliberate weaknesses that are hidden by the obscurity.

        There can be no more important task for the Bitcoin community I think than to specify all elements of the static protocol and dynamic behavior of all parts, and reimplement them in other languages, especially safe languages.

        Go is certainly a good candidate for this large body of work, safe, clean, and fast.

      • Failure to do so can lead to opening up security holes via consensus failure which can in turn lead to double spending (and thus your users lose money!).

        Afaict roughtly speaking you can divide differences into two categories.

        1: you accept something that the majority implementation doesn't
        2: you fail to accept somethign that the majority implementation does.

        1 isn't so bad, the strongest blockchain rules mean that a block containing something you accept but the majority doesn't is unlikely to ever see more than one "confirmation" before it gets knocked off the blockchain by the majority implementation.

        2 is potentially worse as it means users of your implement

  • by guises ( 2423402 ) on Thursday May 09, 2013 @04:00AM (#43672965)
    As Bitcoin alternatives go, I really liked the idea behind Namecoin [bluishcoder.co.nz]. Not that it's likely to go anywhere, but it's something that puts some real backing, value, to the currency while simultaneously doing something to address the piss poor domain name allocation system that we have right now. Bitcoin is currently just floating on enthusiasm and greed, this would actually have some worth if people got behind it.
    • Isn't this just destined to go the same way as any popular movie torrent ? An initial flurry of peers and seeds, with the seeds pumping out tons of bits, 99% of peers leeching and giving nothing back, and after a couple of weeks the torrent is good as dead, because there's one seed left who's never online, and only has 99% of the movie anyway ?

      With bitcoin, I can understand the incentive, however small, of winning the lottery and actually mining a coin. With a system with is a glorified DHT for DNS addre
      • by guises ( 2423402 )
        Namecoin is supposed to function as a currency, just like Bitcoin. With the mining and everything, the same way. The difference is that Namecoins have some intrinsic value backing them up.
  • by erroneus ( 253617 ) on Thursday May 09, 2013 @05:19AM (#43673165) Homepage

    My 6 year old loves to doodle with his crayons. Lately, I've been having him draw money. So far, the good ones are really rare. So I figure they are probably worth a substantial amount of money. I'm going to start releasing them as currency soon. I'm also working out a deal with Paypal to accept them.

    • Try to sell them all before the Krayon Kash Krash.
    • My 6 year old loves to doodle with his crayons. Lately, I've been having him draw money. So far, the good ones are really rare. So I figure they are probably worth a substantial amount of money. I'm going to start releasing them as currency soon. I'm also working out a deal with Paypal to accept them.

      You're my hero today. Perhaps my growing supply of nieces and nephews can get me in early on this game.

      (I wonder if we could get seashells back on the international currency exchanges.)

      • by Anonymous Coward

        Nope. "She short-sells sea shells at the NYSE floor" just doesn't have the same ring.

  • using this software, I can set up my own BitPonzi<tm> money scheme.

    i'll make squillions, sell it all to buy gold, and then go retire in some libertarian utopia like Somalia, where wealth rules and i can even own other people if i want without evil socialist rules against perfectly legitimate sales contracts.

  • Please: observe that "Go!" and "Go" are two quite different programming languages.
    The client appears to be written in "Go" which is the language by google, but the headline would suggest "Go!" by McKabe & Clark.
    I find the same ambiguity in the text... still, I am looking forward to the time we shall use the full unicode range in order to have
    similar looking, yet entirely different, names. That shall be fun!

  • by Murdoch5 ( 1563847 ) on Thursday May 09, 2013 @07:19AM (#43673639) Homepage
    Go and Go! are very different language, which one was it programmed in?

    GO: http://en.wikipedia.org/wiki/Go_(programming_language) [wikipedia.org]
    GO!: http://en.wikipedia.org/wiki/Go!_(programming_language) [wikipedia.org]
  • They chose a bad, confusing name: btcd. It is only nmemonic for the thing for which they want to provide an alternative. Some people will wonder "Is it Bitcoin or not?"

    Why not choose "Gocoin" or something more distinct?

    • They chose a bad, confusing name: btcd

      Imagine if bitcoins were instead called x-Koins. What would this project be called?

      • by Anonymous Coward

        Extrapolating from how open source projects often end up named, probably something like "seXKrab" --- and the developers would be oblivious to why people sometimes don't take them seriously as reformers of international monetary systems.

  • Its a market like auction houses or friendship networks: there basically isnt no reason fro a #2 or #3. Bitcoin may not be the winner due to it flaws, mainly speed.
    • Its a market like auction houses or friendship networks: there basically isnt no reason fro a #2 or #3. Bitcoin may not be the winner due to it flaws, mainly speed.

      I may be a cynic, but I expect Bitcoin to have spiraled into the sun long before more than 1% gives a flying anything about virtual currency.

  • Bitcoin is NOT immune to https://en.m.wikipedia.org/wiki/Pump_and_dump [wikipedia.org]
    Unless https://en.m.wikipedia.org/wiki/Information_asymmetry#Adverse_selection [wikipedia.org] is implemented in Bitcoin protocol, I'd not invest my time/money in it.

news: gotcha

Working...