ÄúµÄλÖãºÍøÕ¾Ê×Ò³ > ½»Ò×ËùÊг¡¶¯Ì¬ > Õý ÎÄ ±ÈÌرҡ¾¡¿

BitcoinµÄËĸöÕÏ°­ÏµÁÐÖ®µÚ¶þ²¿·Ö--½»Ò×

¡¾×÷Õß:fjbit¡¿ À´Ô´£ºÎ´Öª ÈÕÆÚ£º2011-9-30 1:35:34 ÈËÆø£º ±êÇ©£ºBitcoinÕÏ°­ ¡¾´òÓ¡¡¿

ÒÔÏÂÎÄÕ¾ùÓÉGOOGLE·­Òë,Óкܶ෭Òë´íÎóµÄµØ·½,»¶Ó­ÍøÓÑÃÇÖ¸ÕýÈçÓÐÐËȤÇëÍøÕ¾ÁôÑÔ°ïME·­Òë,Èç¹û׼ȷÂʸ߽«BTCÖ§¸¶³êÀÍ.

ÕâÊÇÎÒBitcoinµÄËĸöÕÏ°­ÏµÁеĵڶþ²¿·Ö¡£ÎÒÒÔÇ°´¦ÀíµÄ¿ÉÓÃÐÔ¡£½ñÌ죬Îһῴһ¿´½»Òס£¸ü¾ßÌå¶øÑÔ£¬½»Ò×Á¿ºÍËüµÄȱ·¦¡£ÈËÃÇÕýÔÚÌÖÂÛÊÇ·ñBitcoinÊÇÒ»¸ö½»Ò×ϵͳ£¬ÏÖ½ðµÈÖµÏîÄ¿£¬±£ÖµµÄ£¬»ò±ðµÄ¶«Î÷¡£ÎÒÏàÐÅ´ó¶àÊýÈ˶¼Ê¹ÓÃËü×÷Ϊ¼ÛÖµ´¢´æÏÖÔÚ - Ô¤ÆÚ³´×÷µÄÊֶΣ¬³ä·Ö·¢»ÓÆäDZÁ¦½«ÊµÏÖ¡£ÎÒ»¹Ã»Óп´µ½Ò»¸öÕâÑùµÄϵͳÔÚÒ»¸öºÜ³¤ºÜ³¤µÄʱ¼äµÄDZÔÚ¡£µ«ËüÈÔÈ»ÓÐÒ»¶Î·Ҫ×ßµ½ÄÇÀï¡£

BITCOIN
ÕâËĸöÕÏ°­ÊÇʲôFalkvinge±êʶBitcoinµÄËÄ´óÕÏ°­£¬Õ⽫ÊÇһϵÁÐBitcoinµÄËÄλ³µÊÖÔÚһϵÁÐÎÄÕ¡£ÕâÊǵڶþÌõ  ½»Òס£ÆäËû  µÄ¿ÉÓÃÐÔ  £¬Íйܣ¬  ºÍ½»Á÷ ¡£

È˲»Ê¹ÓÃËü×÷Ϊ±£ÖµµÄ¶«Î÷±ÈÆäËûµÄÔ­Òò£¬ÎÒÈÏΪ£¬ÊÇÆäȱ·¦¿ÉÓÃÐÔ¡£ÓÐÒ»¸öÇ¿´óµÄ¾­¼ÃѹÁ¦£¬ÄÚbitcoin½»Ò×Á¿¡£¶øÕ⣬±¾Éí¾ÍÊǵڶþ¸öBitcoin±ØÐëÇå³ýµÄÕÏ°­ ¡£

ÓÐЩÈËÈÏΪ£¬ÈËÃDz»»áÔÚBitcoinÖ»ÒªÖ§¸¶£¬ÒòΪËüÊÇÔÚÕâ¸öËٶȿ۳ý¡£ÕâÑùµÄ˵·¨²¢Ã»ÓÐÔÚËùÓеľ­¼ÃÒâÒå ¡£Èç¹ûÎÒÄܹ»Ê¹ÓÃÎÒµÄÈ˾ù¿ÉÖ§ÅäÊÕÈ루¶Á¡°¹ÖÌ¥Íæ¾ßÔ¤Ë㡱£©Ê¹ÓÃBitcoin£¬ÎÒ»áÁ¢¼´ÕâÑù×ö ¡£µ±ÎÒµÄнˮÿ¸öÔµÄ×îºóÒ»¸öµÖ´ï£¬ÎÒÏëÎҵĿÉÖ§Å䲿·Öת»»Bitcoin£¬²¢ÓÃËüÀ´ ​​¹ºÂòµÄ¶«Î÷£¬ÔÚÒ»¸öÔµĹý³ÌÖС£µ±ÎҵĶ«Î÷Ö§¸¶ÔÂÖÐÑ®£¬ÕâÒâζ×ÅÎÒÓйºÂòµÄ¹ÖÌ¥Íæ¾ßʱBitcoinÉýÖµ£¬Í¨ËõµÄÁ½¸öÐÇÆÚ£¬ÔÚÎҵı³ÉÏ¡£¶ÔÎÒÀ´ËµÕâÒâζןü¶àµÄÍæ¾ß£¡Á¢¼´»ñʤ¡£É̼ҵõ½ÏàͬµÄͨ»õ½ôËõµÄºÃ´¦£¬Ö±µ½±ä»¯ºÍÆäËûһЩ£¬¸üÖØÒªµÄµÄºÃ´¦£¬ÎÒ½«·µ»Ø ¡£

¾¡¹ÜÇ¿´óµÄÉÌÒµ°¸Àý£¬ÕâÊDz»¿ÉÄܵĵģ¬½ñÌìÀ­¶Ï¡£Òò´Ë£¬ÎÒ½«½áÊøÓëһЩ¼¼ÊõÐԵĽ¨Òé¡£

ÓÐЩ·í´ÌµÄÊÇ£¬ÎÒ×öÕâ¸ö»ÃµÆƬÑÝʾÎĸåʱ£¬ÎÒдÁËÕâ¸öϵÁеÄÒ»²¿·Ö£º

 

ÕâÊǺÜÓÐȤµÄʼþµÄ²½·¥ÊÇÈç´ËÖ®¸ß£¬ÊÂÇé·¢Éú֮ǰ£¬Îҵõ½Ò»¸ö»ú»áÀ´ÐÎÈÝËûÃÇΪʲô»áµÄ¡£Õâ·½ÃæµÄ·¢Õ¹£¬Ô¤¼ÆÔÚ²©¿Íºó£¬¶¨ÓÚ6ÔÂ16ÈÕ£¬ÕâÊÇÒ»²¿·ÖBitcoinµÄËÄλ³µÊÖ3£¬µ«ËüÒѾ­·¢ÉúÁË ¡£ÄÚ´æ¾­ÏúÉÌÕæÕý¶¤£º

Õâ¾ÍÏñÏÖ½ð - Ãâ·ÑʹÓã¬Ã»ÓÐÈË»áÊÕÈ¡Èκν»Ò×·ÑÓá£

ÕâÀïµÄÉÌÒµ°¸Àý£¬Îª¿ÍÉÌ¡£¾ÍÔÚÕâÀï¡£ÐÅÓÿ¨¹«Ë¾ÍÑÖ¬¹Ø±ÕµÄÿһ´Î¹ºÂò5£¥×óÓÒ¡£ÕýÈçÒøÐд¦ÀíÏֽ𡣠 Ã¿´Î¹ºÂò¡£Õ⽫Ôö¼ÓÒ»±¶µÄÀûÈó£¬ÔÚÒ»¸öµäÐ͵ÄÒµÎñ£¬Èç¹ûÄãÄÜ°ÚÍÑËüµÄÇ®¡£ÕâÊÇÒ»¸öÁîÈËÐÅ·þµÄÀíÓÉ£¬Çл»µ½ÁíÒ»¸öÖ§¸¶½»Ò×ϵͳ£¬¼´Ê¹ÄãÊÇÁ¢×ãÓÚÄúµÄÒµÎñÒ»Çж¼ÔÚÄúµ±µØµÄ·¨¶¨»õ±Ò¡£

Òò´Ë£¬ÈÃÎÒÃÇ¿¼ÂÇÈçºÎ´ÓÕâÀïÎÒÃÇ¿ÉÒÔ½¨Á¢ÎÒÃÇ×ßÏòδÀ´µÄÇÅÁº ¡£ÓÉÓÚËùÓеļ۸ñ¶¼ÔÚÁгöµÄ·¨¶¨»õ±Ò£¬ÈÃÎÒÃǼÙÉ裬ÔÝʱ²»»á¸Ä±ä¡£ÈÃÎÒÃǵĽ»Ò×Á¿£¬¶ø²»ÊÇÈ·¶¨Ê¹ÓÃBitcoinÇ°±£ÁäÇòÒý½Å×÷Ϊ·¨¶¨»õ±ÒÖ§¸¶ÏµÍ³£¬ÓëһЩÓÐʵÁ¦µÄÂò·½ºÍÂô·½£¬ËùÊöµÄ¾­¼Ã·½ÃæÀûÒæµÄÖ§¸¶ÏµÍ³¡£Õ⽫ÊÇδÀ´ÂõÏò½ðÈÚÉú̬BitcoinÉÔºóÇý¶¯¡£

ÎÒÐèÒªÄܹ»Ö§¸¶Ò»¸ö10€TÐô¡°bitcoinÏ൱ÓÚ¡±¾ÍÏñÎÒ¿ÉÒÔΪËü¸¶³öÓë¡°ËÜÁÏÏ൱ÓÚ¡±¡£

ËùÒÔÕâÀïÓÐʲôǷȱ£¬ÎÒ¿´µ½ËüµÄ·½Ê½£¬¶¼ÊÇһЩ·Ç³£¼òµ¥µÄ·þÎñÆ÷¶ËºÍ¿Í»§¶Ë×é¼þ¡£ÎÒÐèÒªÄܹ»Ö§¸¶ÎÒÓëÒ»¸öµ¥Ò»µÄµã»÷ÐÂÍæ¾ß£¬ÉÌÈËÐèÒªÄܹ»Ñ¸ËÙ²úÉúµÄÒ»¸öBitcoin½ð¶î·þÎñÆ÷¶Ë£¨Ä¿Ç°µÄ»ãÂʼÆË㣩֧¸¶Í¨³£ÔÚµ±µØ·¨ÂÉÖÐÁгöµÄÏîÄ¿Õб꣬³ÊÏÖ¾ÍÏñÉÌÈ˽ñÌìн³êÓëÇ©Ö¤±í¸ñ¡£

ºÍITÐèÇóÒª¼òµ¥ºÍÈÝÒס£

¼¼Êõ½¨Òé´ó¸Ù - ·þÎñÆ÷¶Ë

¼ÙÉèÍøÍøÕ¾£¬ÕâÊÇ´úÂëµÄÊýÁ¿ºÍÆð·ÉµÄ½»Ò×Á¿ËùÐèµÄ³éÏ󼶱ð£º

ʹÓÃBitcoin;
ÎÞЧµÄApplication_Start (...)
{
  ... ...
  Bitcoin.Connect£¨£©;
  Bitcoin.TransactionReceived =
    ÐÂBitcoinEventHandler£¨BitcoinReceived£©;
  ... ...
}
˽ÈË×Ö·û´®BitcoinPaymentLiteral£¨¹ºÎï³µ³µ£©
{
  / /Õâ¸öÎÄ×Ö±»Ìí¼Óµ½¡°Á¢¼´¸¶¿î¡±Ò³Ãæ
  / /¹ºÎï³µÖеÄÊÓͼ¡£

  / /Éú³ÉµÄµØÖ·£¬²¢°ÑÕâ¸ö³µ
  BitcoinAddress newAddress =
    Bitcoin.CreateAddress£¨cart.Amount£¬¡°Å·Ôª¡±£¬³µ£©;

  / /´´½¨Îı¾

  ×Ö·û´®×ÖÃæ= String.Format£¨
    ¡°µã»÷<a href=\"{0}\">ÕâÀï</ a>Ö§¸¶€{1£ºN2}¡±+
    ¡°Ê¹ÓÃ฿{2£ºN2}¡±£¬
    newAddress.PaymentUrl£¬
    cart.Amount£¬
    newAddress.ExpectedAmountBtc£©;

  ·µ»ØÎÄ×Ö;
}
ÎÞЧBitcoinReceived£¨¶ÔÏó·¢¼þÈË£¬
    BitcoinEventArgs¼¶£©
{
  / /Õâ¸öʼþ±»´¥·¢Ê±£¬µ±ÎÒÃÇÊÕµ½BTC×ʽð¡£
  / /ÕâÊDZØÈ»ÖеÄApplication_Start¡£

  BitcoinAddressµØÖ·= eventArgs.Address;
  ¹ºÎï³µ¹ºÎï³µ£¨¹ºÎï³µ£©address.Cookie;
  cart.ProcessReceivedPayment£¨£©;
}
ÎÞЧApplication_End (...)
{
  ... ...
  Bitcoin.Disconnect£¨£©;
  Bitcoin.TransactionReceived -= BitcoinReceived;
  ... ...
}

Õâ¶ÔÓÚ·þÎñÆ÷¶ËµÄ¡£µ«×¢Òâµ½£¬BitcoinAddress.PaymentUrl·½·¨£¬ÎÒÃÇÐèÒªµÄ¶«Î÷£¬ÒÔ¼°¿Í»§¶Ë¡£ËùÒÔ... ...

¼¼Êõ½¨Òé´ó¸Ù - ¿Í»§¶Ë

ÕâÊÇÒ»¸ö¼òµ¥µÄ½¨Ò飬¿ÉÒÔÔÚÈκÎÒ»¸öFirefox /ä¯ÀÀÆ÷²å¼þ´ÓÒ»¸öbitcoin¿Í»§¶Ëʵʩ£º

µ±ÓÐÈ˵ã»÷Ò»¸öÁ´½ÓÔÚbitcoin£º½ð¶î/µØÖ·¸ñʽ£¬Ê¹Óõã»÷µÄÒ³ÃæµÄÓò£¬²¢ÔÚ/ bitcoinlogo.png»ñÈ¡µÄ·½·½ÃæµÄÐÎÏ󣬲¢ÓÃËüÒªÇóÔÚÒ»¸ö¶Ô»°¿ò£¬È·ÈÏ£º ¡°[ͼ]£¬ÄãÖ§¸¶{½ð¶î}Õâ¸öµêÇëÇó¡£ÊÇ»ò·ñ£¿¡°¡£Èç¹ûÓеĻ°£¬×ªÒƵÄ×ʽðÀ´½â¾ö¡£

µØÖ·ÊǼòµ¥¡£µÄ½ð¶îÓ¦¸ÃÊÇÈËÀà¿É¶ÁµÄ£¬Òò´Ë£¬ÎÒ½¨ÒéΪÒÔϸñʽ½ð¶î£º

{½ð¶î} [K |Ã×| U]

Ôں̵ܶÄÒ»¶Îʱ¼ä£¬ÎÒÃÇ¿ÉÄܻῴµ½¼Û¸ñΪ0.00141 bitcoinµÄÊÂÇé¡£µ«´ò×ÖÏñÊÖ - ÕâÊǿ϶¨»á·¢ÉúÔÚÖ§¸¶»·½ÚµÄÐí¶àÍøÒ³£¨ÈÏΪ¡°¾èÏ×ÕâÀ£© - ÊÇÒ»¸öСÊý´íÎó£¬Ð£¶Ô£¬ÉõÖÁÔÚ´íÎóµÄÖ÷ÒªÀ´Ô´¡£Òò´Ë£¬ÎÒ½¨Òé´ÓÒ»¿ªÊ¼¾Í¾ßÓÐǰ׺¡£

½ð¶î0.00141±¾À´¿ÉÒÔ¸üºÃÊéÃæ1.41Ã×£¨1.41 millibitcoin£©£¬»ò1410uΪÄÇЩϲ»¶£¨1410 microbitcoin£©¡£ÕâʹµÃËü¸ü¾ß¿É¶ÁÐÔ¡£¿É¶ÁÐÔÇ¿¿ÉÈ¡¡££¨Í¬ÑùµÄkǰ׺¹¤³Ì¹«½ï£¬ºÜ¿ÉÄÜÖ»»áÓÃÓÚ¹ºÂòºÀÕ¬ºÍºÀ»ªÅܳµ£¬ÎÒ²»Ô¤¼ûÐèҪΪһ¸ö´óÐ͵Äǰ׺¡££©

Ó¢ÎÄÔ­ÎÄÈçÏÂ:

 

This is part two in my series about Bitcoin¡¯s Four Hurdles. I have previously addressed usability. Today, I will take a look at transactions. More specifically, transaction volume and the lack of it.

People are discussing whether Bitcoin is a transaction system, a cash equivalent, a store of value, or something else. I believe most people are using it as a store of value right now ¡ª an instrument of speculation in anticipation that its full potential will materialize. I have not seen a system with such a potential in a very, very long time. But it still has some way to go to get there.

BITCOIN¡¯S FOUR HURDLES
This is an article in a series on what Falkvinge identifies as Bitcoin¡¯s four hurdles, which will be followed by a series on Bitcoin¡¯s four drivers. This is the second article on transactions. The others are usabilityescrow, and exchanges.

The reason people are not using it as something else than a store of value, I argue, is its lack of usability. There is a strong economic pressure to get the intra-bitcoin transaction volume going. And this, in itself, is the second hurdle that Bitcoin must clear.

Some people have argued that people won¡¯t pay in Bitcoin for as long as it is deflating at this rate. That argument makes no economic sense at all. If I were able to use my disposable income (read ¡°geek toy budget¡±) using Bitcoin, I would do so immediately. When my paycheck arrived on the last of every month, I would convert my disposable part to Bitcoin, and use it to buy stuff over the course of the month. When I pay for something in the middle of the month, that means I have got two weeks of Bitcoin appreciation-deflation in my back when buying the geek toys. That means more toys for me! Immediate win. The merchant gets the same deflation benefits until change-in and some other, more important benefits, which I¡¯ll be returning to.

Despite the strong business case, this is impossibly hard to pull off today. Therefore, I¡¯ll be ending with some technical proposals.

Somewhat sarcastically, I made this slide as part of a presentation when I wrote this series:

 

It is quite interesting that the pace of events is so high, that things happen before I get a chance to describe why they will. This development is predicted in the blog post that is scheduled for June 16, which is part three of Bitcoin¡¯s four drivers, but it has already happened. Memory Dealers really nail it:

It¡¯s like cash ¡ª it¡¯s free to use and nobody will charge any transaction fees.

Here¡¯s the business case for merchants. Right here. The credit card companies skim about 5% off of every purchase. As do banks handling cash. Every purchase. That¡¯s money that would double the profit margin in a typical business if you could get rid of it. That¡¯s a compelling reason to switch to another payment transaction system, even if you¡¯re basing everything in your business on your local legal tender.

So let¡¯s consider how we can build our bridges from here into the future. As all prices are listed in the legal tender currency, let¡¯s assume that won¡¯t change for the time being. Let¡¯s instead identify the front bowling pin for transaction volume as using Bitcoin as a payment system for the legal tender currency; a payment system with some strong economic side benefits for both buyer and seller, as described. This will be a future driver towards moving more of the financial ecosystem to Bitcoin later on.

I need to be able to pay for a €10 T-shirt with ¡°bitcoin equivalent¡± just like I can pay for it with ¡°plastic equivalent¡±.

So what¡¯s lacking here, the way I see it, are some very very simple server-side and client-side components. I need to be able to pay for my new toy with one single click, and the merchant needs to be able to quickly generate a Bitcoin amount server-side (based on the current exchange rate) to pay the item normally listed in the local legal tender, just like the merchant presents a pay-with-Visa form today.

And it needs to be simple and easy.

Technical proposal outline ¡ª server side

Assuming a .Net site, this is the amount of code and the level of abstraction that is needed for the transaction volume to take off:

using Bitcoin;
void Application_Start(...)
{
  ...
  Bitcoin.Connect();
  Bitcoin.TransactionReceived +=
    new BitcoinEventHandler (BitcoinReceived);
  ...
}
private string BitcoinPaymentLiteral(ShoppingCart cart)
{
  // This literal is added to the "Pay Now" page
  // in the shopping cart view.
  // Generate address and tie it to this cart
  BitcoinAddress newAddress =
    Bitcoin.CreateAddress (cart.Amount, "EUR", cart);
  // Create the literal
  string literal = String.Format (
    "Click <a href=\"{0}\">here</a> to pay €{1:N2} " +
    "using ฿{2:N2}",
    newAddress.PaymentUrl,
    cart.Amount,
    newAddress.ExpectedAmountBtc);
  return literal;
}
void BitcoinReceived (object sender,
    BitcoinEventArgs eventArgs)
{
  // This event is fired when we receive funds in BTC.
  // It is bound in Application_Start.
  BitcoinAddress address = eventArgs.Address;
  ShoppingCart cart = (ShoppingCart) address.Cookie;
  cart.ProcessReceivedPayment();
}
void Application_End(...)
{
  ...
  Bitcoin.Disconnect();
  Bitcoin.TransactionReceived -= BitcoinReceived;
  ...
}

That¡¯s it for the server side. But noticing that BitcoinAddress.PaymentUrl method, we need something client-side as well. So¡­

Technical proposal outline ¡ª client side

This is a simple proposal that can be implemented in anything from a bitcoin client to a Firefox/Chrome plugin:

When somebody clicks on a link in the bitcoin:amount/address format, use the domain of the page clicked and fetch the square-aspect image at /bitcoinlogo.png, and use it to ask for a confirmation in a dialog: ¡°[image] this shop requests that you pay {amount}. Yes or No?¡±. If yes, transfer the funds to address.

The address is straightforward. The amount should be human readable, and therefore I suggest the following format for amount:

{amount}[k|m|u]

In a short while, we might see things priced at 0.00141 bitcoin. But typing it in like that by hand ¡ª which is certainly going to happen on many webpages in a payment link (think ¡°donate here¡±) ¡ª is a major source of error in getting the decimals wrong, even on proofreading. Therefore, I suggest having prefixes in from the start.

The amount 0.00141 could have been better written as 1.41m (1.41 millibitcoin), or 1410ufor those who prefer (1,410 microbitcoin). It makes it much more readable. Readability is strongly preferable. (The k prefix works similarly for kilo and will probably only be used to buy mansions and luxury sports cars. I do not foresee a need for a mega prefix.)

 

¡¾·µ»Ø¶¥²¿¡¿¡¾¹Ø±Õ´°¿Ú¡¿ ¡¾·çÏÕÌáʾ:±¾Õ¾·ÖÏíתÔصÄÐÅÏ¢¾ùÀ´×Ô»¥ÁªÍø£¬ÇÒ½ö¹©ÔĶÁ²Î¿¼£¬²»×÷Ϊ¾ßÌåͶ×ʵÄÒÀ¾Ý£¬¾Ý´ËÈëÊУ¬·çÏÕ×Ôµ£¡£±¾Õ¾ËùÓÐÄÚÈÝÉæ¼°µ½µÄ¡°»õ±Ò¡±×ÖÑÛÐè½÷É÷ÑÐÅУ¬ÎÒÃÇά»¤¸÷¹ú·¨±ÒµÄºÏ·¨µØλ£¬Í¬Ê±Êý×Ö×ʲú¾ßÓлõ±ÒµÄijЩÊôÐÔ£¬Ä¿Ç°ÊDz»ÄÜÌæ´úÈκιú¼ÒµÄ·¨¶¨»õ±ÒµÄ£¬Çë½÷É÷Àí½âͶ×ʲ¢Ñϸñ×ñÊظ÷¹ú·¨ÂÉ·¨¹æ£¡Ïê¼û±¾Õ¾[ÃâÔðÉùÃ÷]¡£¡¿
¡¾¶ÁÍêÕâƪÎÄÕºó,¿É·ñ·¢±íÄúµÄ¸ÐÊÜ?¡¿
0
0
0
0
0
0
0
0
±¾ÎÄÍøÖ·£º
°²È«ÁªÃËÕ¾³¤Æ½Ì¨ »¥ÁªÍø¾Ù°ìƽ̨ ¹«¹²ÐÅÏ¢°²È«Íø¼à ÖйúÍø°² ÈüÃÅÌú¿Ë°²È«ÏìÓ¦ÖÐÐÄ