EVM, EOA スマコンの入り口

EVMとEOA

EVMはイーサの仮想マシンとのことでした。EVMはグローバルシングルトンで、簡単に言うと世界で一つみたいな。そんな感じです。
でEOAなるものがあります。それは外部所有アカウント。はい、外部ってパブリックブロックチェーンで逆にどう成立させてるの?って思います。これがどうもそういうわけではなくて、秘密鍵を持つアカウントらしいです。アカウント?とも思うんですが、イーサはどっかでアカウント式と聞いたことがあります。これがビットコインブロックチェーンとは別の設計と思います。
図か何かで覚えたいところですが、EOAが外部で秘密鍵アカウントで、それ以外はコントラクトアカウントと言って、鍵なしの代わりにスマコンのコードを所有します。コンアカはEVMで実行されるプログラムという事になります。
違っているかもしれませんがビットコインは鍵とロッキングスクリプトがあります。この役割を分けたのかな?ビットコインも分けてないだけで分かれている様なもの?まぁいいか。ブロックチェーンを作るエンジニアではなくてブロックチェーンを使うエンジニア視点では、一旦深く考えなくてOK。

コンアカにも

コンアカにもアドレスもあれば、送受信できます。はい、ビットコイン的にいうと、どっちも目的次第で異なる単なるアドレスです。分けてるけど、分けなくても動いているブロックチェーンがあるのでそこらへんの整理が必要ですね。メモリとGPUの関係みたいな。同じまな板だけどGPUは特定の演算処理に特化していますみたいな。でも実はどっちもまな板ですよって。

コンアカとEOAの連携

コンアカはただそこにあるコードです。ビットコインスクリプトみたいな。それを使うのがEOAでトランザクション(tx)を生み出せます。そういう関係との事。EOAがtxを発生させるときに引数を渡して、それをコントラクトが受けて実行します。これがやりやすいETHはライブラリがあるんでしょうか。ちょっとワクワクします。それをBSVにもさっさと導入されて欲しいものです。

コンアカには

dapp感あります。コントラクトには別のコントラクトを呼び出せます。つまり私がビットコインで気にしていたこのビットコインスクリプトをトリガーに別のビットコインスクリプトを実行できるのか?include,import的な。これができるけど便利なそれはないみたいな状況なんだと思いますが、ETH本には文章で出来るって言わずもがな書かれていました。うーん、やっぱり入門に向いているよね。

サンプルが記述されていましたが、マルチシグが典型例とのことです。マルチっつーんは鍵を3つに分散して2/3あればOKっていう仕組みです。1つクラックされても盗まれない。忘れても大丈夫。という安全なウォレットです。BTC,BCHにはこれがなかなか導入されませんでしたがETHにはいつのころからなのかあるようです。特許との兼ね合い、時期は不明ですが、そこはエンジニア視点では置いておきましょう。
鍵が分散していてもコントラクトが各方面に問い合わせにいって2/3あってればOKというのを作ればEtherの移動成立(契約)ってわけですね!

文鎮化BTCがエンジニアをぶった切った。

そして、ここで知れるわけです。やっぱりBTCを文鎮化したときに、マルチシグとか導入するようなエンジニアはETHにながれちまったんだなと。今のところ価格高騰していて売り抜けで利益をだせているならそれは文鎮化もビジネスとしては成功だったと言えるのかもね。エンジニア視点では2016年にBTC is dead的な有名な方の発言がありますが、それはそうなんだなと言えます。

続きは、プログラムサンプルとその修正などを見ていきます。

MetaMask入門

MetaMaskいんすこーる

ロームプラグインでMetaMaskを導入する。このプラグインも正規ではない詐欺プラグインインスコしないように注意が必要の様です。

chrome.google.com

URLにnkbihfbeogaeaoehlefnkodbefgpgknnが含まれているか。
レビューが多いかをチェックせよとの事。今自分が見るとレビューは1700を超えている。

f:id:online106:20201112223443p:plain

ニーモニックって知っている前提で進めますが、単語を覚えてウォレットとかがデバイス故障とかプラグインアンインストールとかしてしまっても、この12単語とその順番を別途記録してれば復活するよというものです。あなたのアドレスはあなたしか分からないので、基本的に他の誰にも触れません。なので忘れてウォレットを失ってしまうと、誰にも開けられない金庫に入ってしまう感じですね。それはもはや価値ゼロ。なんなら状況によっては世の中で使えるものに価値が移管するかも?市場からウォレットに入ってた分が消失したことになるので。

たしかイーサは上限なし無制限と聞いたので必ずしもではないかもしれないですが、その増えるタイミングは今のところわからないの勉強します。

だがしかしこれは学習とテストである

はい、ブロックチェーンにはぶっつけ本番でもいいですが、メインネットとテストネットがあります。今回は実物を入れずにテスト用のイーサを入手します。
ここでETHが入門に適していることがしみじみ分かりました(笑)

f:id:online106:20201112224606p:plain

なんですかこの勘で分かるインタフェースと機能は!すぐにテストネットに切り替えて、外部でテスト用くれるサイトに催促すればゲッツできるのが分かります。私はBSVをぶっつけ本番で、ここらへんをスルーしていますが、ここで以下にウォレット開発会社がエンジニアの間口を広めるかどうか掛かっていることに気づかされます。

切り変えましたか?Buyを押してください。

f:id:online106:20201112224951p:plain

秒で分かりますね。これはすご......なんだこれエラー出るじゃねーか。Goerliってテストネットが0.05ETHくれました。うーむ、急転直下ETHが止まるとか、gasが高いとか。そこらへんの影響なのか、はたまたETHのテストネットをそんな長いこと無償で提供なんぞできなかったのでしょうか。それとも一時的?

一応ネット調べると
qiita.com

うーん、芳しくない。テストもコスト掛かるしただではそんなにくれないってか?時間置いてまたやってみます。どうしてもできない様であればメインネットにお布施するかぁ
逆にテストネットは金払っても手に入らないとかあるんですかね。

テストネットのイーサはテスト用ですが、誰かがどこかで取得して放置するのはマナー的に良くないようです。使ったら返す心持ちが大切。

とりあえずメインネットでいいや

適当に1000円くらい買ってメインネットに送金してみました。話先に進めたいしね。5分以内かな?着金してました。では送り返すところでgas的なものを確認してみます。
f:id:online106:20201112232112p:plain

ふむ、詳細って所を見るとgasの相場みたいのが見れます。盛れば早いし、盛らないと遅い。これ結構視覚的に見れて凄いですね。BSVも手数料指定がありますが...まぁそもそもかなり安いのと、だいたい相場一律な空気があっていじるような機能もありません。どっちがいいんでしょう。マイナーが儲けるためにはここら辺が柔軟なウォレットがあってもいい気はしますけどね。

追記

改めてropstenテストネットを試みたところ無事テスト用1ETHGETできました!テスト環境だからか、昨今ETHが止まったとかなんとかの影響なのか分かりませんが、とりあえずdappできればそれでOK!!

送金テストやトランザクションなどはブロックチェーンとは?っていう全体の話と共通なので飛ばします。dappでもないし

イーサの基礎

イーサの単位

Etereumの通貨はイーサ(Ether)と呼ばれ、単位もetherです。最小単位はweiだそうで1ether=1,000,000,000,000,000,000だそうです。すごい単位っすね。

1 wei = 1 wei
1,000 wei = 1 babbage ( kilowei )
1,000,000 wei = 1 lovelace ( megawei )
...
うーん、これ使いこなすのでしょうか?無駄な知識でなければいいですが...
私は省略しますね。必要な場合はネット検索で。国際単位と先輩たちの言ってた単位があって、それぞれ使うみたいです。うーんパブリックカオス。

ウォレットについて

ウォレットは他の仮想通貨と同じようなものです。モバイル、デスクトップWebベースなどあるようです。有名どころ

  • MetaMask
  • Jaxx
  • MyEtherWallet
  • Emerald Wallet

今も存在しているのか、どれが人口多いとかは分かりません。開発学習できればどれでもいいかな。

ウェイだけ覚えておけばOK

送金時のeth,gasの単位はeth,etherとgasのweiです。なのでこれだけ一旦頭にいれるとうぇーぃ。

イーサリアムでは

イーサリアムはざくり二つ

うーん、進めばわかるでしょうけど、フロントエンドをどこでどうもっているんでしょうね。

web3.js

three.js思い出しました。イーサはWEB3.0だ!ってことでjsライブラリをweb3.jsとしているそうです。

web3js.readthedocs.io

なるほど。なんとなくBSVでいうところのマネボ(ライアン)が作っているbsv.jsですね。
これをさらに使いやすくするラッピングライブラリとかあるならETHの方が作りやすいのかもしれません。
Webフロントのインタフェースってライブラリを提供するだけですかね?それならBSVと現状は変わらなくなっちゃいます。

嫌いじゃないカルチャー

BTCは保守的で互換性重視に対して、ETHは未来を重要視して、よりいいものの為には過去をぶっ壊していく方針だそうです。
Apple的な。古いデバイスはぶった切っていくスタイルですね。そのうちETH自体エンジニアは捨ててもおかしくない。
BTCの保守的な面はセカンドレイヤーとかリキッドとかそういったところで開発遅延を慢性化させそうですね。

ちなみに互換性のないDAppを作るという事はユーザの移行などにコストを割かないといけないということです。
BSVの件でも触れましたが、パブリックブロックチェーン上でビジネスしている人は少し頭が逝っちゃってます。
ビジネスになるか起業して成り立つかを考えると勉強はしてもサービスを展開するフェーズに到底到達しておりません。
当然投資してそれに合わせて開発研究している部門はあるでしょうが、B2Cはどどーんとするメリットがありません。
なんちゃってはできるかも。

イーサの評価は開発が早い点と思われているようです。BTCと比較しているのでしょうか。ETHも開発は混乱と鈍化のイメージを持たれています。この点が支持者とどう出ない人の乖離店その1かもしれませんね。

javascriptが出来ればよい。敷居は低い。

最も低いかは分かりませんが、jsさえ知っていれば裏が複雑でも簡単なコードで実行できる。それがイーサで、ブロックチェーンを学習するための最初のプラットフォームとして適しているそうです。それはそんな気がしますね。楽しみです。

イーサリアムとは

イーサリアムとは

イーサリアムはwww、インターネットに近い新しい概念のものです。インクトミみたいな財閥特許のインターネットと違い、BTC同様にOSSなのがより注目を浴びる点です。とはいえOSSって必ずどっかの大手の管理下に収まるのが相場なので、だからすごいみたいのは特にない、あってもなくなると思います。

グローバルなパブリックブロックチェーンであり、誰でも参加することは自由なのがPoW全体に言えますが良いところです。プライベートブロックチェーンは開発運用されている会社と契約(選定される)しないと使えないです。イーサがPoWで居続けるかは不明です。予定ではPoSになりたいそうです。

PoS目指しのPoW

EOSなんかは少数選挙制で、初期に権利を得て手放さない様であれば君臨しつづけたり、財力で投票権を買っちゃうなんてもできます。まぁそれを含めてうまくやれるという算段でEOSは設計されていると思います。PoWも一応競争で50%以上とれるようであれば破壊したければ破壊することもできます。破壊するくらいなら恨みないなら関わる意味ないですが。EOSの選挙制は覇権を握ることができますがこれも結局利用者がそれで逃げるようであれば元も子もないので、なんだかんだで国と同じで強いものがうまくやるのかもしれません。

ETHの問題とそれでも学ぶ価値

ETH界隈でよく言われているのは、そんな仕組みの前に性善説で利用したとしても利用することすら難しい状況に定期的になることです。BTCでもそうですが、gas、手数料が跳ね上がります。でもだから勉強しないとはなりません。高かったら使わなければいいし、価値が上がっても下がっても学ぶ価値はあります。ここがエンジニアの視点の違いかもしれません。

一緒に勉強しとく?

ETHはデジタル通貨を目指していません。そのためお金になりたいxrpやbchと競合しません。bchは通貨目的以外の人も存在しているのでキッチリとは分けられないですが...。

BTC,BCH,BSVよりETHはリッチなプログラミング言語が使えるそうです。そのため入門としてもってこいなのかも?

イーサの誕生理由

BTCは非常に使いづらい制約を載せられてしまいました。送金が遅く、データをほとんど載せられないというものです。そのメリットとしては当時の貧弱なインフラでお金として多少は使えるようにしたいためと思います。そのような背景からLTCなども生まれ一定のニーズを獲得したのかと思います。
そこでBTCでできるはずだったスマコンができなくなったのでETHをつくることになりました。

急遽若いビタリックさんが草案を出して巻き込んでいったようです。BTCの捨てた機能を拾ったとは厳密には違い、参考にしつつ考案したといったニュアンスかなと受け取りました。

さっさと技術的な所に行きたいが

書籍をさらっと読みながらなので序章はこんなことばかりになる。知っていた方がETHな人と話が噛み合うだろうから一応。

フェーズ

フロンティア、ホームテッド、メトロポリス、セレニティと開発フェーズが分かれていて、結構互換性なしのアップデートをしてきたようです。
なんか他にもあるようだけど、そんな感じです。
そう聞くとプロトコルロックをすべきと主張して順当にやってきたBSVは課題に対して有効な対処をしたんだなと感じる。

ちょっとした技術話

ポートは30303でEVMという仮想マシンで処理するそうです。

チューリング完全

イーサリアムビットコインと異なりチューリング完全らしいです。要は止まらずに計算し続けられるよってことですかね。ビットコインはだめなんですかね?ちょっと調べたところ、永遠に動けば必ずしも良い訳でもないようです。よほどの処理をするコンテンツを作れる日がくるまで気にしなくてもよさそう。チューリング完全は凄い訳ではなくて、そういう仕組みにすること自体は別にやろうと思えば他のブロックチェーンでもできるみたい。
またパブリックなブロックチェーンでは危険性も伴うとの事。うーん、ではなぜチューリング完全にしてるのでしょう。

無限ループを防ぐためにある

チューリング完全のせいで高度な計算を永遠にできてしまう。すると非常にノードに負荷が掛かる。みんなでこれをやったら成立しない。そこでgasがあるそうです。ガス代は多めに払っておけば、残りは払い戻されるそうです。ただ価格が固定ではないので相場を適当に算出するんでしょうかね。

スマコンより広いDApp

知りませんでした。スマコンは契約なんで、スマコンで作りたいものあるかなーと思っていましたがDAppはWebアプリみたいなものも含むと。そうですねDApp作りたいです。

本日はこの辺で。追記か新規投稿を行います。

BTC,BCH,ETH,EOSはすべて学ぶ価値がある

仮想通貨として価値があるないは、首を突っ込んでいるエンジニアには最重要事項ではない。なぜならEOSがダメになったとしよう。そしたら生き残っている別のスマコンを触ればいいのです。Win派だからWinがなくなりMacしかなくなったらパソコンは使わない!なんてエンジニアはほぼいない訳です。

BTC,BCHの作り上げてきたサービス、エンジニアの事は知っていて損はない。BTCの時からずっとブロックチェーンを利用したサービスを構築する人は、私にとって先輩にあたる。実際現在BSV上に構築している古株は当然BSVが誕生する前から携わっている。

この点、BTCの汚点だが早々にETHにスマコンエンジニアを流出させてしまった。現在BSVはジェネシスからそこそこ順調に成長しているが、ETHに流れたエンジニアや、そこで培ってきたノウハウは流用すべき点がある。

この点は待てばいいかと避けていたが決定的だったのがsCryptとETHエンジニアの記事を見た時です。まず「ETHのようなことがBSVでもすでにできるんだ!」と言われる訳です。いやETH勉強してないしなーみたいな。業界の先輩はBSV以前からブロックチェーンエンジニアな訳です。BSVもコミュニティはBTC->BCHと来ていて、その中で構築したり、EOS触ってる人だったり、ETH,LTC触ってる人もいます。そもそもBSVしか触ったことないエンジニアは入学したての新入生状態です。
長くなりましたがsCryptの決定打がSolidityです。では以下のサイトを閲覧してみてください。

solidity-jp.readthedocs.io

日本語で冒頭になんて書いてあるでしょう。またフレームワーク(デザイン)はどうでしょう。これsCryptがやろうとしてることよねって。
そうなんです。sCryptにはETHをディスるよりも敬い参考にすべき先輩がいます。いずれ追い越すにしても先駆けて着手している方です。
だからエンジニアほどあまりプロレスをしないのです。畑が違ってもべつに移動できます。いずれその優秀な先輩がウチの畑にくるとしたら、
ディスってるよりテメーの成長を急がないといけません。

そして逆にいうとチャンスでもあります。BSVは根幹の悪い部分を排除して仕切りなおしています。いまブロックチェーンで飯を食っている人は、あまりBSVの仕事はありません。でも仕事が増えたら当然移ってきます。それまでのこの時間は勉強させていただきましょう。

BSVが順調なのは仕切り直しで他所の良いもの悪いものを判断できたからで、道なき道をすすむこれからはこれから参加するエンジニアにかかっています。動画、音声、画像、長文。これらをオンチェーンにまともに安く速く上げられるブロックチェーンはこの世に現存しません。これからBSVが時間と共に目指していく世界なんす。

ちなみにEOSの日本語の(電子)書籍は見当たりませんでした。ネットで探せばあるかもしれません。日本語で優しいブロックチェーン技術を定期的に購読して日記を記す??ノルマにチャレンジします。急がば回れ、KotlinもやりたいがsCryptを最高に使える状態でアプリを作りたいから一旦止めています。

reactは良かった。でもアプリがいい。

たとえばbit.svの人は一旦ブロックチェーンとは違う仕事を受注したようだ。これは開発者からすればそれが普通だ。

現在ブロックチェーンはただただ収益はなく投資されている状態。これはしばらく続く。youtubetwitterが最近まで黒字化できないのと同じ。だから投資なくずっと時間を割くことはできない。

coingeek.com

ジョンはBSVの予測が早すぎることに注意を払っています。

要点は、人々が考えるよりもずっと長くかかることです。

今回のハッカソンでは現実的なアプローチをした企画がラインナップした。しかしどれもどこまでブロックチェーンするのか?マデブロをエンジニアたちは注目する。フルは夢があるし試したいが、正直とうぶん作っても使えない。未来はそうなるかもしれないから勉強にはいいかもしれないが、今すぐは使われないし、使い物にならない。

さて、ハッカソンは上位者は出資される可能性がある。これを参加者はどうとらえているのだろう。出資が滞るとしりつぼまりでフェードアウトすることになる。こうなると次のチャンスは当然つかみにくい。果たしてブロックチェーン事業で収益がない状態で、経費掛かりまくりの状態で、起業する算段はどこにあるのか?

カルビンの出資を終えたトニックポウはどこまで持ちこたえられるのか。私はそういう目で見ている。今投資を受けるには、長期的に増資をしてもらえる前提でなくてはいけない。テレビ広告からネット広告に企業が移るまでにどれほどに時間が掛かったか中年ならわかるだろう。10年くらいほそぼそともしっかり経営し続けていく事業計画が必要になる。

_unwriter氏はコミュニティの前半を無料にした。チップとか、チェーンに残したいものは有料になる。ビジネスライクではない路線を模索している。この手法は企画次第で投資なくスタートできる。powpingの登場でこれまでの何に付けても金のかかるブロックチェーンサービスはユーザに敬遠されるようになる。しかし_unwriter氏も投資を請けた身。模索も褒めてばかりではさきはいずれなくなる。ソーシャル系はポコポコ作られていますが、まー正直利用はイマイチどころか全然です。twetchもpowpingもそれいがいにもtocialとかあとインスタっぽいオシャレな奴もありますよね。でも使わないですよね。なぜかって人が少ないからですかね?ひとが少なくてもつかわれるような閉鎖コミュニティでワンチャンありますが、それもブロックチェーンだから..で度々お金を請求されたら、無料のでいいやってなります。slackやlineやdiscordでいい訳です。ほかにもたくさんあります。

まとめると、当たるときはいつか来る、投資なんて今受けるのはリスクじゃないの?って話です。当たった瞬間にね、これまでにないくらい投資資金はあつまりますよ。比じゃないくらいに。投資させてくれと。いやいらんと。

で、『タイトルのreactは良かった。でもアプリがいい。』ですが..これはwebにおいてreactっていいなぁ勉強になったなぁと大きく感じつつも、どっちもサービスがあったらアプリを使うよなぁって話です。twitteryoutubeも...食べログはそんなに開かないのでwebでいいかな。メルカリも同じ感じ。まぁみなさんも使う時間が長ければアプリになるはずです。webはあまり使わない人向けの窓口で、結局コアユーザはアプリを使う。それとアプリだけならAPIサーバだけあればいい。そのAPIサーバを簡素化にひたすら集中できる。だからアプリで作ってAPIブロックチェーンを時代に合わせてすりあわせていけばいい。だからアプリでKOTLINとswiftを勉強するのです。

またbitcoin scriptを学ぶ日が延びました。でも1言語3か月くらいでさらっとはいけるんじゃないでしょうか...とりあえずmac miniをぽちりました。