アナーキズムとブロックチェーン


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

概要

 ビットコインは,しばしばリバタリアンが理想的な社会を創る道具として引用されている.ただし、ビットコインを支える技術であるブロックチェーンは,アナキズムにも適した特性をもつ.中央当局を経ることなく緩い匿名性を提供するビットコインの能力は,リバタリアンの支持を得ている.さらにアナキズムを支持するブロックチェーン・テクノロジーの考察は,暗号アナキストに偏っている.

 本稿では,ブロックチェーンの説明後,暗号アナキズムとは異なるデジタル・アナキズム・モデルを提案し,アナキズムをを支えるテクノロジーとして理想的であるブロックチェーン特有の協力的性質を複数の局面から考察する.

 これにより本稿では,ブロックチェーンは単なるリバタリアンや暗号アナキストの道具ではなくて,デジタル・アナキズムのガバナンスを強化するものだと提案する.

プログラム化された社会 vs. 制御社会

未来を変える仮想通貨を作っていこう

自分の考えていることです.

インターネットの拡大と人工知能の進化は,社会構造と相互依存的に人の生活を大きく変化させている.例えばスマートフォンの普及拡大に依って,我々の生活様式が大きく変わったことは否定できない.

   昨今の急激な情報化によって,決定論的な社会構造がつくりあげられつつある.このような社会構造の在り方を,ここでは制御社会と呼ぶ.

 制御社会では,監視の目は偏在し,機械によって個人が限定される.制御社会の技術は,もはや国家の独占物ではなく,大企業によっても利用されている.例えば、企業のマーケティングに利用されるポイントカードや電子マネーがその一例である.人工知能によれば,我々は自己決定し判断する主体としてではなく,一定の確率や法則に基づいて,その行動を予測することのできる対象として把握されている.そこには、過去の事実に基づいて未来の行為を予測するシミュレーションがおこなわれている.膨大な個人情報の蓄積は,我々が自分で何かを判断する前に,するべきことの指針を提示してくれるようなシステムとして利用されている.それは,個人が何を選んだか,何を望んだか,何を考えたかということが,自動的に蓄積され,その個人情報の集積を元に,次にするべきこと,選ぶべき未来が,あらゆる場面で提示される.そのようなシステムの典型的な例としては,サイトにおける追跡広告である.自分の欲望が他者によって決定されているかのように見えるという点で,感情的な違和感を表明する人が多い一方で,このような機能は,便利なものとして受け入れられつつあり,すでに我々は,このようにデータベースと相互作用する振る舞いの中で生きている.

 この相互作用は,我々自身の履歴に基づいた事実として,我々の意志決定に影響を与えており,決定論に志向している.それは我々の意思決定においてバイアスをかける.また社会的に生まれ持った属性や過去の犯罪履歴から,その後の人生が社会に対するリスクの計算によって予測され,断言されてしまうことを起こす.

 インターネット,後のソーシャルメディアは,登場当初,無政府を標榜できるようなメディアとして登場したが,それは現在,国家や大企業による制御社会で力を行使する最高の手段となった.

 我々は,技術者の観点からポスト・インターネット社会についての見解を示すことを目的としている.それは,技術で自由を得るための新しいや手法やツールを開発することも最終的には含んでいる.

 かつて,リチャード・ストールマンは営利企業が開発し販売するソフトウェアを,新たにフリーソフトウェアとして書き直し,ソースコードを配布してユーザーに開放した.それは,企業が開発している私有ソフトウェアの多くが,ソースコードを隠蔽し,バイナリ表記の状態で流通しており,我々は例えソフトウェアが生活に不可欠なものであったとしても,その中身を見ることも知ることも不可能であることに起因する.すなわち,そこは外部からは立ち入ることのできない不可侵的な秘密の領域となる.

 彼は,未来がコンピュータの時代になることを確信した上で,ユーザーが私有ソフトウェアによって行動が制限され縛られてしまうことを危惧し,ユーザーの自由と創造性のために「フリーソフトウェア」という考え方を広める活動を始めた.

 これは,現在のインターネット,ソーシャルメディアにもそのままあてはまる.

 一般的なコンピュータユーザーは,不・自由(自分の意図で操作できないよう)なコンピュータ環境に置かれたとき,ある自由と引き換えに,他方の自由を差し渡すことに気づいていない,さらに,自分が被っている犠牲に気がついていない.GAFAは支配者であり,我々は被支配者である.

 我々は,個人のデータをシステムが今以上収集することを阻止するような仕組みを再設計する必要がある.すなわち我々が民主的に生きられるような新たなシステムを創出する必要がある.

ビザンチン将軍問題 再び


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

ブロックチェーンとビザンチン将軍問題は,しばしばセットで見かけます.

それが何を意味するのか疑問に思っているならば,もう一度考えてみましょう.

1982年に,ビザンチン将軍問題と呼ばれる数学的問題が定式化されましたが,その本質について知っている人は多くないです.

1つの城塞帝国が,他方の帝国から狙われています.戦闘力のバランスは,2つの帝国間で均等だとします.

ここで,狙っている帝国の将軍のすべてが同時に攻撃することに同意すれば,彼らは城塞帝国を克服し戦いに勝つのに十分な力を持つことになりますが,
何らかの理由で彼らが同時に攻撃を調整できず,たかだか1人の将軍でさえメッセージを逃すと,狙っている帝国は戦いに敗れます.

これは,暗号化について説明しています.

協働して何かをしようとするとき,伝え合うメッセージが改ざんされていないことをどうやって保証するのでしょう.

基本的に解決策は,すべての将軍ができるだけより多くの計算をできるようにすることです.裏切り者を計算力で排除するのです.

だから,ブロックチェーンがより多くの計算能力,チェーンの中でより多くのハッシュ能力を持っていれば安全になるというこの考えがでてくるのです.

ビザンチン将軍問題は暗号化についての物語であり,これは単に敵対者や悪意のある人々の存在下で情報を安全にやり取りする方法の研究であり,それがすべてのセキュリティと不変性の根底に横たわっています.

ブロックチェーンの使い方

未来を変える仮想通貨を作っていこう

ブロックチェーンは,分散化されたデータベースです,ブロックチェーン長所はよく聞かされているでしょうから,ブロックチェーンの短所を話しましょう.
取引確認のスピード,電力の消費,また,コンセンサス・プロトコルは,元帳の機能とそのスケーラビリティに影響を与えます。

1) ブロックチェーンが扱う情報が多くの人々によって使用されることを前提としている場合,オンライン処理を迅速に達成することが非常に重要です.

2) スマートコントラクトを作成する際のアルゴリズムは,商取引から製造までのあらゆる領域の法的問題を解決していなければなりません.

3) ブロックチェーン・プラットフォームの開発者は,オープンソースコードの作成にまだまだ積極的に取り組まなければなりません.

さて,スマートコントラクトを作成するためのアルゴリズムで,トランザクション速度の高速化,スケーラビリティなど,いくつかの機能的な課題は,解決策を見つけられるのでしょうか.

ウクライナは,ブロックチェーン実装における世界のリーダかもしれません.ウクライナのブロックチェーンは,テストされていて,実験は28ノードとネムで行われています (ブロックチェーンのコンセンサスプロトコルは,投票システムとありますが,コンセンサスプロトコルはすべて投票です)で .手数料はかかりますが,試みが成功すれば公的に重要なデータを無制限に長期保管するための合理的な価格だと思います.

また,ブロックチェーンベースのアプリケーションは,食料供給物流の管理に積極的に使用されています.たとえば,WalmartとIBMは共同でFood Trustブロックチェーンネットワークをテストしています.サプライヤは,納期・温度条件などをオンラインで追跡および管理できます.

技術を選択するときは,その多機能性を評価する必要があります.

Proof-of-Authority?  僕の真似か...


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

合意形成は,peertopeer取引に必須です.サトシナカモトが,Bitcoinの概念を発表してから,信頼に足るトランザクションを可能にする仕組みが出来上がりました.

この概念から,合意形成モデルであるProof-of-Workが生まれました.Proof-of-Workは複雑なアルゴリズムを解くことを必要とし,膨大な量の電力と計算能力を消費します.

Proof-of-Workは,個人的なマイニングが参入することが難しくなるようなハイスペックな専用の機械の登場によって,合意形成モデルを必要としました.そこで,ユーザーフレンドリーな合意形成モデルであるProof-of-Stakeが登場しました.でも問題がないわけではなく,早期の参入者がネットワークをサポートすることに大きなインセンティブを持つという問題を抱えています.それは,新規参入者が増えないということです.

Proof-of-Authorityが登場しました.このモデルは,個人の身元をネットワークで検証することで,合意形成します.参入者は,ネットワークを検証して報酬を受け取る権利と引き換えに,個人の身元を確認されます.参入者がのテストとスクリーニングを通され,ネットワークトランザクションの検証に参加できるようになります.

Proof-of-Authorityは,プライバシーと匿名性に焦点を当てている暗号通貨コミュニティの当初の目的と矛盾するように思われますが,我々はBlockchain技術の実用的な応用が,データの分散性であることを思い出してください.実はこれに似たことを僕は考えています.

BitGo


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

BitGoについて知っていますか?BitGoは暗号通貨を用いないブロックチェーンのサービスです.BitGoはサービスとソリューションを提供し,それらに課金するという伝統的なビジネスモデルを追求しています.

例えば,Webウォレットとしてすべてのサービスを提供するAPIを提供します.それは新しく何かを始めたい人にプラットフォーム,ゲーム,そして電子商取引ソリューションにBitGo APIを用いることができるということです.使ってみてもいいかなぁと思います.

ゲーム会社はそのプラットフォームにBitGo APIを組み込んで,様々な暗号通貨を受け入れることができます.逆に,このAPIはゲームプレーヤーにBitGo APIプラットフォームへのアクセスを提供します.

BitGoは,銀行に似ていますが,成功すれば,BitGoは成長し,世界最大のBitcoin(BTC)の取引ができると主張しています.実際,Bitgoは,Bitcoinの全取引の15%を処理していると主張しています.

さらに,BitGoは1カ月あたり150億ドルの暗号通貨を処理し,20億ドルの暗号通貨資産を保有していると主張しています.ただし,BitGoは暗号通貨の取引所ではありません.

ただし,BitGoは,少なくとも米国で最初の本当の暗号通貨銀行になるための基礎を築きはじめています.そのため,BitGoは金融業界にサービスを広げています.ゴールドマンサックスはその後ろ盾です.

BitGoはブロックチェーンサービスを販売しています.それは,プライベートブロックチェーン,API,および他の組織への暗号通貨の保管を含んでいることによって金融そのものを扱うことができるのです.このようなサービスは日本でもありそうですが,プライベートにしたときに,失われるスケーラビリティに私は疑問を感じます.

Mint Royal Mint GoldもBitGoは支えていきます.このように大規模なブロックチェーン取引インフラストラクチャの基礎を築いているため,BitGoha,暗号通貨とブロックチェーンの将来になる可能性があります.

ブロックチェーンが主流になるには,BitGoの失敗または成功によって明らかになると思いますが,それは私たちの考えている,公平と公正というブロックチェーンと異なります.サーバとクライアントで出来そうですし.

Windowsネイティブなマイニングプールを作ってDockerで動くかな 中止 からの 追記①


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

これまで,UbuntuでDockerを使って,マイニングプール(mposなど含む)を作っていくことをひたすら試行していたのですが,うっかり忘れていました,本来の趣旨は,Windowsで作るってことでしたので,これだと結局Ubuntuで作っているのと全く変わらないのではないかと.

そこで,Windowsネイティブなマイニングプールを作ってDockerで動かすこと試していきます.まず,普通にマイニングプール動かすところまでいかねば...Dockerもよくわかったし,Windows版はライセンスが問題あるかと思うのですが,やってみてもいいでしょうか...

https://github.com/coinfoundry/miningcore

に,マイニングプールを作ってくれるWindows版あったので,これを使ってみます.やることは,このgitに書いてあります.やってみましょう.公開しながら,書き加えていきます.

https://www.atmarkit.co.jp/ait/articles/1702/02/news039.html

で,自分の環境では無理と判明...でっ

Windows版DockerとUbuntuで製作中です。

FROM ubuntu:latest
MAINTAINER SachiO
RUN rm -rf /usr/sbin/policy-rc.d ADD policy-rc.d /usr/sbin/policy-rc.dRUN chmod +x /usr/sbin/policy-rc.d
ADD bitzenyd /bin/bitzenydRUN chmod +x /bin/bitzenyd
RUN mkdir /root/.bitzenyd \ && mkdir /root/.bitzenyd/testnet
ADD bitzeny.conf /root/.bitzent/bizeny.confADD wallet.dat /root/.bitzeny/testnet/wallet.dat
ENV APACHE_RUN_USER="www-data" \ APACHE_RUN_GROUP="www-data" \ APACHE_PID_FILE="/var/run/apache2.pid" \ APACHE_RUN_DIR="/var/run/apache2" \ APACHE_LOCK_DIR="/var/lock/apache2" \ APACHE_LOG_DIR="/var/log/apache2" \ APACHE_USER_UID="0" \ DEBIAN_FRONTEND="noninteractive"
RUN apt-get update -qq \ && apt-get install -y apt-utils perl --no-install-recommends RUN apt-get install -qqy --force-yes \ build-essential \ apache2 \ cron \# libapache2-mod-php \ supervisor \ curl \ openssh-server \ libboost-all-dev \ libcurl4-openssl-dev \ libdb5.3-dev \ libdb5.3++-dev \ mysql-server \ git
RUN apt-get -y update \ && apt-get -y upgrade \ && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4F4EA0AAE5267A6C \ # && gpg -a --export 4F4EA0AAE5267A6C \ # && apt-key add - \ && apt-get install -y python3.6 \ && rm /usr/bin/python \ && ln -s /usr/bin/python3.6 /usr/bin/python
RUN wget https://bootstrap.pypa.io/get-pip.py \ && python get-pip.pyRUN apt-get install -y python3-pip \ && ln -s /usr/bin/pip3 /usr/bin/pip
RUN apt-get -y purge php* \ && apt -y autoremove \ && apt autoclean \ && apt-get -y install software-properties-common \ && add-apt-repository -y ppa:ondrej/php \ && apt-get -y install php5.6 \ && apt-get -y install php5.6 php5.6-cgi libapache2-mod-php5.6 php5.6-common php-pear# && apt-get install -y libapache2-mod-php5
RUN pip -VRUN rm -rf /etc/apache2/apache2.conf
ADD apache2.conf /etc/apache2/apache2.confADD apache_default /etc/apache2/sites-available/000-default.conf

https://github.com/sgs01115/TestingAdockerForBitZeny

にて,公開中ですので,随時,最初からの説明を書いていきます.

ちょっとした嘘


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

AIについてのちょっとした嘘

AIのブームはいつまで続くでしょうか.AIは確かに,世界を革命的に変化させるような力を持つように見えます.ただし,その技術は誇張されているかもです.
実は,AIを名乗る企業でも本当に革新的なAIテクノロジを駆使しているわけではありません.つまり自称人工知能なのです.彼らは,既存のソフトウェアにAIを付加的に用いて,ソフトウェアをより興味深く見せるための道具としてAIを使用しています.
例えば,チャットボットは,大手企業のライブラリやAPIを使用して対話を作成したり,キーワードの探索して対話します.ここで使われるAIは,大企業で学習済みのデータ・ライブラリを使用しているだけです.時には,単なるデータベースを使うことさえあります.
もっと言えば,AIがこなしているように見せかけても,人が作業している場合もあります.
このようなからくりは,どうしたら見破れるでしょうか?,単純にサービスが,安い,AIの専門家がいない,機械学習に利用できる大きなデータを持っていないことを見ればよいでしょう.

ブロックチェーンのちょっとした嘘

ブロックチェーンは,おそらく人工知能に次いで,ブームになっています.ブロックチェーンを扱う世界は,本当に小さなギークの集団から,何千億もの時価総額を持つ世界的な業界へと急速に成長しました.
ブロックチェーンを用いた暗号通貨の開発がオープンソースであり,この性質により,この業界は一気に世界規模に進出することが可能になりましたが,そこには,少しばかり?!の嘘もあります.
ほとんどのICOは機能していないのが現状です.つまり大多数は成功していないのです.

何が正しいの?

皆さん知りたいですよね.経済的に成功している国の指導者たちを見ると,絶望感があるかもしれません. 嘘はときには.人々が未来に進むのを手助けしているように見えます.技術の進歩は,多くの情報と機会を私たちに与えてくれて,民主化を進めるための最も公正な方法でだと私たちは考えます.少なくとも私たちは,人類の未来を本当に気にかけているのです.それこそ,トラストレスに...

合意形成と障害


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

分散システムアプローチ

Casper CBCは,分散システム問題として合意形成の問題に取り組んでいます.

まずはじめに,分散システムにおける障害とは,なんでしょうか.

コンセンサスメカニズムの前提は,「障害の数が十分に少なければ,すべて問題ない」ということです.これは,「十分に障害がある場合にのみ,問題が発生する」と言い換えることができます.

コンセンサスメカニズム

さて,わかりにくい専門用語に慣れましょう.

バリデータ:合意を形成するノードのことをバリデータと呼ばれます.
メッセージ:メッセージは、合意に達することを試みる努力の中でバリデータによって生成され伝えられます.

メッセージ

メッセージは,合意形成プロセスに参加している間にバリデータによって生成され,伝えられる情報です.Casper CBC合意形成メカニズムでは,メッセージは以下の構造を持ちます.

メッセージ構造 =(値、バリデータ、正当化)

メッセージ構造を説明します.

値:値は,バリデータが合意に達するようにネットワークに提案する値のことです.
バリデータ:これはメッセージを生成しているバリデータです.
正当化:メッセージの正当化は,バリデータがその特定のメッセージを生成している間に確認および確認した一連のメッセージです.後で見るように,その正当化は提案された値を文字通り「正当化する」ことになっています.

ここで,メッセージに関わる2つの重要な概念を見てみましょう.

後のメッセージ:メッセージAがメッセージBの正当性を説明するものである場合,メッセージBはメッセージAよりも後になります.
推定関数:推定関数は,正当化を入力として,入力によって「正当化された」値を返します.

合意規則

提案された値は,正当化に対する推定関数の適用によって返された合意形成値と同じでなければなりません.
バリデータは2つのメッセージを作ることができないようになっています.

合意規則違反

バリデータが,受け取ったメッセージの時点差により,分離されるかもしれません.

意思決定保証

十分な数のバリデータが提案する有効な値を含むメッセージを作成した後に,多数のバリデータがフォルトを生成することなしに矛盾する値について合意形成することは不可能であることを合意規則は保証します.

したがって,十分な数のバリデータが有効な値を含むメッセージ見た後で,ノードは合意値を決定します.この「十分に高い」数は、そのノードのフォールトトレランス閾値によって異なります(この十分という部分は未定義です).

合意形成プロトコルCBCについて


https://bitcoin20xx.xyz/未来を変える暗号通貨を作っていこう

合意プロトコルは,通信ノード同士が何かに同意することを保証するメカニズムです.ブロックチェーンで新しいブロックをダウンロードするノードは,システムの履歴としてトランザクションに確実に同意することを望みます.作業証明(PoW)では,ノードがあるトランザクションでハッシングを解くと,標準チェーンに含まれることを意味します.

PoWの欠点は,非常に多くのエネルギー消費と,ブロックチェーンを維持するセキュリティとを満たしながら,スループットを増加させることが可能かどうかが定かではないところです.それでは,他の合意プロトコルはあるでしょうか?,作業料分だけ手数料を受け取るのは,理にかなっています.

それでも,Proof of Stake(PoS)という手法もあります.それは,ある量の資本を(例えば暗号通貨)を持つノードを信用して,次のブロックの選択権を得るというものです.

ここでは,合意プロトコルの概念を確認していきましょう.

CBCというプロトコルを説明していきます.

システムを設計するとき,セキュリティは重要です.システムを徹底的にテストすることは,システムが意図したとおりに機能することを確認する1つの方法です.それは予測可能な方法で機能しているでしょうか.与えられた入力は,内部的な矛盾を引き起こしませんか.

ここで,紹介するCBCという手法は,次のようなことも許容します.システムの部分が,未定義のままにされるかもしれません,これはよく言えば仕様が変更できるということです.ある性質Pがある空間Sに存在するメカニズムとして成立することを証明することができれば,Sのサブセット上でのメカニズムS’で,性質P’を証明できるかもしれません.たとえば,Sをブロックチェーン合意メカニズムのSとします.最長のチェーンフォーク選択するというこというメカニズムがS’になるように考えましょう.フォークの選択へある規則制をもちこむことによって一貫性が得らます.それは,S’におけるプロパティP’を得ることでもあります.

ノードがやり取りするメッセージは,可能な合意値を見出し,この値について合意を達するために送信されます.

合意値
検証(送信者)への参照
プロトコルによる状態の参照(正当化)

例えば,AとBという2つの検証があり,常にメッセージに値1を送信します.プロトコルは,最初は何もしません.だれでも送信できるメッセージは,名前,値1、および前の状態への参照,空集合だけです.この時点でネットワークのノードから見えるものは,空集合ø,Aからのメッセージ,Bからのメッセージ、またはAとBからのメッセージです.

私たちは,新たなメッセージが構築される以前のプロトコルによる状態を参照できるようにするために各メッセージを必要とします .プロトコルによって送られのは,単なるメッセージであり,それぞれのメッセージは以前のプロトコルによる状態を参照します.

プロトコルによって,タイミングにより,状態は分岐するかもしれません.

その場合,ノードはどちらが正しいのかを決定できなければなりません.つまり,合意値が0と1の両方であると決定することはできないいうことです.これが安全性の保証となります.

このような安全性を保つことは,2つのノードにとっては簡単です.2つのノードによって決定された合意値はお互いに明白です(常識的には片方が決まれば,もう片方決まります)が,例えば,3つの合意値が一致しないことがあります.
ライトを点灯させるには2つのスイッチをオンにする必要があるとします.2つのノードがスイッチを観察し,3つめのノードはライトを観察します.1つのスイッチがオンになっていても,必ずしもライトが点灯しているとは限りません.つまり,ライトが消えている間は,2つのノードは両方のスイッチがオンになっているのを観察することはできません.これは,両方のスイッチがオンになっていても,ライトが点灯していないことも許します.

このようなことは,ひとつのスイッチとライトの点灯の有無は明白です.

そこでCBCは,メッセージに重みづけ(合意値0のようなメッセージは重みをなくす)をして,重みがある閾値よりも大きい限り一貫した決定を下せるようにします.

これまでのところ,決定はプロトコルによる状態に依って行われて,プロトコルによる状態から合意値に向かう関数を私たちはもっていません.ここで,注目すべきは,推定量という概念の導入です.プロトコルによる状態が与えられると,推定量は合意値を返します.CBCでは,推定量は未定義のままです.