更新情報

提供: tezos-wiki
移動先: 案内検索

Tezos Meetup Tokyo 2018-04-27

tezosmeetupの模様をざっくりお伝えすると、Arthur(Tezosの創業者)による1時間プレゼン+Q&Aでした。

プレゼンの概要[編集]

  • Tezosとブロックチェーンの仕組みの説明
  • ミシェルソンの特徴と具体例
  • Gasを不要化するゼロ知識証明の導入


もうちょっと詳細のメモ[編集]

  • Tezosとは
ブロックチェーンとは
ビットコインにおけるブロックチェーンの仕組み
  • ブロックチェーンを承認するいくつかのモデル
POW、一元化(?)、POS
自己改正ブロックチェーンの説明
  • ハードフォーク、ソフトフォークがあるけど、だいたいソフトフォークで対応できる
分岐した場合にどのフォークが勝つのか
経済合理性を考えるとチェーンは一つであるべき
例:チキンゲーム
  • 自己修正するブロックチェーンって誰がコントロールできるの?
ソーシャルコンセンサスは「大勢が考える妥当なところ(シェリングポイント)」に落ち着く
例:シェリングポイント
  • ガバナンスの仕組み
失った派閥はどうなるのか?
(・・・ここらへんよくわからなかった)
  • コーディングする上での目標
安全で読みやすいこと
→ミシェルソンを利用
  • ミシェルソンのコーディングサンプルなど
  • Zcashのゼロ知識証明を活用している
  • UTXOは何でもできるわけではない

(・・・ここらへんよくわからなかった)


Q&A[編集]

  • いつランチ?

→Foundationにきいて。

  • DAOみたいに致命的バグがあったらどうするの?

→プロトコル改正は半年~一年くらいの承認期間を考えてるから通常起こりえないと想定してるけど、マジでバグがあったらハードフォークすることもできる (・・・こんな回答だったかな?)

  • 承認の仕組みってトークン保有者なのか、投票率なのか

→トークン保有者の40%のうち投票率60%という二段階で考えてる (・・・こんな回答だったかな?)

  • Tezosのためにフルタイムで勤務してる人は何人くらいいるの?

→フランスに10人(会社全体だと40人くらいいる?)、NYに3人、あと韓国、ニュージーランドにもいる

  • なんで日本にきたの?

→別の打ち合わせ(TOA?)があったし、日本コミュニティのメンバも多いと認識してるから。名古屋大学にも行く予定

  • インターオペラビリティ、やらないの?

→いろいろ仮想通貨ごとに特徴あるからそれぞれでやればいいんじゃないか。ただ、Tezosはレイヤが違うと思ってる (・・・こんな回答だったかな?)

  • amazonも仮想通貨やろうとしてる。コラボか競争相手、どちらと考えてる?

→amazonはでかいからちゃんとやるのは大変だと思うが、Tezosのようにプロトコルレベルで作ることは考えてないんじゃないか。 ユースケースを考えてると思う


https://www.youtube.com/channel/UChX-VzLMq-3A5Vs7KDTlehw

Tezos update 2018-04-06

  • このページは要約ができていません。

hello this is Arthur on April 6 for a quick teaser of dev update so one work is going on is a gasification of typing into those so Mickelson is a this Markovic language has gas in the same way as that it's here mhmm EMS gas and it's a way to account for the time a program text to execute and it's fairly rudimentary we haven't exactly optimized the right ratios between how much a adding something on a pile versus something to two numbers might cost but it's it's rough and the point is right now to avoid T does it's not to have an optimized gas price so that's fine but there's another aspect of it which is the typing in this utilisation so when you load data in Mickelson from a storage it's it's typed data it's encoded it's not just bits from memory and so you have to pay a cost for the dish Cheryl ization that goes on and the retyping of the program now that happens every time you run a program and that part was not instrumented so benjamin has been working on on this aspect of Cass calculation and in addition to that we're also pushing for a change in the Mickelson calling convention so let me give you a little bit of history on that in the original very first version of Mickelson when a contract was calling and as a contract it would just look like a function call like in the middle of your Mickelson code you would call as soon as a contract you would do some calculation and then re-enter now the advantage of this model is that it's very intuitive and it's if you're reading function and so it's it's very easy to write a program like this however it has security risks which are very not intuitive and the Dow hack for example was a rillette ransie bug and it can be difficult so we had we had looked at how to avoid this type of arrangement see bugs and the compromise that's there is currently in Mickelson is that you cannot call another contract unless you've already backed your state so you have to basically do all the housecleaning all the housekeeping which is where's about happen forgot you to it before calling anything else it's fairly restrictive it means it you cannot call you cannot call transfer no tokens from an ending expression and on top of that there's already compilers which will pack the state for you and let you get around that so we have a stronger version of that calling convention that we want to deploy and the idea is that instead of thinking you don't think of it as a contract call anymore there's no call what happens is is transfer token function is just gonna return to you a value which is a transaction and so you can create this transactions as you go but only at the end of this of your contract you're gonna produce a list of outside transaction the needs outside to track transactions could be you know transactions tool as a contract containing data but it could also be operations in jeddah gates to originate contracts all of these operations essentially come in a list and that lists instead of a and instead of a stack they were a function call this is actually a first-in first-out type of list so you just produce all these operation and then they will be executed one by one so what this changes mostly is there's no return value like you should not call a contract and expect it to return something now that might seems odd because isn't the whole point of causing a contract to get a value well not really there are some library contracts which do that but we have another way of doing libraries in Tasos which is sharing which is sharing code but in most cases when you're sending a transaction to a contract you don't really want a value from them what you really want is to is to have some effect on them most of the time is just sending them tokens or writing something now in a few cases where you do want to get a return value you can still do that essentially you have to provide some callback information to the other contract and the other contract needs to have a lot like to do so and so this is in some sense a list so it is just as powerful as a as a call model you can implement there everything you will that you're getting family everything we'd like to implement in this model that you would implement with a call function model however unless the other contract explicitly tried to give you this type of facilities with callbacks is gonna make your life a little harder and the point of that is to make these Rhian see bugs very very hard and in general in smart contract design thinking of your transactions as really these things you output and you don't have that much control over there you know they're gonna go and they're going to be executed and you shouldn't have some expectation on the order now they will be finished on the orders because of consensus algorithm but you should not design your smart contract based on the execution and then the assumption that transactions are going to be executed in a certain order it makes programming a little trickier but it also prevents you from shooting yourself in the foot in a lot of ways another change that's big merge is I've added a bindings for the sexy 256 k1 library so let's see that's a Bitcoin core that's a curve used by by Bitcoin for elliptic curve signatures and we've been using e to 5519 mostly because it's considered to be one of the cryptographic right answer and if you developing a signature algorithm that's what you should use however is is such a huge legal system around the safety curves and even hardware that there's a lot of people who have hardware related to this safety curve and who really wanted the ability to use those in tezo's so what I did is essentially pack them together so that there's a generic concept of a signature which can be made from one curve or the other and it's transparent at the protocol level so the protocol can choose to do a signature in one or the other or accept posts so right now the default is that surgery from either curves are going to be accepted for transactions and for baking and for all of these in the future we might consider some different costs in order to incentivize the user ID 255 19 which is a little faster I'm possibly better behaved but it's I think it's good to have choices and in fact a situation which been made which I really like is to add another curve the SEC P 2 C 5 to SEC P 256 our one and that one has a this is the curve that's implemented in the in the harbor enclaves on iPhones and on androids and so this would let you get some like hardwood wallet type of security on your phone for these curves so I think that's pretty cool option to have yet to find a good library and speaking of libraries for these curves so we've been moving to libraries that who are using which was lip so dominant for a short period tweeting at with an SEO and it's now all going to Hangul star so heckle star is a product to implement cryptographic primitives in F star which is a formally verified language it's pretty close to a camel but you can express properties as you want to prove and it's a product it's being integrated in Firefox slightly and so we're very glad that we were able to integrate this code I don't think that you know the security of Lib sodium is necessarily something that I would subtly that we worry about but it's it's really great you started integrating formally verified code in our dependencies communication for our pcs so that's something I adore Zizi alpha dotnet and its journey from the code so if you're programming software to connect to a node and you'll have more information here and of course a lot more tests which are being added I mentioned that we have some regressions bug before and so this is very important if you want to be able to move quickly on this code base alright see you next time bye-bye

こんにちは、これは4月6日のアーサーです。 デベロッパーアップデートのすごいお誘いので、1つの仕事 タイピングのガス化が進んでいる そういう人にはミケルソンはこれです マルコビック言語には同じガスがあります それはここにあるようにmhmm EMSガスと それは時間を説明する方法です 実行するプログラムテキストとそれはかなりです 我々は正確に最適化していない どれくらいの パイル上に何かを追加する 何か2つの数字がかかるかもしれませんが それはラフだし、ポイントが正しい 今はTを避けるために ガス価格を最適化した それのもう一つの側面があります。 この利用率の入力は あなたはミッケルソンのデータを ストレージそれはそれが型付きのデータだ メモリからのビットだけではない それで、あなたはあなたのために費用を支払わなければなりません。 シェリルの化粧品 今起こったプログラムの再タイピング あなたがプログラムを実行するたびに 一部はベンザミンに装備されていなかった この側面で取り組んできた キャスの計算とそれに加えて 私たちはまた、 ミケルソン・コール・コンベンションは私に任せます あなたにその歴史の少しを教えてください 元の非常に最初のバージョンでは 契約をしていたミケルソン 契約としてそれはちょうど見えるだろう 真ん中のような関数呼び出しのように あなたのミッケルソンコードの すぐ契約をして 計算してから今すぐ再入力してください このモデルの利点は、 非常に直感的です。 それは非常にです このようなプログラムを書くのは簡単です ただし、セキュリティリスクは 非常に直感的ではなく、ダウは 例は、rilletteのトランジのバグで、それは 私たちは見ていたので、難しいことがあります このような配置を避ける方法について バグやそこにある妥協案を見てください 現在ミケルソンにいるのはあなたです 別の契約を結ぶことができない あなたはすでにあなたの状態をバックアップしています 基本的にすべての すべてのハウスキーピングをハウスクリーニングする どこにいるの? あなたが電話する前にそれを忘れてしまった それ以外のものはかなり制限的です 電話できないことを意味します 終わりからトークンを転送しない 表現の上にそれの上に すでにコンパイラが あなたのための状態とあなたが周りを回してみましょう それで私たちはより強いバージョンの 私たちが望む呼び出し規約 デプロイメントとアイデアの代わりに あなたはそれを考えていないと思っている もう契約電話 起こっていることは何もない 転送トークン機能はちょうど行くつもりです あなたに値を返します。 トランザクションを作成することができます あなたが行っているが、 あなたの契約のこれの終わり 外のリストを作るつもりです トラッキングする必要性を外部に取り除く トランザクションはあなたが知ることができます 契約としての取引ツール データを含むこともできます ジェッダ門の操業開始 これらすべての業務を請け負う 本質的にリストに入って aの代わりにリストを これらはスタックであり、これは関数呼び出しであった 実際に先入れ先出し型の リストを作成するだけで 操作が実行され、実行されます 1つずつ あなたのような戻り値はありません 契約をしてそれを期待してはならない 何かを返す 今は奇妙に思われるかもしれないので 契約を結ぶ全体のポイント 本当に価値がない それをするいくつかの図書館契約 私たちはライブラリを行う別の方法があります 共有しているTasosでは ほとんどの場合、 あなたはトランザクションを あなたが本当に価値を望んでいない契約 あなたが本当に欲しいものは?からです ほとんどの人に影響を与える 時間は単にそれらのトークンを送ることです。

いくつかのケースで今何かを書く 戻り値を取得する必要がある場所 あなたは本質的にそれを行うことができます コールバックを提供する必要があります 他の契約への情報 他の契約には多くのものが必要です そうすることが好きなので、これはいくつかにあります それがまるで強力なものになるようにリストを感知する コールモデルとして実装することができます そこにあなたはすべて あなたが家族全部を手に入れていること このモデルで実装したい あなたは呼び出して実装するだろう しかし、他の関数モデル 契約が明示的にあなたに与えることを試みた このタイプのコールバックを持つ機能 あなたの人生を少し難しくします そのポイントはこれらを作ることです Rhianは非常に難しいバグを見ています スマート契約設計の一般 本当にあなたの取引を考えている あなたが出力し、あなたはそうしない そんなにあなたをコントロールする 彼らは行くつもりだと知っている 実行されるべきであり、あなたは持ってはならない 今注文のいくつかの期待 注文が完了します コンセンサスアルゴリズムの あなたのスマートな契約をデザインしていない 実行と仮定 その取引は 特定の順序で実行される それはプログラミングを少しトリッキーにする それはまたあなたが撮影することを妨げる 多くの方法で足に自分自身 ビッグマージのもう一つの変化は私です セクシーな256 k1のバインディングを追加 ライブラリだから、それはBitcoinだ見てみましょう Bitcoinによって使用される曲線です。 楕円曲線シグネチャの場合は Eを5519に使用していたのは、主に その1つと考えられる 暗号の正解とあなたが 署名アルゴリズムを開発する しかし、あなたが使うべきものは、そういうものです 安全のまわりの巨大な法制度 カーブやハードウェアにも ハードウェア関連の多くの人 この安全曲線と でそれらを使用する能力を望んでいた 私がやったことは本質的に 一緒に梱包して 可能な署名の一般的な概念 1つの曲線または他の曲線から作成することができ、 プロトコルレベルで透過的です プロトコルは、 一方または他方の署名 投稿すると、デフォルトは どちらの曲線からの手術も 取引のために受け入れられる ベーキング、これらすべての 未来を考えると ユーザーにインセンティブを与えるためのコスト ID 255私は少し速いです19私は おそらくもっとうまく動作しましたが、私は思います それは選択肢を持つことは良いことであり、実際には 私が本当にした状況 SEC P 2の別の曲線を追加する C 5?SEC P 256私たちの1つそして1つ があります これが実装されている曲線です iPhoneの港周辺にある androidsとので、これは あなたは硬木の財布のようなものを手に入れます あなたの携帯電話のこれらのセキュリティの 私はそれがかなりクールだと思うので、カーブ まだ良い商品を見つけることができないオプション のライブラリと話す これらの曲線は私たちが それを使用していた図書館 短期間は唇がとても優勢 SEOでツイートしてみてください ハングルスターに行くとヘルスルスターは 暗号を実装する製品 形式的にF星のプリミティブ 確認済みの言語 ラクダのプロパティを表すことができます あなたは証明したい、そしてそれは製品だ それはFirefoxに統合されている やや嬉しく思います 私はこのコードを統合することができました あなたがLibのセキュリティを知っていると思う ナトリウムは必然的に私が 微妙に私たちが心配するだろうが あなたが始めたことは本当に素晴らしいことです 形式的に検証されたコードを 私たちの依存関係 それは私がZiziを崇拝するものなので アルファドットネットとその旅 あなたがソフトウェアをプログラミングしている場合はコードを書く ノードに接続すると 詳細はこちら、もちろん もっと多くのテストが追加されています 我々はいくつかの回帰があると述べた 以前はバグだったので、これは非常に重要です あなたがすぐに動くことができるようにしたいなら このコードベースで大丈夫、次を参照してください 時のバイバイ