vividot
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # ◯万円から始まるNFT闇取引 ~スマートコントラクトがあれば、その信用いらないんだけど~ # はじめに 7月8日、七夕の翌日の朝。「書くネタないな~金くれ~。ところで七夕のお願いを叶えるのって彦星?織姫?」とか思ってたら[のぶめいさん](https://twitter.com/nobu_mei)からメルマガが届きました。 その内容が、**NFTを現実世界で顔を合わせて売買した**自分にとってすごいタイムリーだったので、今回はその話をします。 あ、はじめまして、[vividot](https://twitter.com/vividot)と申します。 いつもは「[DeFiで落ちてるお金を拾いたいブログ](https://vividot-de.fi/)」というブログで記事を書いていますが、 **HiÐΞで記事を書くと投げ銭でNFTの購入資金が稼げる**と聞いて出張してきました。 また、弊ブログの「[Uniswap V3 LP Vault (Automated Manager) 完全攻略](https://vividot-de.fi/entry/Uniswap-V3-Vault)」という記事は、自分が今まで書いた記事の中で一番評判が良い(笑)ので、Uniswap v3で流動性提供を考えている人は是非ご高覧ください。 ちなみに、ブログの記事をHiÐΞに転載して乞食するのはマイルール違反なので出来ません。 ## メルマガの内容 今朝、僕の元に届いたメルマガがこちらです。 [取引の信用コストを0にするスマートコントラクトを解説](https://nobumei.substack.com/p/733?r=kn5n9) この記事を読んでいる人の大半は「今更スマートコントラクトの解説?」と思われるかもしれません。\ しかし、このメルマガを読まないと話が進まないため、どうかご一読ください。 ちなみに、このメルマガは「会社の偉い人を教育する」ために書いてるメルマガなので対象は僕たちではないそうです。悲しい。 ![](https://firebasestorage.googleapis.com/v0/b/hideaki-97c59.appspot.com/o/images%2FzG0QplMhsHTnezvV1AAZTAg6he53%2F1IE\_35A-O.png?alt=media) 偉い人をこんな煽って良いんですかね… ## 記事の内容 もちろんメルマガの内容に突っ込みたい方もいるでしょう。\ フォークされまくってるのにコピー禁止プログラムってなんやねん、とか。 一旦その話は置いておいて「**スマートコントラクトは信用コストを0にします**」という部分が、とても大事な要素です。 というのも、先日NFTを現実世界で売買しました。 その過程でスマートコントラクトを利用したトレードの楽さ・信用コストを再認識しました。 いや、初めて認識したといっても過言ではありません。 なので、本記事は体験談を交えて「信用」について書き出してみたいと思います。 また、いつもは自分1人で完結する記事を書いていますが、今回はトレード相手の方が登場人物として登場してしまうため、フィクションを多分に含ませフィクション調で語ることとします。 ※「信用」を誇張するためにトレード相手のことを**悪い方向**に脚色しております。自分が相手の方だったら同じ事をやると思いますし、実際の**相手の方は非常に良い方**でした。 # 第一章 Twitter NFTとの邂逅 7月1日、七夕の6日前の朝。いつもは昼頃に目覚める僕も、毎週木曜は研究室のミーティングのために午前中から起きている。ミーティングまで適当にTwitterを眺めて時間を潰していると、それは突然現れた。 「Twitter、NFTはじめました!プレゼントすると言ったら…欲しい人いますか?」 TwitterJapan公式Twitter。新しくアカウントを作った時にサジェストされる以外、フォローするタイミングのない公式アカウントのツイートだ。 ふ~ん。TwitterNFTは合計140個がmintされ、そのうち20個がTwitterJPで配布されると。 たまごっちを彷彿とさせるデザインはやっぱり日本を意識しているんだろうか。 界隈の乞食達が一斉にリプ欄で手を挙げるのを見て、僕も急いで手を挙げる。 「欲しい人いますか?」って聞かれてるんだから回答は「はい!」一択だ。 そして抽選が始まった。抽選とは名ばかりの作為的な選出。選ばれるのは運営の目に止まったであろうコメントばかり…「家宝にします!」じゃないんだよ。カイジの世界だったら「ぐにゃぁっ…」という効果音が僕の背景に描かれていたことだろう。 なぜ界隈の高校生や浪人生はTwitterNFTを手にしているのに、学生という共通項がある自分は選ばれないのか怒りに手が震える。 しかし、そこで諦める僕ではない。妬み嫉みの入り混じる感情を抑えつけ、震える手で当選者を探し始めた。 当選者20人の内、常日頃からクリプトのことをツイートしているような狂った奴らは5人程度…これなら当選者の中にはNFTがなんだか知らない人だっているはず。 タダで貰えなかったのは残念だが、10年気絶目線であればここで買い集めるのも悪くはない…よし。 「ご当選おめでとうございます。NFTを集めているのですが、当選したNFTをお譲りいただけませんでしょうか?」 ## 立ちはだかる壁 一時的にDMの通知をオンにしたスマホが震える。 「まだ受け取ってないんですけど、NFTってのよく分からないのでお譲りするかもしれません」 僥倖っ…!何という僥倖…!はやる気持ちを抑えながら値段の交渉を行う。 Raribleのbidを参考にしながら、90万円で合意。 しかしガッツポーズを決めた僕の前に譲渡方法の問題が立ちはだかってきた。 普通ならOpenSeaのプライベートセールだが、相手は何も分からないし取引所の口座を開設する気もないだって? 最終的に支払い方法はPayPayとなった。先に30万円送金、NFT譲渡、60万円送金が落とし所だ。 > 信用ポイント > 合計90万円の送金が不審な取引としてアカウント・資金が凍結される可能性 > またKYCも現金化したいなら必須 > 資金や個人情報について、PayPayを信用する必要がある > ▷PayPayではなくスマートコントラクトで実現しているJPYCだったら言うまでもない(実装による) > 信用ポイント①\ > 自分は30万円払ってもNFTが譲渡されない可能性がある\ > 相手はNFTを譲渡しても60万円送金されない可能性がある\ > 顔も名前も知らない相手をお互いに信用しなければならない > ▷スマートコントラクトならお互いが条件を履行した場合のみ取引を成立させることできる(要はエスクロー) ## 「やっぱりキャンセルでお願いします」 一瞬、目の前が真っ暗になった。僕は上がったRaribleのbidを睨みつける。 あと1日だけ待ってくれよ…!神様頼む…!無宗教にも関わらず神頼みをするのは日本人の特徴らしい。 > 信用ポイント②\ > 後から売り主の気が変わらないことを信じなければならない > ▷スマートコントラクトなら「やっぱやーめた」を防ぐことができる(防がないこともできる) ## 「他にもDMくれた方で110万円出せるって方がいるんですけど…」 僕は前日までに行われていた[Reddit NFTのオークション](https://nft.reddit.com/)を思い出す。 ファーストドロップのレジェンダリーレアが3体あわせて約88万ドル。まだミントが予定されているから、あと3体ミントされると仮定してNFTの時価総額は約176万ドル。 ユーザの数はTwitterよりRedditの方が多いらしいので8掛けして140で割るとTwitterNFTは1つあたり1万ドルだ。 ギリギリ予算の範囲内である。キリも良い。 もちろんTwitterNFTも第二弾として追加で140個mintされる可能性も考えられる。 以前、ツイートの文字数制限を140文字から280文字に緩和したし。 しかし、これを逃したら二度と買えない気がした。 「115万円出します。ご検討よろしくお願いします。」 本当に110万円を提示した人がいるのかと一抹の疑念を抱きながら、僕はそう言った。 > 信用ポイント③ > 本当に110万円払うと言った人がいるのかを信じなければならない > 値段を釣り上げるための作戦かもしれない > ▷スマートコントラクトで公開入札オークションをする場合、嘘のつきようがない ## 「直接取引できますか?」 相手からの返信は、予想外のものだった。 信じて貰えなかったのは「僕」だろうか、それとも「PayPay」だろうか。 奇っ怪な黄色の猫のアイコンのアカウントで連絡したのが良くなかったのかもしれない。 僕は、直接取引に感じる恐怖心とTwitterNFTの所有欲を天秤にかけた。 ## 取引 7月4日、日曜日。僕は100万円を超える現金をリュックに入れて東京都某駅構内の某カフェに向かっていた。 そう、天秤は所有欲に傾いたのだ。 まるで気分は麻薬の密売人である。今職質されたら絶対疑われるだろう。まぁ、人生で1回も職質されたことないんだけどね。 そんなことを考えていると、到着した旨のDMが届く。予定時間の30分程前だ。怖い人でないことを祈りながら僕は足早に電車を乗り換えた。 > 信用ポイント > 相手が指定した場所に来るか・怖い人が来ないかを信用する必要がある > ▷(強引だけど)スマートコントラクトは、場所に左右されない 「あっ、すみません。◯◯さんですか?わざわざ日曜日に東京まで来ていただいて申し訳ないです。今日はよろしくお願いします。」 定型文から始まる取引。事前に聞いてはいたが、30代程度の夫婦だった。マスクをしているので年齢は分からないが怖くはなさそうだ。 雑談をしにきた訳ではないので、さくっとNFTのトレードに入る。 「では、まず代金の確認の方をお願いします。」 僕はローソン銀行の封筒に包まれた札束を差し出した。日曜日に銀行の窓口が営業しているわけがなく、コンビニのATMで下ろした1万円札の束だ。帯付きの綺麗な1万円札じゃないけど逆に数えるのは楽そうだなあ、とか思ったりしながら確認を待つ。 「はい、額の方は問題ありません。先に1枚抜いてチャージしてきていいですか?」 僕の思考は一瞬の停止ののち偽札かどうかの確認か、と結論に辿り着いた。もちろんYES。客観的に見て、20代前半の男性が持ってきた札束なんか信用ならないわ。自分でもそうすると思う。 奥さんがSuicaと1万円札を持って券売機に向かっていった。 > 信用ポイント > 人間の目では偽札かどうかの区別がつきにくい > 代金が偽札ではないかどうかを信用・確認する必要がある > ▷スマートコントラクトなら偽物のトークン(例えば偽JPYC)を受け入れない(事もできる) 代金の確認が終わった。ついに待ち望んだNFT譲渡、俺のターン。 他人のスマホをごちゃごちゃ操作するのも悪いのでリカバリーフレーズを表示してもらって自分のスマホのMeatmaskにうちこむ。 TwitterNFTがウォレットに表示された。へぇ、スマホ版Metamaskやるじゃん。画像を保存して偽造したNFTの可能性もあるのでNFTのアドレスまでしっかり確認しなければならない。 > 信用ポイント > NFTが本物なのか画像からだけじゃ区別不可能 > ▷スマートコントラクトなら偽物のNFTを受け入れない(事もできる) Metamaskから自分のアドレスにNFTを転送する。ガス代のETHは道すがら送っておいたのでスムーズに行くはずだった。 「Fail」 Etherscanに赤色のマークが表示された。無情にもEthereumはNFTの送信を許さない。どうやらTwitterNFTにtransferFrom関数がないようだ。 Metamaskから送信することは不可能であった。 直コン?OpenSeaから送る?Rarible?スマホにクリプト系のアプリを入れない宗教に入信しているせいで操作に手間取る。 結局、Raribleから送信することができた。ありがとう、Rarible。 ![](https://firebasestorage.googleapis.com/v0/b/hideaki-97c59.appspot.com/o/images%2FzG0QplMhsHTnezvV1AAZTAg6he53%2FMCN2Nwne9.png?alt=media) 取引は無事に終わり、相手とはすぐに別れた。トレードだけのドライな関係。 小腹が空いた僕はカレーパン専門店のカレーパンを買うために列に並んだ。 ポケットからスマホを取り出し、Raribleを開く。10分前と変わらない姿でたまごっちもどきが画面の中をクルクルと回転しているのを眺めている間に自分の番だ。 「カレーパン、1つください」「324円になります」 TwitterNFTの3000分の1の値段だ。115万円、相手の方は何に使うのだろうか。 ―――[クリプトに狂った界隈の浪人生](https://twitter.com/Cryptokabu)はNFTを売った金でビットコインを積み立てるとか言っていたが… # 最後に 以上、NFT闇取引の体験談を交えた信用コストのお話でした。 OpenSeaやRaribleを使うときにこれらの信用は必要ないので、スマートコントラクトは素晴らしいですね。 もちろんOpenSeaやRaribleも「最高額のオファーが表示されている」ことなどサイトを信用しなければいけない部分もありますが。 ## Twitter NFTについて 1万ドルが高いか安いかは分かりません。ただ、Twitterってママなんですよね。 vividotのアカウントは去年作った物ですが、一番古いアカウントは2012年で、もう9年もTwitterを毎日欠かさず利用しています。 自分は今23歳なので、なんなら母親の顔を見ている時間よりTwitterの画面を見ている時間の方が長いかもしれません。 そう考えるとTwitterの初めてのNFTの140個のうち1つを保有できているというのは非常に喜びを感じます。 また、Twitter NFTは記事内で述べたようにリプライした人に対してドロップされました。今回譲っていただいた方もそうですが、非クリプト層にもドロップされています。 そのため5分の1から3分の1程度はGOXするんじゃないかと思っていて、そう考えると価値あがってくんないかな~みたいな魂胆もあります。 ## 謝辞 ~~暇そうにしていた~~[ひよっこさん](https://twitter.com/hiyokko_crypto)に本記事をチェックして一部表現などを修正していただきました。 ひよっこさんが執筆した[オンチェーン分析入門](https://note.com/mycrypto/n/nf301b1e53e03)というnoteは分かりやすく情報がまとまっているので気になる方は是非ご高覧ください。

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully