Skip to content

Instantly share code, notes, and snippets.

@monacoinproject
monacoinproject / update_181219
Created December 18, 2018 17:01
プラグイン更新(18/12/19)
・スレッド関連の更新
ミューテックスの追加(CreateMutex、DeleteMutex、Lock、Unlock)
Sleepの追加(luasocketにもsleepはあります)
マルチスレッドサンプルの更新(thread_test.lua)
・rawtransaction APIの追加
fundrawtransaction
getrawtransaction
createrawtransaction
decoderawtransaction
@monacoinproject
monacoinproject / plugin.txt
Created December 12, 2018 13:40
MonacoinにLua VMを組み込んでみました
・coindを立ち上げておくだけで任意の処理をしてくれると便利になるかも
・採用例が増えればノードが増えるかも
・coindを使った学習をする際に、rpcからスタートするよりかは若干楽
という期待をしつつ作成。
ソースはplugin_devブランチ
>git clone -b plugin_dev https://github.com/monacoinproject/monacoin.git
使い方は、wallet.datと同じフォルダにpluginフォルダを作成して、その中にluaで書かれたプログラムを入れ
> loadplugin luaファイル名
@monacoinproject
monacoinproject / asic.txt
Created October 2, 2018 23:09
ASICについて
MonacoinprojectはASICを否定しません。
ASICは消費電力、ネットハッシュの確保(=攻撃コストの増加)という点で有効です。
(同じようなことを2014年にもどこかで書いた記憶が・・・)
先のアルゴリズム変更は遅延を解消することが目的で、"結果的"にscrypt-ASICが使えなくなったという事です。
もっとも当時のscryptはSHA256に次ぐ採用率の高いアルゴリズムであったので、他のコインへの流用は十分可能だったと思います。
将来的にLyra2REv2でも遅延・寡占が問題になった場合はアルゴリズムの変更が検討されるでしょう。
ASICの首を絞めるのはASICによって遅延を引き起こす一部のユーザーにあります。
逆に遅延も無く、高いネットハッシュが安定して続くのであればアルゴリズムの変更はありません。
@monacoinproject
monacoinproject / checkpoint.txt
Last active September 12, 2018 09:27
0.16.2チェックポイント配信説明
51%攻撃などの大規模reorgを狙った攻撃を無効化するため、0.16.2がある程度浸透したところでチェックポイントの配信が行われます(*)。
ジャッジノードと呼ばれる特別なノードがネットワーク上に複数設置され、予め定められたルールに基づいてチェーンを確定させます。
採掘から数ブロックの経過をモニタし、確定したブロックをチェックポイントとして配信します。
判定には個々のトランザクションの内容は参照されず、Monacoinprojectが取引に介入するようなことはありません。
ただしMonacoinのチェーンを乱すSelfish Mining等の手法に対しては今後対策を行う可能性はあります。
ジャッジノードの仕様についてはセキュリティの点から非公開とします。
最後に受信したチェックポイントはdumpvolatilecheckpointコマンドで参照できるので、このコマンドで返るHeightの値より低ければ入金は確定したとして良いと思います。