Faudrait peut-être qu'on s'y attelle. Le "white paper" de Satoshi est le document important qu'il faut lire et relire pour comprendre le fonctionnement des bitcoins. Je pense qu'il serait important qu'il soit traduit dans plusieurs langues. Je propose qu'on se répartisse le travail s'il y a des volontaires. PS. Rien que le début, j'ai du mal : comment on traduit "cash" ?? En tout cas, voici déjà ma version du titre et du résumé : Bitcoin : un système de monnaie électronique en pair-à-pair.
Auteur Satoshi Nakamoto Traduction : grondilu
Résumé. Une forme de monnaie électronique entièrement en pair-à-pair permettrait d'effectuer des paiements en ligne directement d'un tiers à un autre sans avoir besoin de passer par une institution financière. Les signatures numériques procurent une solution partielle, mais l'intérêt principal est perdu si un tiers de confiance est toujours requis pour empêcher le double paiement. Nous proposons une solution au problème du double paiement en utilisant un réseau pair à pair. Le réseau horodate les transactions en les hashant en une séquence de preuves de travail à base de hashages, formant un enregistrement qui ne peut être modifié sans réeffectuer la preuve de travail. La plus longue chaîne sert non seulement de preuve pour la séquence des évènements constatés, mais aussi de preuve qu'ell provient du plus grand regroupement de puissance de calcul. Aussi longtemps que la majorité de la puissance CPU est controlée par des noeuds qui ne coopèrent pas pour attaquer le réseau, ils génèreront la plus longue chaîne et surpasseront les attaquants. Le réseau en lui-même ne recquiert qu'une structure minimale. Les messages sont diffusés sur la base du meilleur effort, et les noeuds peuvent quitter ou rejoindre le réseau à tout moment, ils accepteront la chaîne de preuve de travail la plus longue comme preuve de ce qui s'est déroulé pendant leur absence.
J'ai choisi de ne pas garder "cash" : quand on fait une traduction, on la fait à fond ou on la fait pas ! Pas d'anglicisme, donc.
|
|
|
The thread http://bitcointalk.org/index.php?topic=2459.0make me feel like suggesting a full shell implementation of bitcoin. I've actually been thinking about this for some time but I'd like to see if other people would be interested in such a crazy project. Here is the kind of architecture I'd like to see : - nodes communicate transactions via IRC, XMPP or similar (a shell script communicating with such a protocol should be easy to implement) ; - each node publishes its blocks via its own http server (possibly via a TOR hidden service to avoid NAT traversal problems) ; - each node also publishes the list of nodes it is currently connected to ; - nodes store their blocks using GnuNet or maybe a NoSQL database such as MongoDB (easily scripted) ; - cryptographic functions are performed via the openssl command line ; - blocks and wallets are stored in an human readable ASCII format ;
|
|
|
I am currently programming a bitcoin asset exchange plateform, and during this process I came up with an idea which is, in my opnion, pretty good. I needed some way to identify the owner. He should be able to prove he is the owner of the asset, and he should be able to transfer his ownership to someone else. Using passwords is the quick-and-dirty way to do so. But there are many drawbacks to this method. I won't discuss them here. At some point I wanted to use ECDSA signing capabilities of bitcoin address. But it's not easy, and the bitcoin client doesn't provide any tool for that. And I was convinced that it should not. Using GnuPG would be nice, but I realised that it's a pain in the ass to program with. It realy doesn't seem to me that it is suitable for scripting. So I decided to use RSA keys, using the openssl command. It was much easier than I thought, and particularly easier than GnuPG. Anyway, here is the idea I came up with. At some point I have to associate a bitcoin address (where future dividends are to be paid) to a public RSA key. Keeping a database of these relations is necessary, but not sufficient. Basically it would give exactly the same problems as with passwords. Anybody who would access to the database could modify it and then claim ownership of the assets. So the idea is to timestamp the relations into the bitcoin block chain. Here is an exemple. I want to associate this bitcoin address : 1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt to this RSA public key : -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA67nZtqz41rGFdUsVMC/E HsvhfyG7dreTeIfOO+tA1fUuyooiodsYw73qM4qKZFJduBdtrMqAiQhGkfUjhqbf aIlc/5yR+0ZUHI6eiCcPtDi95MdpmDtlXg/9YkQ36ACZX2ccCIiUIaHVK4lc2MzT 6Io9FaXCejkoZiEsAK+XqUxc3X5B0VFVxyq4i/S7qOQKABfEDaF56OhtW3URGX7V LTOxMmSccL/tVeN3cwUfNOHsoVF7g1bqPGYvdEGOzEklzJ3i2IYMah7d4So3BlXr OMI6HCZTfCd+J64c5h6dh2ciQr27XDUKBVQhm3s5gwQl0WRcQhQ4LRG3ur+Rud5q 2QIDAQAB -----END PUBLIC KEY----- All I have to do is to use a timestamping function like this one : timestamp() { wget -O - -q http://blockexplorer.com/q/hashtoaddress/$(openssl dgst -rmd160) } this way : { echo 1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt ; echo "-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA67nZtqz41rGFdUsVMC/E HsvhfyG7dreTeIfOO+tA1fUuyooiodsYw73qM4qKZFJduBdtrMqAiQhGkfUjhqbf aIlc/5yR+0ZUHI6eiCcPtDi95MdpmDtlXg/9YkQ36ACZX2ccCIiUIaHVK4lc2MzT 6Io9FaXCejkoZiEsAK+XqUxc3X5B0VFVxyq4i/S7qOQKABfEDaF56OhtW3URGX7V LTOxMmSccL/tVeN3cwUfNOHsoVF7g1bqPGYvdEGOzEklzJ3i2IYMah7d4So3BlXr OMI6HCZTfCd+J64c5h6dh2ciQr27XDUKBVQhm3s5gwQl0WRcQhQ4LRG3ur+Rud5q 2QIDAQAB -----END PUBLIC KEY-----" } | timestamp And I get a bitcoin address : 13CWM9MmeyP1MA6SgAiqAq7cGxXaLWhnTG Now, the owner of the RSA just have to send a small amount to this address, so that no-one could claim ownership of this bitcoin address. Why would anyone claim ownership of someone else's bitcoin address ? Only because this could give him the right to transfer it to an other bitcoin address, one that he actually owns. The whole point of all this is that with such a method ownership of assets can be identified by bitcoin addresses, providing that these addresses are timestamped with a RSA public key. PS. Hum... as I write this, I realise that this method might make the use of GnuPG easier than I thought. Maybe finally easier than RSA.
|
|
|
I think this could be nice but it needs some thinking. So the idea is that the robot would supervise an auction on IRC. The seller tells the robot (Bot) to open an auction for an item (Item) until a deadline (Dl). Bot opens a channel #auction-[short name for Item] It also sets the topic as something like "Auction for [full description of Item] until Dl. No starting price." To place a bid, a user just enters his amount in one of these format: 123.456 BTC : plain explicit bid (unit may also be bc, kBTC,...) 123.456 : bid with no monetary unit (assuming BTC) +1 : relative bid (1 BTC more than last bid) '35: implicit format. For instance after several bids of value close to 34000, '35 would actually mean 35000. Or after several bids such as 10.29, 10.32, 10.33, '35 would mean 10.35 The main rule for the robot would be to take the value closest to the previous bid, keeping it beyond a 110% increase. For instance, after a bid of 1000 (with no decimal), then '20 would mean 1020, and not 20000. If no interpretation can fit the 110%, then the robot takes the closest and ask for confirmation. At then end the robot adjudicates the auction by declaring the winner. He then sends a log of the whole auction to the seller. Here is an exemple of how such an auction would look like. -- Bot sets topic to "Auction for an ... until ..." -- Alice joins channel Alice> 10 Bot> Alice leads at 10 BTC -- Bob joins channel Bob> ;;lead Bot> Alice leads at 10 BTC Bob> +1 Bot> Bob leads at 11 BTC Alice> 20 Bot> Alice: Do you confirm bid at 20 BTC, which is more than 110% of previous bid ? Alice> y Bot> Alice leads at 20 BTC
and so on until : Bot> Auction has ended. Alice wins the auction with 30 BTC. Congratulations. * Bot sends log of this auction to the seller who will contact Alice for transaction.
I know there is biddingpound.com but I just don't like websites.
|
|
|
I was not very much convinced by my proposal for a system to transfer assets with the bitcoin network, so here is an other idea.
The asset is defined somewhere on cyberspace, with a full textual description. In this text there is a bitcoin address where coupons/dividends/whatever are to be paid.
In order to transfer this asset, the owner basically just have to change the bitcoin address it is assigned to.
I'll use again the idea of coding information into the amounts.
So basically we need to code a bitcoin address into transactions amount.
Let's take the following address as an example :
1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt
We turn it into hex :
$ openssl dgst -rmd160 <<<1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt a370e25093b51a83e13864ff880afd5b95ff2615
Split it into 4-characters-long parts :
$ H=a370e25093b51a83e13864ff880afd5b95ff2615 $ while echo ${H::4}; [[ -n "${H#????}" ]]; do H=${H#????}; done a370 e250 93b5 1a83 e138 64ff 880a fd5b 95ff 2615
Turn them into sequentially ordered amounts :
$ n=10 $ for i in a370 e250 93b5 1a83 e138 64ff 880a fd5b 95ff 2615 do echo $((n++*10**6+0x$i)) done 10041840 11057936 12037813 13006787 14057656 15025855 16034826 17064859 18038399 19009749
we compute their sum (we could have done that during the previous step but it is simpler to present it like this for you)
$ echo $((10041840+11057936+12037813+13006787+14057656+15025855+16034826+17064859+18038399+19009749)) 145375720
We send this sum from an account called "treasury" to the address :
$ bitcoind sendfrom treasury 1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt 1.45375720
We set an account for it :
$ bitcoind setaccount 1Hy9dexzNzjvQYkYy6zKRVZMU8k2j5vuPt testaccount
And finally we send the 10 amounts from the testaccount back to the treasury :
$ addr=$(bitcoind getaccountaddress treasury)
$ bitcoind sendfrom testaccount $addr 0.10041840 $ bitcoind sendfrom testaccount $addr 0.11057936 $ bitcoind sendfrom testaccount $addr 0.12037813 $ bitcoind sendfrom testaccount $addr 0.13006787 $ bitcoind sendfrom testaccount $addr 0.14057656 $ bitcoind sendfrom testaccount $addr 0.15025855 $ bitcoind sendfrom testaccount $addr 0.16034826 $ bitcoind sendfrom testaccount $addr 0.17064859 $ bitcoind sendfrom testaccount $addr 0.18038399 $ bitcoind sendfrom testaccount $addr 0.19009749
Finally all we have to do is to write a programm that inspects the block chain in order to trace the full transaction log of the asset.
|
|
|
I'd like to be able to use one of my wallet keys to sign an ASCII text. syntax of the command would be : $ bitcoind signwithaddress BITCOIN_ADRESS < somefile > somefile.asc $ bitcoind verifysignature < somefile.asc correct signature done on DATE by address BITCOIN_ADRESS Message was : ....
somefile.asc could be written in a form such as : ---- BEGIN ECDSA SIGNED MESSAGE ---- ... ---- END ECDSA SIGNED MESSAGE ---- Or something like that.
|
|
|
In an other thread an asset exchange service was presented : Loom ( https://loom.cc). This is quite an interesting service, although it is private, it requires invitation, and is centralised. I very much think it should be possible to do something similar using bitcoin and GnuPG. Say I own an asset which is fully described by an ASCII text file "myasset". In order to give it to Alice, whose GPG fingerprint is "Alice-FPT", I just sign the following document : I hereby give the following asset to Alice, whose GPG fingerprint is <here I paste "Alice-FPT"> :
<here I paste "myasset">
In order to prevent double spending, or more precisely to prove that I have not already spent it, I timestamp the signature of this document into the bitcoin block chain. Then, when Alice wants to give Bob this asset, she signs this : I hereby give the following asset to Bob, whose GPG fingerprint is <here she pastes "Bob-FPT"> : I hereby give the following asset to Alice, whose GPG fingerprint is <here I paste "Alice-FPT"> :
<here I paste "myasset">
And she also timestamp it in order to prevent double spending. And so on, each owner has to imbricate transfer documents, sign it and timestamp it in order to give it to someone else.
|
|
|
Here is a script to timestamp or search for a timestamp in the block chain. #!/bin/bash # # timestamp.sh : Bitcoin timestamping script # # This script timestamps or search timestamps into bitcoin's block chain
blockexplorer="http://blockexplorer.com"
# reads data sent on stdin and hash it sha256=$(openssl dgst -sha256)
# converts hash into a valid bitcoin address address=$(wget -O - $blockexplorer/q/hashtoaddress/${sha256::40})
shopt -s extglob case "$@" in -s|--search) # just search the bitcoin address in the block chain w3m -dump "$blockexplorer/address/$address" ;;
0.+([0-9])|"") fee=${1:-0.01} if bitcoind getinfo > /dev/null then bitcoind sendtoaddress $address $fee else echo "Please check bitcoind is running" fi ;; *) echo " usage : $0 [-s] [amount] options : -s|--search : only search for a timestamp in bitcoin's block chain " ;; esac
The first data I've timestamped using this code is this code itself (or more precisely my signature of it). You can check it by running : $ bash ./timestamp.sh -s < ./timestamp.sh.asc where timestamp.sh.asc is : -----BEGIN PGP MESSAGE----- Version: GnuPG v1.4.10 (GNU/Linux) owFtk7Fv00AUxkMLSD5RRPkLXh1LNIBjlwISroKAgQUQHdiiIJ3tS+7AuTO+c1LU dmDrgoRUsTFkQDCgMocBBlZ2xMKKBAtsDCw8J3GTILyc7/nd9/3e87tnS4uVheU3 93//3Bye5EcOFmvhCSO6TBvaTeua31l60quueKGQXkg1J1VShdnvEMANYSIl5DQs ZAd0lInUjNLvcaEn+2mOBpWBZjSL+GxQSKMgHAue0RAmKnoIEadCEjLasK00URnL GjY3Jg08by5aj1TXJuiZMRpriKmhaCINKAnaxAhJZQwcCwFhiOb0wqXLDWdVpUxq nUDc0QbccbhWyERK9lhm9ORIAUehRxMRl5BA4zhjWpPJimr9DkOVu+CCMwfnPfIK GaMmqZ6zPbYKgov+LvpprtLCH9iW6SQqJBHVDGznmo3WBPBx9Y7rjrtWI1YVHuQI XHaRs3+hoPgrRXimjVZ/vQtunHdTVJ7nO+SavNgbG2Rk69fPrTZ990qrtmPbaNxm rOFsrwWuX/fXdokl2qVzDFi8kG0FV8GLWc+TeZIQCyHkNKXUBweFiMUSrJJFXIG9 mbCi5Igz5D3Mx/HJcilxrAoiqy1GUGcRZHyKWLmmHYajCI4PTVe3AJq0q3JpWsTC ngolNQTEmmkfJiuZPC6b18ZppNNBLBr3/ym0bEAGpmlE9m4erSwvVI4fWyguSYVY p8pr9KteGbz+8eVz/8PXg5f7z1+8v/UnH5rTg8rgKd2Phu8+ffx+/TY5/yp7u7fy bf0v =ecN3 -----END PGP MESSAGE----- PS. An other version using rmd160 instead of sha256 (so that we don't have to truncate the hash) : #!/bin/bash # # timestamp.sh : Bitcoin timestamping script # # This script timestamps or search timestamps into bitcoin's block chain
blockexplorer="http://blockexplorer.com"
# reads data sent on stdin, hash it, and converts hash into a valid bitcoin address address=$(wget -q -O - $blockexplorer/q/hashtoaddress/$(openssl dgst -rmd160))
shopt -s extglob case "$@" in -s|--search) # just search the bitcoin address in the block chain wget -q -O - "$blockexplorer/address/$address" | if grep -q "First seen.*Never used in the network" then echo no timestamp found; exit 1 else echo timestamp found : $blockexplorer/address/$address fi ;;
0.+([0-9])|"") # timestamps data by sending a small amount to $address fee=${1:-0.01} if bitcoind getinfo > /dev/null then bitcoind sendtoaddress $address $fee else echo "Please check bitcoind is running" fi ;; *) # usage information echo " usage : $0 [-s] [amount] options : -s|--search : only search for a timestamp in bitcoin's block chain " ;; esac
|
|
|
This toy is so amazing that I consider making it possible to buy it for bitcoins. Basically I would invest some money to buy a bunch of them, and then I would sell them back against bitcoins. http://www.youtube.com/watch?v=8oD3yAkT9sI
|
|
|
*** Edit: THIS AUCTION HAS ENDED. See end of thread. ***
Ok after I've successfully sold one eBay share, I'm quite exited about all the possibilities of this.
I understand people prefer to buy shares of dividend paying companies. Usually I don't sell this kind of shares. But I've looked in my portfolio and I've found something.
I own 10 DRDGold shares. I'm ok to sell one of them. This company DOES pay dividends.
Last time I received dividends was on November, the 11th 2010. I got ZAR 0.05 for my ten shares. This was converted into EUR 0.05.
Good thing about bitcoin is that it will be easy to convert it into bitcoins, since we have much enough decimal precision.
So I'm selling one DRDGold share, with the same process than the one described on the eBay auction thread. This will give me an opportunity to prove that I'm honnest since you should receive dividends within a year (I know it will be small with just one share, but we're just on the beginning of the bitcoin economy after all). See this as a proof of concept if you want.
No starting price. Auction will end at block 99,000.
PS. Some info about DRDGold : ISIN : ZAE000058723 mnemo euronext : MLDUR.PA
yahooquote MLDUR.PA : MLDUR.PA DRDGOLD 0.38 12/16/2010 Paris
|
|
|
I'm running bitcoind version 0.3.19
I've noticed that generation halts for unknown reason.
"getinfo" tells me
"generate" : false,
Yet I've never runned bitcoind setgenerate false (as far as I know).
|
|
|
*** EDIT: THIS AUCTION IS CLOSED NOW. See end of thread ***
I own one ebay share in my portfolio.
As an experiment, I sell it for bitcoins. What this means, is that I hereby promess (yes, you have to trust me), that if at any time I receive some dividends from eBay, I will convert them into bitcoins, and transfer it to you.
I'll make a short auction for this. No starting price. Auction will end at block 98,000
|
|
|
I added a block explorer command in the excellent YubNub ( http://www.yubnub.org). Basically it just redirects to blockexplorer.com (don't hesitate to donate to this site !) just type, for instance : bbe 1Cvvr8AsCfbbVQ2xoWiFD1Gb2VRbGsEf28 in the main search field. bbe stands for "Bitcoin Block Explorer"
|
|
|
Yeah I know it's a stupid poll, since nobody could guess that. But I'd be curious to have an idea of how quick bitcoin users think this money could get famous.
PS. I voted 2013
|
|
|
After a few successful sellings of 1g mini gold bars, I now start the first ever gold coin auction on this forum. So, this is a standard 20 CHF (swiss franc) gold coin. See internet for details about this coin. No starting price. Price will include postal fees to wherever in the world. It will be a standard letter. I will just hide carefully the coin into the letter. It should be fine. Auction will end at block number 100,000. At this time, I will lock this thread and thus close the auction. I might close it a bit earlier and end the auction on IRC, though. DO NOT BID IF YOU DON'T REALLY INTEND TO BUY THE COIN. I will require paiement before sending it anyway, so there is no point making fake bids. Do not PM to make your bid. Just post it in this thread. Have fun !
|
|
|
I used synfig once to do small animation on the wikipedia page about time travel. Check it out there : http://en.wikipedia.org/wiki/Time_travel#Ideas_from_fictionI'd like to do something similar for bitcoin. First, we explain the current banking model with a classic Alice and Bob situation : Then we show how such a model tends to make people dependant on a highly centralized organisation : We explain that such centralisation induces complexity and therefore costs. Thus we introduce the P2P model, getting rid of the bank : We explain that everynode receive every single transactions, and in order to determin who will play the role of the bank, we have them perform a CPU spending task : Finally we explain what happens when a node has finally performed this task : This is just a first draft, but it's the global way I see it. Suggestions welcome.
|
|
|
It just occured to me how similar are these two projects. Somehow, I wonder if one can not consider bitcoin to be to money what esperanto is to language.
I just hope I'm wrong, because I wish bitcoin gets more success than esperanto did.
Anyway, here are the similarities I'm talking about.
First, it's an artificial construction from one person. Zamenhof for esperanto, Satoshi for bitcoin. The "artificial" aspect is what most opponent of esperanto and bitcoin are willing to advance when rejecting them. Esperanto is not a "real" language, and bitcoin is "backed by nothing", will they say.
Second, both have the same empire as an opponent. English for esperanto. Dollar for bitcoin.
Finally, both are international projects. They are designed to put every countries on the exact same level.
Esperanto is more than an hundred years now. It's quite an efficient language and it has shown many times that it is a better language for international communication. Unfortunately, people are still not much convinced by it.
I'm afraid something similar could happen to bitcoin. A few millions people will use it and will prove that it is a better money than any other else, but they will just fail in convincing other people about that. Even after an hundred years.
Again, I hope I'm wrong.
|
|
|
There are many ways bitcoin could be used in physical stores.
Some guys here are planning on creating printed bitcoins, using QR code or stuffs like that.
An other possibility would be to do everything wia wifi, for instance using smartphones running a full bitcoin client, or using a web interface such as mybitcoin.com.
I personnaly think the best would be if each store could act as a bitcoin bank. Basically you would have a bitcoin account in the shop, and you'll use with conventionnal banking-like transaction for every day purchases. You would only transfer bitcoin something like say one in a month, just to fill up your account. Such accounts could also use David Chaum's digital cash, so that stores could act like private money issuers.
I don't think bitcoin will put a end to banking system. On the contrary, it will democratize it.
|
|
|
The thread about "money as debt" from P. Grignon makes me think about this old debate concerning the intrisic value of money.
It's a debate I had many times with people having contempt for gold, describing it as a "useless soft metal" or a "barbarous relic". I also think that gold is mainly useless, or more precisely, that its use is only based on the fact that it is ideal as a money, due to its remarquable properties.
However, I confess I'd have some difficulties explaining why money doesn't need intrisic value. I have ideas about this but it's still quite confuse.
What do you think about that and can you elaborate ?
|
|
|
|