はてなキーワード: トランザクションとは
何が言いたいんだお前?
俺は「こういう仕組みがあれば、詐称が防げるんじゃないか?」っていうアイデアマンとして投稿したんだろ
お前と「正しいかそうじゃないか」をやるゴミ論破ゲームなんてやってねーよマヌケ、「それを実現するとしたらこういう仕組みが要る」とかもっと生産的なことを言えよ低脳
あと、オンラインチェスにもNFTトークンを紐付ける仕組みというのはある
最近コンピューターサイエンスがプログラマーに必要か否かみたいな話が上がっているが、そもそもコンピューターサイエンスって何だよ。どこまでの範囲をさしてんの?
ググって出てきた情報を整理しただけなので詳しい人、補足・訂正よろしく!
https://www.acm.org/binaries/content/assets/education/cs2013_web_final.pdf
CS2013はACM/IEEE-CSによるカリキュラム標準。
ACM(計算機協会)はコンピュータ分野全般の国際学会、IEEE-CSはIEEE(米国電気電子学会)の中にあるテクニカルソサエティ。
https://www.ipsj.or.jp/12kyoiku/J07/20090407/J07_Report-200902/4/J07-CS_report-20090120.pdf
J07-CSは一般社団法人情報処理学会がCC2001CSをベースにアレンジを加えたカリキュラム標準。今はCS2013を反映したJ17-CSがあるらしいけどその辺は良く分からん。
https://www.ipa.go.jp/files/000024060.pdf
J07ーCSから抜粋。CS2013と比較するとナレッジエリアがあったり無かったり。
スマートコントラクトを実行するには、トランザクションを送る必要があります
スマートコントラクトというのは基本的に、ブロックチェーン内の状態を変更する処理を行うものなのですが、
自分のウォレットのアドレスだったり、コントラクトがもつアドレスだったり、です
で、このアドレスの所有者が、署名をして、トランクザンクションを送るのです
1.自分でトランザクションを生成する(コントラクトを直接叩く)
2.コントラクトの作者が作ったwebページ(フロントエンド)でトランザクションを生成してもらう
「ブロックチェーンをこねこねしてるアプリ」というのは、おそらく上記のwebページのことを指すと思うのだけど、このwebページがしていることはスマートコントラクトの実行ではなく、スマートコントラクトを実行するためのトランザクションの生成です
※端的に言うと、スマートコントラクトを実行するのはマイナーです。webページ上でスマートコントラクトをシミュレーション実行することはありますが、実行結果をブロックに書き込めるのはマイニングに成功したマイナーだけです。
ハック無罪は確かによくない。それは同意する。技術には悪い側面もある
暗号通貨の詐欺で財産を奪われた人も大勢いるし、ギャンブルで無一文になった人も大勢いる
ただ、増田は暗号通貨のことを誤解している。実は暗号通貨はもう通貨という側面で注目されていない
ユーティリティトークンという使われ方をしていることが多い。これはwebサービスのインセンティブ設計に使われている
スマートコントラクトは、書き換えることができないプログラムコードで、ブロックチェーンに刻み込める
トランザクションを送れば、マイニングをするマシンがこのプログラムコードを実行する
現状は金融関連のサービスしかないけど、この2つの要素があればかなり面白いことができる
ただ、今あるパブリックブロックチェーンはスループットが悪すぎてみんなが使えるほどの性能はないから、普及にはもう少し時間がかかると思うが
経験豊富なプログラマほどこの言説をすっと理解して、経験の浅い人ほど理解できないらしい。
よくある誤解に「学習のためには車輪の再発明をした方がいい」というものがある。
これは間違っている。学習のためであっても、既製品の劣化コピーを作るよりも、既製品を利用した方が学ぶものは多い。
たとえば、初心者がデータを保存するしくみを試行錯誤して実装したところで、既存のリレーショナルデータベースよりも良いものができるはずがない。
一方、最初からデータベースを使っていれば、単にデータを保存すると言う目的を達成するだけではなく、主キーや外部キー、インデックス、トランザクションやSQLなどの重要概念を学ぶことができる。
プログラミング初心者が車輪の再発明をするのは将棋で言えば、駒の動かし方を覚えただけの初心者が「一手目は76歩がいいのか26歩がいいのか」なんてことを延々と考えているようなものである。そんなことに意味はない。そんなことをするより、さっさと定跡を覚えた方がよい。
さて、経験豊富なプログラマほど「コードを書くな」というのがすっと腑に落ちるのは、それがどういうことなのかを理解しているからだ。
たとえば彼らは、「設定より規約」という概念について、具体的な実例とともによく理解している。
一方、経験の浅いプログラマは、設計やコーディング能力も低いし、複数のパラダイムや良いフレームワークにも触れたことが無いから、「コードを書かない」というのが何を意味するのか理解できない。だから、「コードを書くな」という主張も理解できない。
横浜市で、対象人数が30万人くらいしかいない老人のワクチン予約サイトに200万件のアクセスが集中した件。
これは、サイトの作りが良くないことに起因する。
自治体のサイトのHTMLソースを見てみると分かるが、30~40ファイルくらいの外部ファイル(JavaScript、CSS、画像)がそのページから読み込まれているのが常だ。
つまり1ページの画面表示をするために30~40回のアクセスが発生する。
で、予約などの動的コンテンツの場合は、想定外のトランザクション不具合発生抑止や、申込途中のページが検索エンジンに拾われないようにすることなどを理由に、キャッシュを保持しない仕様としているのが普通だ。
そのため、ブラウザのキャッシュ機能が使えず、1ページ移動するたびに30~40回のアクセスが発生する。
2万人が4ページくらい画面遷移すれば200万アクセスを優に突破する計算だ。
「なんで対象が30万人しかいないのに200万アクセスも来るのか」という理由はここにある。
本来は、この手の動的サイトでは外部ファイルはクライアントサイドではなくサーバーサイドで呼び出して、HTTPアクセス自体は1ページ当たり数回に抑えるべきなのだが、そうなっていないようだ。
というかトランザクションを見逃してた、トランザクション上手くやりたいならまともなDBMS入れないと無理
誰も使ってないWindows PCとか転がっていればSQLServer Express(無料)とか入れてやる?通信の面倒くささでいえばSQLiteと一緒だろうけどエンドユーザー側がドライバとかインストールする必要はないはず(ODBCデータソースの設定は必要、めんどくさい……)
どうせODBC使うならドライバインストールくらいって思ってついでに増田がLinux慣れしてるなら鯖立ててポスグレでもMySQLでも何でも使えばいいと思うけど
SQLServerのOLEDB接続、廃止されたもんだと思ってたら復活していたらしい エンドユーザー側の設定不要だと思うからこれが一番楽かも?
追記2
はてブのホットエントリ(総合)で月内に数多く[あとで読む]タグを集めたエントリ
336あとで/3338users 良い歯医者を見つける唯一の方法|おてう|note
261あとで/2389users 凡人が、天才に勝つ方法。|つんく♂
249あとで/1714users 最新研究からわかる 学習効率の高め方 - 分裂勘違い君劇場 by ふろむだ
205あとで/1413users 総務省が無料データサイエンス講座を開講、松尾豊氏ら講師に | Ledge.ai
195あとで/2017users 竹書房退職エントリ|竹村響 Hibiki Takemura|note
194あとで/1529users いつもの作業が5秒速くなるツールをひたすら列挙するページ | futsu | Zenn
193あとで/1328users 数学ガールオタクが初見VTuberの積分配信にめちゃくちゃ感動したメモ1|kqck|note
181あとで/1196users コードレビューの目的と考え方 - osa_k’s diary
147あとで/792users えるエル on Twitter: "コンピュータサイエンスで有名なアルゴリズムのPython実装を大量に公開しているリポジトリ https://t.co/379T4izBle 教養レベルのデータ構造やアルゴリズムから機械学習やブロックチェーン,Web関連などの応用ま… https://t.co/vSmYZW5SHw"
135あとで/1389users 200円以上のサバ缶を買うと世界が変わる。サバ缶レビュワーが本当においしいと思ったサバ缶&簡単アレンジレシピ - ソレドコ
134あとで/827users レガシーおじさん、SPAを始めてみた。そして限界を知る | koduki | Zenn
132あとで/788users Adobe、ストック素材7万点を無料で公開 商用利用も可 - ITmedia NEWS
126あとで/1173users 「事業がわかるエンジニアがいない」 - timakin.com | Seiji Takahashi (@__timakin__)
126あとで/719users ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 - Qiita
125あとで/736users 高知県物部村にある、消滅寸前の「堂平集落」 数回にわたる訪問による、近隣地区の住民からの聞き取りや現地の様子、祭事の記録 - Togetter
124あとで/827users 個人的UIデザインの情報源まとめ | takanorip | Zenn
121あとで/799users エンジニアなら知っておきたい生産性を爆上げするツール8選 - Qiita
117あとで/543users 東京大学の講義「AWSによるクラウド入門」をTypeScriptで写経した - dackdive's blog
115あとで/582users エンジニアの辛い仕事をいい感じにする技術 - コンサルの仕事術・思想から学べること - Lean Baseball
115あとで/997users 東京証券取引所様の株式売買システム「arrowhead」で発生した障害の原因と対策について : 富士通
111あとで/1435users 特殊詐欺(受け子、出し子)を始めようとしているあなたへ。|ZDH|note
110あとで/529users マイクロサービスにおける決済トランザクション管理 | メルカリエンジニアリング
110あとで/1092users 東証の記者会見は「技術がわかる経営者」「受け答えが理路整然」と絶賛する感想が集まる。なお横山CIOは落研出身 - Togetter
110あとで/840users 2020年10月に発生した東京証券取引所のシステム障害についてまとめてみた - piyolog
110あとで/887users まだ手元のパソコンでイベント配信してるんですか?クラウド上でTeamsを利用してOBSで配信した方が楽ですよ。 | 技術的な何か。
110あとで/1366users 「本醸造の醤油が当たり前になったのはここ20年ぐらい」と言っていいのは今から30年前 - 醤油手帖
109あとで/575users 入門書を終えた人に捧げる、社会人のためのGit中級編 - Qiita
106あとで/653users Low-Level Academy
104あとで/693users 全部、完全に商用利用無料!さまざまなUIデザインに適した1,064種類のSVGアイコン素材 -Emblemicons | コリス
104あとで/1276users 「自閉症は津軽弁を話さない」この謎に挑んだ心理学者が痛感したこと(プレジデントオンライン) - Yahoo!ニュース
常連サイトのNote、Qiitaに加えてZennというサイトから3ページもランクインした。Qiitaのようにプログラマー向けだがNoteのように報酬を得られるサイト。はてブに捕捉されたのはこの9月と割と最近。サルワカ | サルでも分かる図解説明マガジンの人が開発したらしい。
ブロックチェーンや暗号通貨、Web3.0、Dweb というのはここ数年、そしてこれからのバズワードであるようだ。
ここ一週間ぐらいだろうか。マイナンバーにブロックチェーンを導入しようとしている事業に関して色々な議論が発生しているようである。例によって議論に向かない Twitter 上で発生している。というか何が議論の中心になっているのかイマイチよく分からない。ただ雑然と荒れているという感覚がある。
私は技術・歴史・文化といった面からブロックチェーンや暗号通貨に対して知識がなく、学び始めたのはここ一ヶ月と言ってもいいだろう。学ぶ、といっても転がっている日本語の一般的なメディアの記事を気が向いたときに読み散らかすぐらいである。真に技術的なことは何一つ分からない。暗号通貨は Bitcoin とEthereum しか知らないし所持しているのはたまたま貰った僅かな ETH しかない。金銭的に貧しい多摩川に転がっている石くらいどこにでもいる17歳JKである。と逃げの文言を置いておく。
囲み取材で数十秒話したことが記事になっているので、正確に伝わって無さそうです。
・マイナンバーカードをいずれカード不要にしてスマホにインストールできるようにしたい
・その前にそもそも、普及のためマイナンバーカードの発行総数を増やす必要がある
という趣旨かと。
加納氏のこの時期のタイムラインから現在に向けて遡れば様々な第三者の感想や疑問を得ることができるだろう。これらに纏めて答えているのが以下の記事である。
ブロックチェーンの優位性①疎結合|加納裕三/Yuzo Kano
https://blog.blockchain.bitflyer.com/n/n4b45329e308c
加納氏とは一体何者なのかは以下を参照。
東京大学大学院工学系研究科修了。ゴールドマン・サックス証券会社に入社し、エンジニアとして決済システムの開発、その後デリバティブ・転換社債トレーディング業務に従事。
2014年1月に株式会社bitFlyerを共同創業し、2019年5月に株式会社bitFlyer BlockchainのCEOに就任。
bitFlyer創業以降、法改正に関する提言や自主規制ルールの策定等に尽力し、仮想通貨交換業業界の発展に貢献。
日本ブロックチェーン協会代表理事、ISO / TC307国内審議委員会委員、官民データ活用推進基本計画実行委員会委員。
2018年G7雇用イノベーション大臣会合、2019年V20 VASPサミットに出席。
ttps://finsum.jp/ja/2019/speakers/recQMoKK5nD9yb8Ht/profile/
ブロックチェーンを語るうえで何が重要かというと、その言葉の定義である。議論に参加している人が同じ言葉を使っているのに、各人の言葉に対する定義が異なっていると、言葉は理解できるが内容が理解できないといった状況に陥ってしまう。このことは実生活でも頻繁に起こっているように思えるが、Twitter という短文が好まれるプラットフォームでは著しくないがしろにされ不毛な議論を生む原因になっている。
加納氏が代表の JBA (日本ブロックチェーン協会)に依ると、ブロックチェーンの定義は以下の内容である。
ブロックチェーンの定義
1)「ビザンチン障害を含む不特定多数のノードを用い、時間の経過とともにその時点の合意が覆る確率が0へ収束するプロトコル、またはその実装をブロックチェーンと呼ぶ。」
2)「電子署名とハッシュポインタを使用し改竄検出が容易なデータ構造を持ち、且つ、当該データをネットワーク上に分散する多数のノードに保持させることで、高可用性及びデータ同一性等を実現する技術を広義のブロックチェーンと呼ぶ。」
定義策定のアプローチ
まず、Satoshi Nakamoto論文およびその実装である、ビットコインのブロックチェーンをオリジナルのブロックチェーン(以下「オリジナル」)として強く意識しています。
狭義のブロックチェーン(定義1)は、オリジナルを意識し、それが備える本質的で不可分な特徴を捉え、言語化しました。
広義のブロックチェーン(定義2)は、昨今〜今後の技術の展開を鑑み、オリジナルが備える特徴であっても、別の実装方式や別の目的への展開などにおいて、置換や変化が行われていく広がりを許容しながらも、特徴を捉えられるよう、言語化しました。
総務省のページも見つけたが JBA が定義するものを基礎としている。
ttps://www.soumu.go.jp/johotsusintokei/whitepaper/ja/h30/html/nd133310.html
私が疑問と漠然としたモヤモヤ感を抱くのは、最近の一般層で使われているブロックチェーンの定義には「信頼できる第三者が不要である」という点が抜け落ちているように思われることだ。非中央集権SNSで暮らし脱中央集権を推進したい私にはこの点が"ブロックチェーン"の一番重要な点であると思うが、JBA の第一定義にはこの点が記載されている。不特定多数へのインセンティブによって不特定多数による合意を形成している。これによって「信頼できる第三者が不要である」は満たされている。
blockchain (3.6)
distributed ledger with confirmed blocks organized in an append-only, sequential chain using cryptographic links
Note: Blockchains are designed to be tamper resistant and to create final, definitive and immutable ledger records.
distributed ledger (3.22)
ledger that is shared across a set of DLT nodes and synchronized between the DLT nodes using a consensus mechanism
Note: A distributed ledger is designed to be tamper resistant, append-only and immutable containing confirmed and validated transactions.
ISO の定義によれば、ブロックチェーンは、暗号化リンクを使用した一連の鎖で、追記のみで構成された確認済みブロックからなる分散台帳を指す。改ざんに強く、最終的で確定的で不変の台帳記録を作成するように設計されている。分散台帳は、一連の DTL(分散台帳技術)ノードで共有され、合意メカニズムを使用して DTL ノード間で同期される台帳である。確認された有効なトランザクションを含む全てが、改ざん耐性、追記のみの不変性を持つように設計されている。
さて、加納氏の投稿やその他の加納氏に批判的/賛同的な人たちの反応を見ても、彼らの言っている内容がブロックチェーンの定義を満たすものなのかいまいち分からなかった。
・ビザンチン耐性(BFT)
・改ざん耐性
私はブロックチェーンの主な利点はこの5つ(ただし5つにだけではない)だと考えています。これをここでは5大利点と呼びます。
なおかつ、この5大利点を概ね満たしているものをブロックチェーンと呼んでいます(ただしブロックチェーンと呼んでいるものは、すべてこの定義だとは言ってない。かつ、ブロックチェーンの厳密な定義はこれではない。)
なぜ前提として厳密な定義を加納氏の言葉で説明せずに、勝手に加納氏が定義した内容を”ブロックチェーンである”と語っているのか理解に苦しむが、加納氏の説明したい"プライベート・ブロックチェーン"を ISO の定義を基に判断すると、
加納氏の上記の2つの投稿からは、"プライベート・ブロックチェーン"と"パブリック・ブロックチェーン"のどちらを指しているのか不鮮明ではあるが、note の記事では"プライベート・ブロックチェーン"を想定している、と明記されており、議論の発端となったマイナンバーとブロックチェーンに関しても"プライベート・ブロックチェーン"を指していると思われる。5大利点を満たす"プライベート・ブロックチェーン"は存在しないのでは…。
"一方で、誤解と批判を恐れずに書けば、ブロックチェーンがBitcoinの論文に端を発するものであるとするならば、いわゆるプラベートブロックチェーンやコンソーシアムブロックチェーンと呼ばれているものは、ブロックチェーンと呼ぶのをやめて、「タイムスタンプ2.0」のような別の言葉を使うことも考えてはどうだろうか。それは、これらの技術が、リンクトークン型タイムスタンプのデータ構造の上に、決められたノードによる合意アルゴリズムを加え、記録した情報に対するビジネスロジックに応じた情報処理を加えたものであるからだ。根っこの技術は、同じHaberらによるタイムスタンプを元にしているものの、ブロックチェーンの発端となったBitcoinの論文が目指した「信頼できる第三者機関を不要にする」という方向とは別の方向の進化をしているもので、その別の2つの方向のものを同一の枠で扱うことには無理があり、理解や発展を考える上で両方にとって弊害がある。"
https://link.medium.com/TgeOXv8Dlab
https://link.medium.com/4pz5oNlHpab
これらの記事を読むと、そもそもブロックチェーンと呼ばれるものにおいてパブリックではないものは、なんびとも信用しない状況において根本的に非改ざん性を保障することができないのではないかと感じる。"パブリック・ブロックチェーン"こそがブロックチェーンであり、他のものはブロックチェーンから発展してきた技術を使ったブロックチェーンの定義を満たさない分散台帳なのではないか。
加納氏に関して覚えておきたいことは、彼は bitFlyer の CEO であり bitFlyer は miyabi という"コンソーシアム・プライベートブロックチェーン"を開発しているという点だ。当然行政に対して彼がブロックチェーンを推しているのはこれを売り込むためなのであろう。これが厳密にブロックチェーンなのかは置いておいて、このプロダクト自体は素晴らしい取り組みだと私は感じる。デジタル化によって今までの煩雑な手続きが簡単になる可能性は大いにあるし、公的文書の保存にも役にたつ。黒塗り秘匿文書を撲滅しろ。
ただ、ブロックチェーンをただの空虚なバズワードとして扱うのではなく、厳密な定義の上で使うのは大事なことだ。今回の件は、果たして全てにおいて加納氏が良くない、と言えるのだろうか。言葉というのは多数が使うことによって定義が決まる。時代が変われば定義が変わってしまうこともある。ブロックチェーンという言葉を便利な魔法の言葉にしてしまったのは誰だろう。本質を見極めない我々だ。AI 搭載!!といたるところで見る言葉だが、何をもって AI と呼んでいるのか不思議になる。実際のところ今まで"システム"と呼んでいたものなのに。日々の中で言葉をしっかりと見つめ直すのは大事だ。
この記事は、そもそもブロックチェーンとは何か、という個人的な疑問をまとめたものであり、加納氏を批判する意図は無かったわけで、最後の締めはやんわりとしたかった。だが、加納氏は立場的には日本ブロックチェーン協会の会長で、言葉を定義する立場である。言葉を定義した側がこの有様というのは遺憾である。日本の行政のデジタル化の推進は頑張って欲しい。