問題タブ [scrypt]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hash - scrypt ブロックの確率式
私は現在、scrypt でブロックを解決するための確率を計算するフォーミュラーを研究し、探しています。https://www.litecoinpool.org/calcのようなもので、1 秒あたりのハッシュ レートを入力し、ブロックを解決する確率を確認します。
注意してください、私はソロマイニングが利益を上げないことを知っており、マイナーに単純に使用できるプールがあることを知っています. しかし、これはマイニング全般に関する問題ではなく、クラック確率計算の背景に関する問題です。これは、暗号通貨のマイニングについて議論するためではなく、ブロック発見で確率を計算する方法を研究することのみを目的としています。
ティア
opencl - メモリが十分にあるのに、なぜ lookup_gap=1 よりも lookup_gap=2 の方が速いのか
2G グローバル メモリを搭載した AMD Radeon HD7850 を使用して Litecoins をマイニングしています。私の conf は以下のとおりです。
scrypt130511.clのアルゴリズムを読んだ後、時間メモリのトレードオフに lookup-gap が使用されていることを発見しました。
loopup-gap が 2 の場合は 512MB のグローバル メモリを消費し、loopup-gap が 1 の場合は 1GB のグローバル メモリを消費します。
しかし、lookup-gap を 1 に変更すると、ハッシュレートが 320K から 300K に低下しました。計算量が少ないと遅いのはなぜですか?
bitcoin - Scrypt アルゴリズムの出力が期待どおりに一致しない
私はscryptアルゴリズムの出力について頭を悩ませようとしています。
https://litecoin.info/Block_hashing_algorithmで、作成者は次の scrypt 暗号化の結果を取得しますheaderString
。
01000000ae178934851bfa0e83ccb6a3fc4bfddff3641e104b6c4680c31509074e699be2bd672d8 d2199ef37a59678f92443083e3b85edef8b45c71759371f823bab59a97126614f44d5001d45920180
【リトルエンディアン】
に
000000003b4ba52ab765631e20a04b88cd27f0b66d3509fb2da7781fae6d7901
. 【ビッグエンディアン】
これを再現しようとしていますが、その結果を再現できません。このペーパーの最後にあるテスト ベクトルの正しい出力を提供する実装を使用しています: http://www.tarsnap.com/scrypt/scrypt.pdfしかし、headerString
N の正しい設定で実行すると、 r,p(1024,1,1) 結果が得られます
c17fcd0c6d698828112ade740d4e8ad76705764da3abfc49ff3bb1863cd16472
. 【ビッグエンディアン】
私は両方から同じ結果を持つそれらの実装で同じ結果でそれを試しました:
必要に応じてバイト配列を16進文字列に解析するだけです。
ここで何か不足していますか?scrypt の実装を論文に照らして検証したときに、なぜ同じ結果が得られないのか理解できません。
これを解決するのに本当に助けが必要です! 十分な情報を提供していない場合は、質問してください。問題を解決するために最善を尽くしてください。
gpu - SCrypt ルックアップ ギャップの悪影響
内部メモリが 32KB しかないプロセッサ用の Litecoin Miner を開発しています。だから私はSCryptアルゴリズムを見ていて、Litecoinの場合はN = 1024を使用しているため、2 ^ 10 * 1 * 128 = 128KBのメモリ使用量が概算になります。
そこで、パラメータ Lookup Gap を持つ GPU アルゴリズムを調べていました。読むために、CudaMiner のケプラー コードを使用しています: https://github.com/cbuchner1/CudaMiner/blob/master/kepler_kernel.cu (535 行目)
したがって、ルックアップ ギャップは CPU とメモリの間のトレードオフであることを理解しています。それが高いほど、CPU使用率が高くなり、メモリが低下します。私が理解していなかったのは、それが正確にどのように機能するかです。
私が持っているコードで
これにより、LOOKUP_GAP バイトごとにスクラッチパッドが表示されます (2 の場合、0、2、4、6、8、10 になります)。ただし、アルゴリズムの CPU 使用率が高いのはどこですか?
私の実装は高度に最適化されるわけではなく、try to runのようなものです。
補間を使用する FPGA 実装 ( https://github.com/kramble/FPGA-Litecoin-Miner )も見ましたが、これは私にはもっと奇妙です。スクラッチパッドで値の補間を行う方法がわかりません。
ありがとう!
node.js - node.js で「scrypt」モジュールを使用すると、「指定されたモジュールが見つかりませんでした」というエラーが発生する
「scrypt」モジュールを使用しようとしています。問題は、nodejs アプリケーション (node app.js) を実行しようとすると、次のエラーが発生することです。
次の行で「scrypt」モジュールをインストールしました:
-msvs_version はこの回答から取得されます
scrypt - scrypt の実装が異なると結果が異なるのはなぜですか?
この scrypt実装を使用して、Go を使用して決定論的にパスワードを生成するための単純な gode を実装しました。私のコードはここにあります。これは関連部分の抜粋です:
コードを実行すると、次の出力が得られます。
ただし、C 実装ベースの libscryptを試したところ、同じ出力は得られませんでした。私は得るでしょう:
C コードはここにあり、これが主要部分です。
また、さらに別の実装scrypt-janeにも出会いました。これは、ハッシュ時にさらに別の結果をもたらしました。これはおそらく、scrypt jane を使用すると、使用するハッシュ関数を選択できるためだと思います。いずれの場合もランダムソルトは使用しませんでした。
ここで検証しようとしている私自身の予感は、scrypt で使用されるハッシュ関数に関する明確な基準がないということです。もしそうなら、Go、C、python、または JavaScript での実装がすべて同じ結果を生成するようにするにはどうすればよいですか? 暗号化では危険なビジネスであることを理解しているため、コードを自分で移植することは避けています。
scrypt - scrypt 出力の最大長は?
scryptでハッシュされたパスワードをデータベースに保存したいと思います。期待できる最大の長さはどれくらいですか?