freebitcoins.appspot.comで5 Bitcoinを無料で入手しよう
BitcoinTalkトピック183におけるlachesisの文脈投稿。msg1620の前。
lachesisの名で、サトシに礼を言われたマイニングの計算機を作った人

サトシ・ナカモトは、マイニングの成果が止まったと訴える利用者に返信した。ところが返信の最初の一文は、質問した本人ではなく、別の誰かへの礼だった。
SNサトシ・ナカモト(BitcoinTalkへの投稿、2010年7月14日17:04 UTC)計算機を作ってくれてありがとう。
マイニングの計算機である。自分のハッシュレートと現在の難易度を入れると、ブロックを見つけるまでの平均時間が出る。3時間半後、フォーラムのユーザーlachesisが応じた。「どういたしまして、サトシ。Alloscomp.comは私のドメインだ」。lachesisが示したのは、人の名前ではなく、ウェブサイトの名前だった。その1週間後、lachesisはフォーラムに小さなPythonのライブラリーを載せ、そのコードの中の説明文に、作者として「Eric Swanson」と署名している。GitHubの彼のアカウントは今もこの名前で、ハンドルはlachesisのままだ。計算機も、今もalloscomp.comにある。
スワンソンがBitcoinTalkに登録したのは2010年6月3日である。数時間後の最初の投稿は、計算の仕方を尋ねるものだった。今の難易度で、自分のマシンが毎秒約100万回ハッシュを計算するなら、ブロックを一つ見つけるまでに平均でどれくらいかかるのか、という質問である。theymosは式を示して答えたが、その式は「目標確率」として0.5を掛けていた。数日後、別の利用者がそれを1に直した。スワンソンはこの計算を、自分のウェブページで使えるようにした。7月13日には、「なぜ何も生成されないのか」と尋ねる利用者に、ほかの利用者がalloscomp.com/bitcoin/calculator.phpのリンクで答えるようになっていた。
サトシもこれを使った。7月16日には難易度が45.38になったと告げる投稿に、計算機のアドレスを括弧書きで添えた。7月31日には、この「便利な計算機のような」形で、次の難易度調整を予測するページを誰か作ってくれないかと、フォーラムに呼びかけている。
スワンソンは自分を「Cプログラマーではない」と言い、それでもクライアントに手を入れた。6月上旬には、GUIの取引一覧のコードを流用して、RPCにlistgeneratedという新しい命令を作った。自分のマシンがいつブロックを生成したかを見たかったからで、パッチを配るときには、きっと正しく動いていないと断っている。多数のアドレスに入金があったかどうかを、毎分2回bitcoindに問い合わせるサイトも運営していた。一度に複数の要求を送ったときのサーバーの応答がPythonのHTTPライブラリーを止めてしまうと、ソケットを直接扱う自前のクライアントを書き、1時間ほどで公開した。冒頭で触れた、説明文に実名を書いたライブラリーとは、このことである。
7月25日19時52分、スワンソンは不具合を報告した。bitcoindのbase64エンコーダーは64文字ごとに改行を入れるので、ユーザー名とパスワードが長いと、クライアントが自分で作る認証ヘッダーが壊れる、というものだった。修正も添えていた。21時34分、サトシはそれをSVNのrev 110に入れたと返信し、「このバグを見つけるほど長いパスワードを使っていたこと」をほめた。4分後にはギャビン・アンドレセンが、フラグ1つで済む、もっと簡単な修正を示している。8月には、ビットコインがBerkeley DBのファイルを独り占めして、ほかのプログラムが開けないようにしているのかを尋ね、自分で試して、そうではないことを確かめた。サトシは9月にrev 153でDB_PRIVATEフラグを外した。
スワンソンは遠慮しなかった。Linuxのトレイの不具合を、サトシがトレイへの最小化の機能ごと取り除いて片づけたときには、「サトシ、バグを修正したんじゃなくて、トレイ最小化コードを丸ごと削除しただけだ」と書いた。巨大なライブラリーは安全上の穴がないと言い切れないからプロトコルバッファを避けた、とサトシが説明したときには、どのトランザクションにも入っているスクリプト言語を引き合いに出して、こう返した。「ブロックがクライアントに処理を指示できるような評価言語を自分で丸ごと書くのは平気で、protocol buffersのようなライブラリを使うのはためらうのか?」
最も長く続いた論争は、listtransactionsをめぐるものである。スワンソンは6月22日にこの命令を求めた。サトシはその日のうちに、この命令があると、多くのプログラマーが入金の確認に使ってしまうが、そのやり方では入金を確実には確かめられない、と言って断った。7月末にサトシが同じ理由でもう一度断ると、スワンソンは7月31日に食い下がった。「ユーザーを自分自身から守るという方針は取るべきではないと思う」。この命令は、2010年12月8日のBitcoin 0.3.18で、ギャビン・アンドレセンが書き進めていたアカウント系の命令の一つとして加わった。
7月29日、サトシがいなくなったらどうするのかという質問に、ジェフ・ガージックは「それがオープンソースというものだ」と答えた。その2時間後、日付が変わって30日の1時01分(UTC)に、スワンソンはもっと具体的なものを求めた。「サトシ以外の誰かがSVNへのコミット権限を持ち、サトシ不在時に継続するための明示的な計画」である。ギャビン・アンドレセンの最初のSVNコミットは10月で、引き継ぎそのものは12月だった。
18時08分(UTC)、ジェフ・ガージックが「奇妙なブロック74638」というスレッドを立て、92,233,720,368.54277039 BTCという出力を示して、こう推測した。「これはUINT64_MAXだろうか?」。9分後、最初の返信をスワンソンが書いた。
Lエリック・スワンソン(BitcoinTalkへの投稿、2010年8月15日18:17 UTC)これは2^63/10^8だ。だからUINT64_MAXではなくINT64_MAXのようだ。
スワンソンが直したのは1ビット分の違いで、しかもそれが肝心の1ビットだった。符号付きの64ビット整数で表せる最大の値をビットコインの単位に直すと、ガージックの数字は、それをわずかに下回る。そして、バリュー・オーバーフロー事件が起こりえたのは、この値が符号付きだったからである。この大きさの出力を2つ足すと、表せる範囲の上限を超え、合計が負の値に変わる。検証のコードは、この負の合計を通してしまった。バグそのものを論じるスレッドが立ったのは19時04分で、サトシの修正は、ガージックの最初の投稿から6時間足らずで出た。
同じころ、スワンソンは、フォーラムのみんなの役に立つ仕事をした人たちに、自分のコインを少しずつ贈っている。8月9日には、64ビット版0.3.8でSHA-256の処理が壊れていたのを突き止めたArtForzに5.01 BTC。8月15日には、プロジェクトがまだ出していなかった変更履歴をまとめたTilkaに2 BTC。
このサイトには、2010年6月4日から8月20日までの彼の投稿68件が収録されている。BitcoinTalkのプロフィールによれば投稿は全部で259件、最後にフォーラムを訪れたのは2020年10月である。同じハンドルのGitHubでは、のちにScallionを公開した。Torの.onionアドレスのうち、指定した文字列で始まるものをGPUで探す道具で、説明書き(README)には、ビットコインのバニティアドレス生成ツールvanitygenに着想を得たと書かれている。
2010年にスワンソンが書いたことのほとんどは、ソフトウェアに、自分の状態を見せるよう求めるものだった。ブロックにどれだけかかるはずか。自分のマシンは見つけたのか。ハッシュレートはいくつか。つながっている相手はどの版を動かしているのか。トランザクションはどこへ行ったのか。8月15日、ネットワークに、誰も求めていなかった数字が現れた。彼はそれを9分で正しく読み解いた。運がよかったのではない。私は、いつもの習慣が出たのだと見ている。10週間、数字を見えるようにしてくれと言い続けてきた人だから、その数字が本当に大事になった日にも、もう目を向けていた。
71件 / 15スレッド
BitcoinTalkトピック183におけるlachesisの文脈投稿。msg1620の前。
BitcoinTalkトピック296におけるlachesisの文脈投稿。msg3495の前。
BitcoinTalkトピック753におけるlachesisの文脈投稿。msg8388の前。
lachesisが異常な出力値をUINT64_MAXではなくINT64_MAX (2^63/10^8) と特定。バリュー・オーバーフロー事件への最初の技術的診断。
BitcoinTalkトピック145におけるlachesisの文脈投稿。msg1256の後。
BitcoinTalkトピック218におけるlachesisの文脈投稿。msg1828の後。
BitcoinTalkトピック240におけるlachesisの文脈投稿。msg2132の後。
BitcoinTalkトピック286におけるlachesisの文脈投稿。msg2947の後。
BitcoinTalkトピック343におけるlachesisの文脈投稿。msg2880の後。
BitcoinTalkトピック43におけるlachesisの文脈投稿。msg1323の後。
BitcoinTalkトピック434におけるlachesisの文脈投稿。サトシを引用。
BitcoinTalkトピック441におけるlachesisの文脈投稿。msg4095の後。
BitcoinTalkトピック550におけるlachesisの文脈投稿。msg5378の後。
BitcoinTalkトピック576におけるlachesisの文脈投稿。サトシを引用。
BitcoinTalkトピック611におけるlachesisの文脈投稿。サトシを引用。
BitcoinTalkトピック628におけるlachesisの文脈投稿。msg6508の後。
BitcoinTalkトピック696におけるlachesisの文脈投稿。msg7364の後、サトシを引用。
BitcoinTalkトピック760におけるlachesisの文脈投稿。msg8413の後、サトシを引用。
BitcoinTalkトピック813におけるlachesisの文脈投稿。msg9454の後。
BitcoinTalkトピック589におけるlachesisの文脈投稿。
BitcoinTalkトピック806におけるlachesisの文脈投稿。
BitcoinTalkトピック782におけるlachesisの文脈投稿。
BitcoinTalkトピック158におけるlachesisの文脈投稿。msg1582の前。
BitcoinTalkトピック171におけるlachesisの文脈投稿。msg1815の前。
BitcoinTalkトピック199におけるlachesisの文脈投稿。msg1670で引用。
BitcoinTalkトピック242におけるlachesisの文脈投稿。msg2078の前。
BitcoinTalkトピック287におけるlachesisの文脈投稿。msg7694の前。
BitcoinTalkトピック305におけるlachesisの文脈投稿。msg2895の前。
BitcoinTalkトピック383におけるlachesisの文脈投稿。msg3339の前。
BitcoinTalkトピック461におけるlachesisの文脈投稿。msg4775の前。
BitcoinTalkトピック528におけるlachesisの文脈投稿。msg5416の前。
BitcoinTalkトピック632におけるlachesisの文脈投稿。msg7090の前。
BitcoinTalkトピック788におけるlachesisの文脈投稿。msg8804の前。
BitcoinTalkトピック823におけるlachesisの文脈投稿。msg9648の前。
BitcoinTalkトピック149におけるlachesisの文脈投稿。msg1653の前。
BitcoinTalkトピック217におけるlachesisの文脈投稿。msg1827の前。
BitcoinTalkトピック299におけるlachesisの文脈投稿。msg3008の前。
BitcoinTalkトピック393におけるlachesisの文脈投稿。msg3510の前。
BitcoinTalkトピック437におけるlachesisの文脈投稿。msg4037の前。
BitcoinTalkトピック55におけるlachesisの文脈投稿。msg1596の前。
BitcoinTalkトピック601におけるlachesisの文脈投稿。msg8924の前。
BitcoinTalkトピック626におけるlachesisの文脈投稿。msg6542に引用。
BitcoinTalkトピック72におけるlachesisの文脈投稿。msg2886の前。
BitcoinTalkトピック84におけるlachesisの文脈投稿。msg1579の前。
BitcoinTalkトピック862におけるlachesisの文脈投稿。msg10290の前。
lachesisがスレッドを開始: SHA-256衝突への対処
lachesisがスレッドを開始: 機能リクエスト: 接続数の制限