US10510053B2 — Send cryptographic currency to email address (Part 4 of 5)

Bitcoin Research — Law, Regulation, Markets & Origins (2026)

Patents

4

2015-03-17

Document text

Research, not advice. Part of the Bitcoin research archive (October 2026). Claims labelled unverified, contested or fringe are reported, not endorsed; statuses of bills and rules are as of the date checked. Government, court and patent records are public domain; the research notes are CC BY 4.0.

332 for
                                                                                                                                                                                                                                            Key
CFHSoiympsr14utsetrm                                                                                                                                                                                                                             11 11          MSahsaKey11trerd   10

                                                                                                                                                                                                                                        312 for
                                                                                                                                                                                                                                            Key
                                                                                                                                                                                                                                              PSrtivoarte
                                                                                                           308 to
                                                                                                               Use
                                                                                                               Seed
                                                                                                                             Generate MasKeyt r                                                                                     310 ??? Key
                                                                                                                                                                                                                                                                                   Mas314SetKeyer
                                                                                                                                                                                                                                           PSutbolriec MasForte
                                                                                                                                                                                                                                                                                                    .
                                                                                                                                                                                                                                                                                                    FIG
                                                                                                                                                                                                                                                                                                    64
U.S. Patent                                                                                                                                          Dec. 17 , 2019                                                Sheet 62 of 76                                                                              US 10,510,053 B2

                                                                                                                                                                                                                  forKey Key
                                                                                                                                                                                                 390 PErnitvaetre User                                                      Verification   Scr372ipt
                                                                                                                                                                                                                                                                                                                                         SAilgno:artiutrhem PriKeyvSignwitha e
                                                                                     CIonliet374Keycatioen              .          1              1                                                                                                                                                                                392                                           tsriangdsnmeit   authorization
 DFUeisvr18iescrte                                                                                                                        346   DisplayedPrivKeyateforUserKey                    376 Inter:face   Enter     Pasword
                       360   BTRUriesatqnciouseaniscgnt CAVUodnatsrf-uoelsertd
                                                                                                                                                                                                                                                                                                                                         SAilgnoar:tiurhemPriSignwithvKeyate
                                                                                                                  334
                                                                                                                  Set
                                                                                                                  Key
                                                                                                                  User                                                                               374
                                                                                                                                                                                                             Receive ESnceryptde            -N
                                                                                                                                                                                                                                                                    Decryption EDnecrypytpetd
                                                                                                                                                                                                                                                              378 Algor:ithm obtSeed
                                                                                                                                                                                                                                                                             toain PrivKeyate
                                                                                                                                                                                                                                                                                                                                   380                                      tsriangdsnmeit         authorization
                                                                                                                                              Key Key
                                                                                                                                                 PSutbolriec
                                                                                                                                          344 User
                                                                                                                                              for                                          37B

                                                  364
                                                                             Authorization                                             334   Store     Encrypted   Seedfor
                                                                                                                                                                             SharKey11ed                      N
                                                                                                                                                                                                                                        394
                                                                                                                                                                                                                                                   Verification Signature
                                                                                                                                                                                                                                                               Mod:ule Verify PusblincgKey                      396      Correct         Y

                                                                                                                                                                                                                                                                                                                                                                  398 Tranto
                                                                                                                                                                                                                                                                                                                                                                      duesact                         SbigenaitnurgeCor ect
                                                                                                                  ShaKeyet336red
                                                                                                                                          332 for
                                                                                                                                              Key
CFHSoiympsr14utsetmr
                                                                                                             Fm
                                                                                                                         Il
                                                                                                                                                PSrutibvolartiec MSKahesaytreurd                   Verification Signature
                                                                                                                                                                                            382 Mod:ule            Verify Pusblincg Key 384 Cor ect                                                    Y
                                                                                                                                                                                                                                                                                                           386 Trandue
                                                                                                                                                                                                                                                                                                               tosact    Sbigeniatnurge Correct 370 required                               out
                                                                                                                                                                                                                                                                                                                                                                                           3
                                                                                                                                                                                                                                                                                                                                                                                           2
                                                                                                                                                                                                                                                                                                                                                                                           of

                       362
                                  TPraoncsaecstiorn                                                                                       312 for
                                                                                                                                              Key
                                                                                                                  Mas314SetKeyer
                                                                                                                                       310 PSutbolriec Key MasForte Key
                                                                                                                                                                                                     366 PriKeyvSign
                                                                                                                                                                                                         witha e                                                    368    Transact
                                                                                                                                                                                                                                                                                                                                                                                                            65
                                                                                                                                                                                                                                                                                                                                                                                                            .
                                                                                                                                                                                                                                                                                                                                                                                                            FIG
                                                                                                                                                                                                                                      400
                                                                                                                                                                                                                                            Authorize Transaction
U.S. Patent                                Dec. 17 , 2019               Sheet 63 of 76             US 10,510,053 B2

                                                                       MT
                                               User PrivKeyate 420     O
                                                                       /
                                                                       M

                       UserKey Se408d
                                                                       /1OM
                                                  PUusbleirc 418Key    /
                                                                       M

                                               Shared PrivKeyate 416   M0M1
      GAe4dner0aetso2r ShaKeyred Se406d                                                                  FIG
                                                                                                         .
                                                                                                         66
                                                                       M
                                                                       1
                                                                       /

                                               Shared PublKeyic 414    MO                Ad r1es

                                                                       M
                                                                       1
                                                                       /

                                               Master PrivKeyate 412   M70               Adores
                       MasKeyt r Se404ed
                                                                       M1
                                               Master PublKeyic 410    O
                                                                       /
                                                                       M
U.S. Patent                                                                             Dec. 17 , 2019                                                                             Sheet 64 of 76                                                                                      US 10,510,053 B2

                                                                                                                                                                                                    RA4eceIDoiuvn4etr
                                                                                                                                                                                                                         430URLPostBlog
       CFHSoiympsr14utsetrm                                                                                             EGCmenboerdateodr
                                                       RA4ece3oiuvne4tr Det442aLogin-ls RAece-ID444oiuvnetr 448 PostBlog URL GBeunetandIDratonr 438
                                                                                                                                                                                  462
                                                                                                                                                                                  e
                                                                                                                                                                                                                                                                          ButID460on             BA5idtcr0oeis2n ABdidt510rceosin
                                                                                                                                                                                                                  But460IDon              458 ButIDon                                  480Bits

PCaormtpunter   Sy422stem 440 ACcreoautnet 446 AIcnoLogutnot EBPnloURLtsegtr                              452     ECm4boe5d e0d -B430URLPostlog -AR4ceceIDoiuvne4tr C-Satl545arteurp -B430URLPostlog ECm4boe5d e0d -B430URLPostlog A-4RcecIDoeiuvn4etr C-Satl454arteurp
                                                                                                                                                                          428
                                                                                                                                                                          Post
                                                                                                                                                                          Blog
                                                                   PUJI

RCeocmepiuvterSys424tem                                                               Receiver   Brow426ser                                                             432         Create PostBlog                                       456      Embed ECmboeded
                                                                                                                                                                                                                                                                                                                                    FIG
                                                                                                                                                                                                                                                                                                                                    .
                                                                                                                                                                                                                                                                                                                                    67
U.S. Patent                                                                                       Dec. 17 , 2019                                                                             Sheet 65 of 76                                                                                                            US 10,510,053 B2

                                                                                                                                                                                                                                                                                                                                                                                    1   j

                                                                                                                                                                                                                                                                                                                                                B
                                                                                                                                                                                                                                                                                                                                                A
                                                                                                                                                                                                                                                                                                                                                5 i
                                                                                                                                                                                                                                                                                                                                                  d1
                                                                                                                                                                                                                                                                                                                CS4oen7kdie2rs ButID460on actrBlones
                                                                                                                                                                                                                                                                                                                                                    t c
                                                                                                                                                                                                                                                                                                                                                      r
                                                                                                                                                                                                                                                                                                                                                      0 o
                                                                                                                                                                                                                                                                                                                                                        e i
                                                                                                                                                                                                                                                                                                                                                          s
                                                                                                                                                                                                                                                                                                                                                          1 n In
                                                                                                                                                                                                                                                                                                                                                              Signed
                                                                                                                                                                                                                                                                                                                                                              -
                                                                                                               454      RCeotorkievse                                                                                                                                                                                                                                               Co549L.kie

                                                                                                                                                                                                                                                                                                  ButID460ton             491 SButoIDtroen
SCoemnpduterSys464tem                                                                                                                                                                                             Dis490play
                                                                                                                                                                                                                                                          Bits480

                                                                          EC4mboe5dde0d -ARceceoID444iuvnert SCtal454rteurp
                                               -B436URLPostlog -B430URLPostlog                                                                                              -ARcecoID444eiuvnetr                                     428Post
                                                                                                                                                                                                                                     Blog But484on
                                                                                                                                                                                                                                                                                            Init492iate Secsripont 486
                                                                                                                                        474
                                 428PostBlog                                                                                                  Callrtup -B430
                                                                                                                                              Sta:     URLPostlog
                                                                                                                                                      -4Co7kie2s

                                                     RAece444IDoiuvnetr
                                                                            430URLPostBlog
                                                                                           R e t ri e v e478 ButIDon
                                                                                                                                                  StaCallrtupResp476onder                                            483 RSCetsap:roltnuspe                         -Scesr486sipont -BuIDt460on
    CFHSoyimpsr14utsetrm                                                                                                                                                                                                                      -Bu484t on -B480its
                           466
                                 Download                                                                                                                                      482 ButIDForon      RBetiritevse                                                                                                    ButID460ton                  AB5dit0rceosi2n BAidtdcr510oeisns
                                                                     But460IDon                                                                                                                                                                                                                                                       480Bits

                                                                                                                                                                                                                                                                                                                                                                                    68
                                                                                                                                                                                                                                                                                                                                                                                    .
                                                                                                                                                                                                                                                                                                                                                                                    FIG
CPoamrptunterSys422tem                 430
                                       URL
                                       Post
                                       - B l o g                          ECm4boe5d e0d -ARcecID444oeiuvnetr
                                                 -B430URLPostlog C-Satl454alrteurp
                                  428
                                  Post
                                  Blog
U.S. Patent                            Dec. 17 , 2019                   Sheet 66 of 76                               US 10,510,053 B2

          First Host Computer System 14                                                          Sender Computer
                                                                                                   System 464

                                                                                           Display 490
   Button ID 460
                                                                                    Blog Post 428
   Bits 480
                                                                                        Button 484        Bits 480
   Bitcoin Address 502
                                                                                    492 Initiate         Button ID 460
   Bitcoin Address 510
                                                                                   Session Script
              508                                500                                       486
      Store Bitcoin                         Checks Data
  Address and Button ID                     for Button ID
                                                                       496                              494
                                                                  Session Call:                  Retrieve Cookies
       Bitcoin                                                    -Cookies
    Address and                               Session
   Generator 506                      Responder 498                                                           Sender Cookies 472
                                                                                                                              Store Button ID
                                                                                                                   Button ID 460
             504                                                                                                     Bitcoin Address 510
          Was Bitcoin
               Address                          516                                                                 Signed-In
              Received               Signed Into Sender                                                          L Cookie 549
                                     Account (singed -in
                    Y                      cookie found) ?
                 512                                                                      514
                Bitcoin                                                      -Store Bitcoin Address                            548
               Address                                                            and Button ID                            Store Cookie
                                       N
                                                                                        Listen Code        3rd Party Pmt
                                                                                            524               Script 526
                                                                                                     Display 490
                        518                                                                    Sign - In Panel 520
                        Send                                                                Sign In         Third Party
                        -Sign - In Panel 520                                                Button        Wallet Button
                        -Sign - In Script 522                                                530               544
                        -Listen Code 524
                        - 3rd Party Pmt Script 526                                         QR Code           Bitcoin
                        -Pull Code 528                                                       546          Address 510
                            Sender Account 536                                532                  Sign -In Script
                              - Login Details 534                            Initiate                   522
                                                                                                               Pull Code
                                                         540                                                       528
                                                        Sign In
 FIG . 69
U.S. Patent                       Dec. 17, 2019        Sheet 67 of 76                            US 10,510,053 B2

                                                                          Sender Computer
      First Host Computer System 14                                             System 464

        Button ID 460                                                     Display 490
        Bits 480                                              Blog Post 428
        Bitcoin Address 502                                     Button 484           Bits 480

        Bitcoin Address 510                                  492 Initiate           Button ID 460
                                                             Session Script
                       Receiver Account 434                         486
                       - Login Details 442
                       - Receiver Account ID 444
                                Transfer
                          Sender Account536
                          - Login Details 534                                       Sender Cookies 472

                                       516
                                                                                     Bon
                                                                                       Button ID 460

                                                                                          Bitcoin Address 510 |
                                Signed Into Sender                                           Bits 480
                                Account( singed-in
                                  cookie found )?                                            Signed - In
                                                                                      L Cookie 549
                   Y
                          550                                        ww
                           Send                                 Listen Code             3rd Party Pmt
                          -Signed - In Panel 552                    524                   Script526
                          -Listen Code 524
                          -3rd Party Pmt Script 526                          Display 490                             566
                          -Pull Code 528                                  Signed - In Panel 520                   Update Bits
                          -Host Acct Pmt Script 554                 Host Acc .          Third Party
                                                                      Button         Wallet Button
                                                                       530                544
            561                                                     QR Code             Bitcoin
  Pay Using Sender Account                                                546        Address 510
                                                          560
                   564                       154         Initiate
                                      Transaction
            Update Bits                Processor            Host Acct Pmt                Pull Code
                                                                Script554                   528

                                         566
                                  Pull New Bit Count                                                       FIG . 70
U.S. Patent                     Dec. 17 , 2019               Sheet 68 of 76                          US 10,510,053 B2

                           First Host Computer System 14                        Sender Computer
                                                                                   System 464

                                                                                     Display 490
                                                                        Blog Post 428
                                                                         Button 484           Bits 480

                                                                        492 Initiate         Button ID 460
                               Button ID 460
                                                                      Session Script
                               Bits 480                                        486
                               Bitcoin Address 502
                               Bitcoin Address 510                             Sender Cookies 472
                                                                                     Button ID 460
                                  572
                               Update Bits                                             Bitcoin Address 510 I
                                                                                                                           566
                                                                                     y Bits 480                     Update Bits
                                              568                                       Signed -In
                                          Bit Updater                                  Cookie 549
                                                             572
                                                    Push Update Notification
                 570                         567
               Check                      Block Chain
             Block Chain                    Checker                   Listen Code             3rd Party Pmt
                                                                          524                  Script526
                                                                                      Display 490                560
       12                                                                                                       Initiate
 Bitcoin Network                                                                Signed - In Panel xxx
                                                                          Host Acc .          Third Party
       564                                                                 Button           Wallet Button
  Broadcast to                                                               556                 544
   Block Chain                                                            QR Code              Bitcoin
       www
      562                                                                      546          Address 510
   Third Party
   Transaction
   Processor
                                                                    Host Acct Pmt              Pull Code
                                                                       Script554                  528
                                     574
                              Pull New Bit Count
                                                                                                              FIG . 71
U.S. Patent                              Dec. 17 , 2019                                       Sheet 69 of 76                                             US 10,510,053 B2

                             WalAet                         WalBet   WalClet                          EUxcshaengre 618        $
                                                                                                                              +
                                                                                                                              10          10
                                                                                                                                          $
                                                                                                                                          +

                             Led620ger
Sys600tem

                                                                                                                         10
                                                                                                                         $
                                                                                                                         +                                                                             $
                                                                                                                                                                                                       +
                                                                                                                                                                                                       10

                                                                               Exch616ange                        User
                                                                                                                  A                B
                                                                                                                                   User                User
                                                                                                                                                       C
                                                                                                                                                                                                       OBTC

                                                                                                                                                                                     ExchangeDatabase 612
                                                                                                                                   MCloedaurilneg614
                                                                                              GFeneratodr 608
            User Computer                                                                                                                                     MPuilpteiclaisnte610
                                                                                              OGratdewary 604
            User CompButer                I6nte0rfnae2cte                                                                          MEantgchineg 606                                                           FIG
                                                                                                                                                                                                              .
                                                                                                                                                                                                              72

            User CompAuter
                                                                                             OGartdewary604
U.S. Patent                                             Dec. 17 , 2019                                                                      Sheet 70 of 76                                                                 US 10,510,053 B2

                                                        WalAet                                  WalBet                   WalCet                             EUxcshaengre618                       10
                                                                                                                                                                                                  $
                                                                                                                                                                                                  +           10
                                                                                                                                                                                                              +
                                                                                                                                                                                                              $

                                                        Led620ger
         Sys600tem                                                                                                                                    TCorht2bo-easclks   BPreocfeodrineg
                                                                                                     CRerhq2a-oeuscskt
                                                                                                                                                                                             10
                                                                                                                                                                                             $
                                                                                                                                                                                             +                                                         10
                                                                                                                                                                                                                                                       $
                                                                                                                                                                                                                                                       +

                                                                                                                                  Exch616ange                                         User
                                                                                                                                                                                      A                User
                                                                                                                                                                                                       B                   User
                                                                                                                                                                                                                           C
                                                                                                                                                                                                                                                       OBTC
                                                                                                                                                                                                                                                       +

                                                                                                                                                                                                                                  ExchangeDatabase   612
                                                                                                                                                                                                       MCloedaurilneg614
                                                                                      TRreaqnu1bsefsert
                                                                                                                                                 GeFneraetodr 608
                     User Computer
                                                                                                                                                OGartdewary604
                 User CompButer      TRreaqnus1aefsrt               In6ter0fnaec2te                                                                                                                     MEantcghinge 606                                      FIG
                                                                                                                                                                                                                                                              73a
                                                                                                                                                                                                                                                              .

Tran-Insfer User CompAuter                                                                                                                      OGartdewary 604
U.S. Patent                              Dec. 17 , 2019                                       Sheet 71 of 76                                                    US 10,510,053 B2

                             WalAet                         WalBet   WalClet                          EUxcshaengre 618             10
                                                                                                                                   $
                                                                                                                                   + 20
                                                                                                                                      $
                                                                                                                                      +                 +
                                                                                                                                                        30
                                                                                                                                                        $

                             Led620ger                                 20
                                                                       $

Sys600tem
                                                                           Tran3sfer                                                 Upd46ate
                                                                                                                         Upd4ate
                                                                                                                             10
                                                                                                                             $
                                                                                                                             +                   20
                                                                                                                                                 $
                                                                                                                                                 +                                       +
                                                                                                                                                                                         30
                                                                                                                                                                                         $

                                                                               Exch616ange                         A
                                                                                                                   User              B
                                                                                                                                     User                    User
                                                                                                                                                             C
                                                                                                                                                                                         +
                                                                                                                                                                                         OBTC

                                                                                                                                                                    ExchangeDatabase   612
                                                                                                                                       MCloedaurilneg614
                                                                                              GFeneratodr 608
            User Computer
                                                                                             OGartdewary 604
            User CompButer                I6nte0rfnae2cte                                                                              MEantgchineg   606                                       FIG
                                                                                                                                                                                                73b
                                                                                                                                                                                                .

            User CompAuter
                                                                                             OGartdewary604
U.S. Patent                              Dec. 17 , 2019                                       Sheet 72 of 76                                                US 10,510,053 B2

                             WalAet                         WalBet   WalClet                          EUxcshaengre 618        $ 20
                                                                                                                              10
                                                                                                                              +  $
                                                                                                                                 +                  30
                                                                                                                                                    $
                                                                                                                                                    +

                                                                                                                                   NRW
                                                                                                                              +5BTC 5BTC+
                             Led620ger
Sys600tem

                                                                                                                         10
                                                                                                                         $
                                                                                                                         +                   20
                                                                                                                                             $
                                                                                                                                             +                                           $
                                                                                                                                                                                         +
                                                                                                                                                                                         30

                                                                               Exch616ange                        A
                                                                                                                  User            B
                                                                                                                                  User                   User
                                                                                                                                                         C
                                                                                                                                                                5BTC
                                                                                                                                                                +                        +
                                                                                                                                                                                         5BTC

                                                                                                                                                                       ExchangeDatabase 612
                                                                                                                                   MCloedaurilneg614
                                                                                              GFeneratodr 608
            User Computer
                                                                                              OGartdewary 604
            User CompButer                I6nte0rfnae2cte                                                                          MEantgchineg   606                                           FIG
                                                                                                                                                                                                .
                                                                                                                                                                                                73C

            User CompAuter
                                                                                             OGartdewary604
U.S. Patent                                         Dec. 17 , 2019                                                     Sheet 73 of 76                                                            US 10,510,053 B2

                                                    WalAet                        WalBet            WalCet                         EUxcshaengre 618             10
                                                                                                                                                                $
                                                                                                                                                                + 20
                                                                                                                                                                   $
                                                                                                                                                                   +                    30
                                                                                                                                                                                        $
                                                                                                                                                                                        +

                                                                                                                                                               5BTC +
                                                                                                                                                               +    5BTC
                                                    Led620ger
        Sys600tem

                                                                                                                                                      10
                                                                                                                                                      $
                                                                                                                                                      +                         20
                                                                                                                                                                                $
                                                                                                                                                                                +                                                                        +
                                                                                                                                                                                                                                                         30
                                                                                                                                                                                                                                                         $

                                                                                                             E6xch1an6ge                       User
                                                                                                                                               A           10
                                                                                                                                                           $
                                                                                                                                                           -
                                                                                                                                                           2BTC
                                                                                                                                                           +            User
                                                                                                                                                                        B                      User
                                                                                                                                                                                               C
                                                                                                                                                                                                                        -2BTC
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        10
                                                                                                                                                                                                                        $

                                                                                                                                                                                                           +
                                                                                                                                                                                                           5BTC                                          BTC
                                                                                                                                                                                                                                                         +

                                                                                                                                                              Upd9ate                            Upd9bate
                                                                                                                                                                                                                                    ExchangeDatabase   612

                                                                                                                                                                        MCloedaurilneg604
                                                                  ,OMaftSell
                                                                  Feed
                                                                  8
                                                                  Offers
                                                                  Buy
                                                                  (      ,c)ehres                                           GFeneraetodr 608
                                                                                                                                                                                             M-ult7icast M-ult7icabst MPu6ilptei1lcians0et
                    User Computer
                                      5b Sell
                                         BTC each
                                         2    $
                                              5
                                              @                                                                            OGartdewary604
                    User CompButer                              In6ter0fnaec2te                                                                                          MEantcghinge606                                                                       FIG
                                                                                                                                                                                                                                                               73d
                                                                                                                                                                                                                                                               .
                                                                                           OfSell
                                                                                           andBuy
                                                                                            5cers                                                           OfSell
                                                                                                                                                            and
                                                                                                                                                            Buy5ders
Trading User CompAuter
                                     5a BTC
                                        2
                                        Buy each
                                            @
                                            $
                                            5
                                                                                                                           OGartdewary 604                                                                           $
                                                                                                                                                                                                                     @
                                                                                                                                                                                                                     each
                                                                                                                                                                                                                     5
                                                                                                                                                                                                                     2
                                                                                                                                                                                                                     Buy
                                                                                                                                                                                                                     :
                                                                                                                                                                                                                     A
                                                                                                                                                                                                                     User each
                                                                                                                                                                                                                          Sell
                                                                                                                                                                                                                          User
                                                                                                                                                                                                                          5
                                                                                                                                                                                                                          $
                                                                                                                                                                                                                          :
                                                                                                                                                                                                                          C
                                                                                                                                                                                                                          2
                                                                                                                                                                                                                     BTC BTC
                                                                                                                                                                                                                          @

                                                                                                                                                                                                         Match
                                                                                                                                                                                                         6
                                                                                                                                                                                                         :
U.S. Patent                                                    Dec. 17 , 2019                                                                        Sheet 74 of 76                                                                       US 10,510,053 B2

                                                               WalAet                                    WalBet                   WalCet                              EUxcshaengre618                           $ 20
                                                                                                                                                                                                                10
                                                                                                                                                                                                                +  $
                                                                                                                                                                                                                   +                30
                                                                                                                                                                                                                                    $
                                                                                                                                                                                                                                    +

                                                                                                                                                                                                                5BTC +5BTC
                                                                                                                                                                                                                +
                                                               Led620ger
             Sys600tem                                                                                                                                         CTorhto-11beasclks   BPreocfeodrineg
                                                                                                              CRerhqo11a-eusckt
                                                                                                                                                                                                        10
                                                                                                                                                                                                        $
                                                                                                                                                                                                        +                  20
                                                                                                                                                                                                                           $
                                                                                                                                                                                                                           +                                                        30
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    $
                                                                                                                                                                                                                                                       +
                                                                                                                                                                                                                                                       $
                                                                                                                                                                                                                                                       10

                                                                                                                                           Exch616ange                                           A
                                                                                                                                                                                                 User        2BTC
                                                                                                                                                                                                             10
                                                                                                                                                                                                             +
                                                                                                                                                                                                             $
                                                                                                                                                                                                             -      User
                                                                                                                                                                                                                    B                    User
                                                                                                                                                                                                                                         C
                                                                                                                                                                                                                                                5BTC
                                                                                                                                                                                                                                                +      -2BTC                        5BTC+

                                                                                                                                                                                                                                                               ExchangeDatabase   612

                                                                                                                                                                                                                    MCloedaurilneg614
                                                                                             WRi1ethqdu0raewsablt
                                                                                                                                                          GeFneraetodr 608
                         User Computer
                                                                                                                                                         OGartdewary 604
                     User CompButer
                                         WRi1tehqdur0aewsalt               In6ter0fnaec2te                                                                                                                           MEantcghinge606                                                        FIG
                                                                                                                                                                                                                                                                                            73e
                                                                                                                                                                                                                                                                                            .

                                                                                                                                                         OGartdewary604
Withdrawal           User CompAuter
U.S. Patent                              Dec. 17 , 2019                                           Sheet 75 of 76                                                       US 10,510,053 B2

                             WalAet                         WalBet   WalClet                              EUxcshaengre 618              $ -
                                                                                                                                     $ 20
                                                                                                                                     10
                                                                                                                                     +  + 10
                                                                                                                                          $                         20
                                                                                                                                                                    $
                                                                                                                                                                    +

                                                                                                                                     5BTC+ 5BTC+ MNRW
                             Led620ger                                                      10
                                                                                            $

Sys600tem
                                                                               Tran12sfer                                                               Upd13bate
                                                                                                                                     Upd13ate
                                                                                                                             10
                                                                                                                             $
                                                                                                                             +                               20
                                                                                                                                                             $
                                                                                                                                                             +                            10
                                                                                                                                                                                          $
                                                                                                                                                                                          -                 +
                                                                                                                                                                                                            20
                                                                                                                                                                                                            $

                                                                                  Exch616ange                         A
                                                                                                                      User        10
                                                                                                                                  $
                                                                                                                                  -
                                                                                                                                  +
                                                                                                                                  2BTC          B
                                                                                                                                                User                User
                                                                                                                                                                    C
                                                                                                                                                                                  10
                                                                                                                                                                                  +
                                                                                                                                                                                  -2BTC
                                                                                                                                                                                  $

                                                                                                                                                                           5BTC
                                                                                                                                                                           +                                +
                                                                                                                                                                                                            5BTC

                                                                                                                                                                                          ExchangeDatabase 612
                                                                                                                                                MCloedaurilneg614
                                                                                                  GFeneratodr 608
            User Computer
                                                                                                  OGartdewary 604
            User CompButer                I6nte0rfnae2cte                                                                                       MEantgchineg 606                                                   73f
                                                                                                                                                                                                                   .
                                                                                                                                                                                                                   FIG

            User CompAuter
                                                                                                 OGartdewary604
U.S. Patent        Dec. 17, 2019           Sheet 76 of 76        US 10,510,053 B2
     900
                         930                                            938

           PROCESSOR
                                                        VIDEO DISPLAY
       INSTRUCTIONS
                               952
                         932                                            940

       MAIN MEMORY
                                                       ALPHA -NUMERIC
       INSTRUCTIONS                                     INPUT DEVICE
                               952
                         934                   936                      942

      STATIC MEMORY                                   CURSOR CONTROL
                                                          DEVICE

                         948                                            944

                                                        DRIVE UNIT
        NETWORK
                                     BUS                                 950
     INTERFACE DEVICE                                   MACHINE
                                                        READABLE
                                                         MEDIUM
                                                                         952
                                                      INSTRUCTIONS
                           954
                                                                        946

               NETWORK
                                                           SIGNAL
                                                        GENERATION
                                                          DEVICE

                                 FIG . 74
                                                  US 10,510,053 B2
                     1                                                                          2
      SEND CRYPTOGRAPHIC CURRENCY TO                               addresses while still allowing the users to use Bitcoin
                    EMAIL ADDRESS                                  addresses within their wallets for transacting with other
                                                                   users .
           CROSS -REFERENCE TO RELATED                                A merchant computer system often has an online store and
                      APPLICATIONS                               5 a website . A customer at a customer computer system may
                                                                   use a browser to access the online store via the website .
   This patent application claims priority from U.S. Provi     Items are displayed for purchase in a local currency .
sional Patent Application No. 61/954,434 , filed on Mar. 17 ,  Exchange rate between bitcoin and local currency changes
2014 ; U.S. Provisional Patent Application No.61/990,017 ,     over  short periods of time. The price in local currency may
filed on May 7 , 2014 ; U.S. Provisional Patent Application 10 thus change between the time that the local currency is
No. 62 /042,676 , filed on Aug. 27 , 2014 ; U.S. Provisional displayed
                                                               decides   to
                                                                            to the customer and the time that the customer
                                                                            make the purchase . As a result , the customer or
Patent Application No. 62/ 056,100 , filed on Sep. 26 , 2014 ; the merchant      may incur a loss in local currency. The
U.S. ProvisionalPatent Application No. 62 /086,669, filed on customer or merchant        may then be reluctant to purchase
Dec. 2 , 2014 and U.S. Provisional Patent Application No. 15 using bitcoin .
62/099,992 , filed on Jan. 5 , 2015 , each of which is incor      In order for a user to access their wallet, the user may log
porated herein by reference in its entirety.                   into their account through the website using a user name and
         BACKGROUND OF THE INVENTION                               password . If the user name and password become compro
                                                             mised then it may be possible for bitcoin to be stolen out of
   1 ) . Field of the Invention
                                                          20  the wallet. Users may therefore be reluctant to store bitcoin
                                                             in their wallets without any additional security features.
   This invention relates to a computer system and method        Bitcoin transacting requires the use of a public key and a
for transacting bitcoin .                                    private key . The private key is used to sign an authorization
   2 ). Discussion of Related Art                            and the public key is used to verify the signature . Someusers
   The Bitcoin network is a peer- to -peer payment system 25 may require control over their private keys in order to ensure
having a plurality of nodes that are connected to one another.     to such users that bitcoin transacting will not take place
Bitcoin exchange computer systems allow for users to               without their express authorization .
exchange local currency into or out of bitcoin . Users send          Content creators often put a lot of time and energy into
payments by broadcasting digitally signed messages to the their blog posts . These efforts are rarely rewarded because
Bitcoin network . Users may, for example, send and receive 30 efficient technology does not exist for rewarding bloggers
payments using mobile applications on mobile devices,               for their efforts .
client software or a web browser .
   Transactions do not explicitly identify the payor and                         SUMMARY OF THE INVENTION
payee by name or wallet . Instead , a bitcoin transaction
transfers ownership to a new address , referred to as a 35             The invention provides a host computer system for trans
“ Bitcoin address ” . The Bitcoin address is derived from the      acting bitcoin including a processor, a network interface
public portion of one or more cryptographic key pairs. The         device connected to the processor, a computer readable
private portion of a key pair is not disclosed to the public .     medium connected to the processor, a data store on the
To send bitcoin sent to an address , a user broadcasts a           computer readable medium and a set of instructions on the
paymentmessage that is digitally signed with the associated 40 computer readable medium that are executable by the pro
private key.                                                   cessor. The set of instructions includes a wallet establish
   Participants known as “ miners ” at miner computer sys mentmodule , a login module, a hosted email module and a
tems verify and timestamp transactions into a shared public walletmanagement. The wallet establishmentmodule estab
database called a “ block chain " . The miners are rewarded lishes a first wallet in the data store, stores login details for
with transaction fees and newly minted bitcoin for their 45 the first wallet and storing a value representative of an
effort. The miner computer systems are specialized comput amount of bitcoin held by the first wallet. The login module
ers that append blocks of transactions to the block chain . receives login credentials over the network interface device
Solving a cryptographic puzzle required to append a block for the first wallet from a first user device , verifies whether
carries a reward plus fees included in transactions in the the login credentials match the login details for the first
block .                                                     50 wallet, and if the login credentials match the login details
   Host computer systems reside at various nodes and may then logs the first user device into the first wallet. The hosted
host accounts or “ wallets ” that allow users to make and email module , if the first user device is logged into the
accept payments using bitcoin . The wallet stores the public wallet, permits transmission of an email by a user of the first
key of the Bitcoin address and its associated private key .    user device to an email address of a second user device . The
   The transfer ofbitcoin may be an onerous task if the entire 55 wallet managementmodule, in response to the transmission
public key of the Bitcoin address has to be copied and             of the email, records a transfer in the first wallet for an
transmitted .                                                      amount of bitcoin from the first wallet to a second wallet
  When a transaction is made between two wallets at the            identified by the email address .
same or different host computer systems, the transaction is       The invention also provides a method of transacting
broadcast to the Bitcoin network for block chain verifica- 60 bitcoin . A processor establishes a first wallet in a data store
tion . Such a block chain verification may take a long time to  connected to the processor. The processor stores login
complete .Miner fees are also associated with such a transfer   details for the first wallet. The processor stores a value
and have to be paid by a host computer system requesting representative of an amount of bitcoin held by the first
the transfer.                                                   wallet . The processor receives login credentials for the first
   It may be a security concern for users that their Bitcoin 65 wallet from a first user device . The processor verifies
addresses may be stolen from theirwallets . Existing systems whether the login credentials match the login details for the
do not provide a solution formaintaining security of Bitcoin first wallet. The processor, if the login credentials match the
                                                      US 10,510,053 B2
                                3                                                                    4
login details then , logs the first user device into the first       wallet and an identifier of the second wallet . The processor ,
wallet. The processor, if the first user device is logged into       in response to the first transfer instruction , records a transfer
the wallet, permits transmission of an email by a user to the        in the firstwallet for the amount ofbitcoin in the first transfer
first user device to an email address of a second user device        instruction out of the first wallet and a transfer in the second
and in response to the transmission of the email. The 5 wallet, identified by the identifier of the second wallet, for
processor records a transfer in the first wallet for an amount       the amount of bitcoin in the first transfer instruction into the
of bitcoin from the first wallet to a second wallet identified       second wallet without paying a miner's fee for the first
by the email address.                                            transfer. The processor receives a second transfer instruction
   The invention further provides a non -transitory computer     for an amount of bitcoin from the first wallet and a bitcoin
readable medium having stored thereon a set of instructions 10 address associated with a second node of the bitcoin net
that are executable by a processor to carry out a method of work . The processor, in response to the second transfer
transacting bitcoin . The processor establishes a firstwallet in instruction records a transfer in the first wallet for the
a data store connected to the processor. The processor stores amount of bitcoin in the second transfer instruction out of
login details for the firstwallet. The processor stores a value the first wallet, broadcasts a message to the Bitcoin network ,
representative of an amount of bitcoin held by the first 15 including to the second node, to record a transfer associated
wallet. The processor receives login credentials for the first       with the bitcoin address associated with the second node, for
wallet from a first user device . The processor verifies             the amount of bitcoin in the second transfer instruction and
whether the login credentials match the login details for the        pays a miner's fee for the second transfer .
first wallet. The processor, if the login credentials match the         The invention further provides a non -transitory computer
login details then , logs the first user device into the first 20 readable medium having stored thereon a set of instructions
wallet. The processor, if the first user device is logged into that are executable by a processor of a first host computer
the wallet, permits transmission of an email by a user to the system at a first node of the Bitcoin network to carry out a
first user device to an email address of a second user device method of transacting bitcoin . The processor establishes first
and in response to the transmission of the email. The                and second wallets in a data store connected to the processor.
processor records a transfer in the first wallet for an amount 25 The processor stores a value representative of an amount of
of bitcoin from the first wallet to a second wallet identified       bitcoin held by the first wallet. The processor receives a first
by the email address .                                               transfer instruction for an amount of bitcoin from the first
   The invention further provides a first host computer              wallet and an identifier of the second wallet. The processor,
system for transacting bitcoin including a processor at a first      in response to the first transfer instruction , records a transfer
node of the Bitcoin network , a network interface device 30 in the first wallet for the amount ofbitcoin in the first transfer
connected to the processor, a computer readable medium      instruction out of the first wallet and a transfer in the second
connected to the processor, a data store on the computer wallet, identified by the identifier of the second wallet, for
readable medium and a set of instructions on the computer            the amount of bitcoin in the first transfer instruction into the
readable medium that are executable by the processor. The second wallet without paying a miner's fee for the first
set of instructions includes a wallet establishment module. 35 transfer. The processor receives a second transfer instruction
The wallet establishment module establishes a first and              for an amount of bitcoin from the first wallet and a bitcoin
second wallets in the data store and stores a value repre       address associated with a second node of the bitcoin net
sentative of an amount of bitcoin held by the first wallet. The work . The processor, in response to the second transfer
wallet management module receives, over the network inter       instruction records a transfer in the first wallet for the
face device , a first transfer instruction for an amount of 40 amount of bitcoin in the second transfer instruction out of
bitcoin from the first wallet and an identifier of the second the first wallet,broadcasts a message to the Bitcoin network ,
wallet , in response to the first transfer instruction , records a   including to the second node, to record a transfer associated
transfer in the first wallet for the amount of bitcoin in the first with the bitcoin address associated with the second node, for
transfer instruction out of the first wallet and a transfer in the the amount of bitcoin in the second transfer instruction and
second wallet, identified by the identifier of the second 45 pays a miner's fee for the second transfer.
wallet, for the amount of bitcoin in the first transfer instruc        The invention also provides a host computer system for
tion into the second wallet without paying a miner's fee for         transacting bitcoin including a processor, a computer read
the first transfer. In order to execute a subsequent on -block       able medium connected to the processor, a local storage on
chain transaction , the wallet managementmodule receives ,           the computer readable medium and a set of instructions on
over the network interface device , a second transfer instruc- 50 the computer readable medium that are executable by the
tion for an amount of bitcoin from the first wallet and a processor. The set of instructions includes a register, a
bitcoin address associated with a second node of the Bitcoin      Bitcoin address and an associated private key and value
network , and in response to the second transfer instruction , stored in the register, a local controller, a splitter, an offline
records a transfer in the first wallet for the amount of bitcoin     distribution module , at least one restoration interface, and an
in the second transfer instruction out of the first wallet, 55 assembler. The local controller transfers a private key for a
broadcasts a message to the Bitcoin network , including to Bitcoin address of a vault , to a local storage connected to a
the second node, to record a transfer associated with the processor and transfers the value of the Bitcoin address in
bitcoin address associated with the second node, for the the register to the vault . The splitter splits the private key of
amount of bitcoin in the second transfer instruction , and the Bitcoin address of the vault into a plurality of codes. The
pays a miner's fee for the second transfer.                     60 offline distribution module distributes the codes to remote
   The invention further provides a method of transacting distributed storage locations, removes the private key of the
bitcoin including. A processor of a first host computer Bitcoin address of the vault from the local storage , and
system at a first node of the Bitcoin network establishes first removes the value for the Bitcoin address of the register
and second wallets in a data store connected to the processor. from the Bitcoin address of the register . The restoration
 The processor stores a value representative of an amount of 65 interface receives at least some of the codes into which the
bitcoin held by the first wallet. The processor receives a first private key for Bitcoin address of the vault has been split .
transfer instruction for an amount of bitcoin from the first         The assembler assembles the codes that have been received
                                                      US 10,510,053 B2
                                5                                                                 6
 into the private key of the Bitcoin address of the vault . The coin addresses of the first transfer set due to the portions
 local controller restores the private key of the Bitcoin thereof being transferred to the first vault . The processor
address of the vault from the local storage , and restores the restores the portion of the Bitcoin addresses of the first
value for the Bitcoin address in the register from the vault . transfer set from the first vault to the wallet. The processor
     The invention further provides a method of transacting 5 transacts using the Bitcoin addresses of the first transfer set
bitcoin . processor transfers a private key of the Bitcoin due to the portions thereofbeing restored from the first vault
address of a vault to a local storage connected to the to the wallet.
processor. The processor splits the private key of the Bitcoin     The invention further provides a non - transitory computer
address of the vault into a plurality of codes . The processor readable medium having stored thereon a set of instructions
distributes the codes to remote distributed storage locations. 10 that are executable by a processor to carry out a method of
The processor transfers a value of a Bitcoin address in a transacting . A processor stores a plurality of Bitcoin
register to the vault . The processor receives at least some of addresses in a wallet. The processor selects a first transfer set
the codes into which the private key of the Bitcoin address of the Bitcoin addresses for cold storage in a first vault . The
of the vault has been split. The processor assembles the processor transfers at least a portion of each of the Bitcoin
codes that have been received into the private key of the 15 addresses of the first transfer set to the first vault while
Bitcoin address of the vault. The processor restores the keeping the portions a first transaction set in the register. The
private key of the Bitcoin address of the vault to the vault . processor transacts using the Bitcoin addresses of the first
The processor restores the value of the Bitcoin address in the transacting set without permitting transacting with the Bit
register from the vault.                                        coin addresses of the first transfer set due to the portions
   The invention also provides a non - transitory computer- 20 thereof being transferred to the first vault. The processor
readable medium having stored thereon a set of instructions restores the portion of the Bitcoin addresses of the first
that are executable by a processor to carry out a method of transfer set from the first vault to the wallet. The processor
transacting bitcoin . A processor transfers a private key of the transacts using the Bitcoin addresses of the first transfer set
Bitcoin address of a vault to a local storage connected to the due to the portions thereof being restored from the first vault
processor. The processor splits the private key of the Bitcoin 25 to the wallet.
address of the vault into a plurality of codes . The processor        The invention also provides a method of effecting pay
distributes the codes to remote distributed storage locations . ment including receiving, by a host computer system , a
 The processor transfers a value of a Bitcoin address in a request for payment from a merchant computer system ,
register to the vault. The processor receives at least some of including an amount in a currency, determining, by the host
the codes into which the private key of the Bitcoin address 30 computer system , a first exchange rate , wherein the first
of the vault has been split. The processor assembles the exchange rate fluctuates and the first exchange rate is
codes that have been received into the private key of the determined at a first moment in time, converting, by the host
Bitcoin address of the vault. The processor tores the computer system , the amount in the currency to an amoun
private key of the Bitcoin address of the vault to the vault . in bitcoin using the first exchange rate at the firstmoment in
 The processor restores the value of the Bitcoin address in the 35 time, receiving , by the host computer system , a send instruc
register from the vault.                                           tion from the customer computer system , wherein the send
   The invention further provides a host computer system for instruction is at a second moment in time later than the first
transacting bitcoin including a processor, a network inter moment in time and the exchange rate at the second moment
face device connected to the processor, a computer readable in time is a second exchange rate that is different than the
medium connected to the processor, a local storage on the 40 first exchange rate at the first moment in time, receiving , by
computer readable medium and a set of instructions on the the host computer system , payment in bitcoin from the
computer readable medium that are executable by the pro              customer in an amount that is based on the amount in bitcoin
cessor. The set of instructions includes a wallet, a plurality       and transmitting, by the host computer system , in response
of Bitcoin addresses stored in the wallet , a first vault , and a to receiving the send instruction from the customer com
local controller. The local controller is executable for select- 45 puter system , a payment instruction to pay currency to the
ing a first transfer set of the Bitcoin addresses for cold merchant, wherein the currency paid to the merchant is for
storage in the first vault , transferring at least a portion of an amount that is at least in part based on the amount in the
each of the Bitcoin addresses of the first transfer set to a firstcurrency that is converted to bitcoin at the first moment in
vault while keeping the portions a first transaction set in the time even though the exchange rate is different at the second
register, and restoring at least the portion of the Bitcoin 50 moment in time.
addresses of the first transfer set from the first vault to the      The invention further provides a host computer system for
wallet and a wallet managementmodule transacting using effecting payment including a processor, a computer read
the Bitcoin addresses of the first transacting set without able medium connected to the processor and a set of
permitting transacting with the Bitcoin addresses of the first instructions on the computer readable medium that are
transfer set due to the portions thereof being restored to the 55 executable by the processor. The set of instructions includes
first vault , and transacting using the Bitcoin addresses of the an application programmable interface (API) receiving a
first transfer set due to the portions thereof being restored        request for payment from a merchant computer system ,
from the first vault to the wallet.                                  including an amount in a currency, a currency converter
   The invention also provides a method of transacting               determining a first exchange rate, wherein the first exchange
bitcoin . A processor stores a plurality of Bitcoin addresses in 60 rate fluctuates and the first exchange rate is determined at a
a wallet. The processor selects a first transfer set of the          first moment in time, and converting, by the host computer
Bitcoin addresses for cold storage in a first vault. The system , the amount in the currency to an amount in bitcoin
processor transfers at least a portion of each of the Bitcoin using the first exchange rate at the first moment in time,
addresses of the first transfer set to the first vault while         transaction processor receiving a send instruction from the
keeping the portions a first transaction set in the register. The 65 customer computer system , wherein the send instruction is
processor transacts using the Bitcoin addresses of the first at a second moment in time later than the first moment in
transacting set without permitting transacting with the Bit          time and the exchange rate at the second moment in time is
                                                   US 10,510,053 B2
                               7                                                                 8
a second exchange rate that is different than the first            users reacting to the first and second messages sent to the
exchange rate at the first moment in time, and receiving a         first and second addresses and transferring , by the host
payment in bitcoin from the customer in an amount that is          computer system , the amount of bitcoin out of the vault only
based on the amount in bitcoin and a bank transfer module          if both the first and second authorization instructions are
transmitting in response to receiving the send instruction 5 detected .
from the customer computer system , a payment instruction       The invention further provides a bitcoin management
to pay currency to the merchant, wherein the currency paid system , including a processor, a computer -readable medium
to the merchant is for an amount that is at least in part based connected to the processor and a set of instructions on the
on the amount in the currency that is converted to bitcoin at computer readable medium that are executable by the pro
the first moment in time even though the exchange rate is 10 cessor. The set of instructions includes a vault establishment
different at the second moment in time.                            wizard establishing a vault and storing first and second
     The invention also provides a non -transitory computer        electronic communication addresses in relation to the vault,
readable medium having stored thereon a set of instructions transaction processor storing bitcoin in the vault and a vault
that are executable by a processor to carry out a method of management module receiving a request to transfer an
transacting bitcoin including receiving ,by a host computer 15 amount of the bitcoin out of the vault, transmitting, in
system , a request for payment from a merchant computer response to the request, first and second messages over a
system , including an amount in a currency, determining, by network to the first and second addresses, detecting whether
the host computer system , a first exchange rate , wherein the first and second authorization instructions are received due
first exchange rate fluctuates and the first exchange rate is to one or more users reacting to the first and second
determined at a firstmoment in time, converting , by the host 20 messages sent to the first and second addresses, and instruct
computer system , the amount in the currency to an amount ing the transaction processor to transfer the amount of
in bitcoin using the first exchange rate at the firstmoment in bitcoin out of the vault only if both the first and second
time, receiving, by the host outer system , a send instruc         authorization instructions are detected .
tion from the customer computer system , wherein the send             The invention also provides a method of transacting
 instruction is at a second moment in time later than the first 25 bitcoin including storing, by a host computer system , a
moment in time and the exchange rate at the second moment public key , receiving, by the host computer system , a request
in time is a second exchange rate that is different than the from a user computer system to transact using a bitcoin
 first exchange rate at the first moment in time, receiving , by address, transmitting, by the host computer system , a veri
the host computer system , payment in bitcoin from the fication script to the user computer system , the verification
customer in an amount that is based on the amount in bitcoin 30 script including an authorization and a signature algorithm
and transmitting, by the host computer system , in response that is executable on the user computer system to sign the
to receiving the send instruction from the customer com            authorization with a private key to obtain a signed authori
puter system , a payment instruction to pay currency to the zation that includes the signature and transmit the signed
merchant, wherein the currency paid to the merchant is for authorization to the host computer system , receiving, by the
an amount that is at least in part based on the amount in the 35 host computer system , the signed authorization including the
currency that is converted to bitcoin at the first moment in signature from the user computer system , verifying, by the
time even though the exchange rate is different at the second host computer system , the signature of the signed authori
moment in time.                                                    zation received from the user computer system using a
     The invention further provides a method of managing public key ; and transacting, by the host computer system ,
bitcoin , including establishing , by a host computer system , 40 with the bitcoin address , the transacting being permitted due
a vault and storing first and second electronic communica          to a successful verification of the signature but not upon an
tion addresses in relation to the vault, storing, by the host unsuccessful verification of the signature .
computer system , bitcoin in the vault, receiving , by the host       The invention further provides a host computer system
computer system , a request to transfer an amount of the including a processor, a set of data and instructions on the
bitcoin out of the vault , transmitting , by the host computer 45 computer-readable medium that are executable by the pro
system , in response to the request, first and second messages cessor that are executable by the processor, a public key, a
over a network to the first and second addresses, detecting , transaction processor receiving a request from a user com
by the host computer system , whether first and second puter system to transact using a bitcoin address, a verifica
authorization instructions are received due to one or more tion script that is transmitted to the user computer system ,
users reacting to the first and second messages sent to the 50 the verification script including an authorization and a
first and second addresses and transferring, by the host signature algorithm that is executable on the user computer
computer system , the amountofbitcoin out of the vault only system to sign the authorization with a private key to obtain
if both the first and second authorization instructions are a signed authorization that includes the signature and trans
detected .                                                         mit the signed authorization to the host computer system , the
     The invention also provides a non -transitory computer- 55 host computer system receiving the signed authorization
readable medium having stored thereon a set of instructions including the signature from the user computer system , and
which , when executed by a processor, executes a method a verification module verifying the signature of the signed
including establishing, by a host computer system , a vault authorization received from the user computer system using
and storing first and second electronic communication a public key, the transaction processor transacting with the
addresses in relation to the vault, storing , by the host 60 bitcoin address , the transacting being permitted due to a
computer system , bitcoin in the vault, receiving , by the host    successful verification of the signature but not upon an
computer system , a request to transfer an amount of the           unsuccessful verification of the signature .
bitcoin out of the vault, transmitting, by the host computer          The invention also provides a host computer system
system , in response to the request, first and second messages including a processor, a network interface device connected
over a network to the first and second addresses, detecting, 65 to the processor, a computer readable medium connected to
by the host computer system , whether first and second the processor and a set of instructions on the computer
authorization instructions are received due to one or more         readable medium that are readable and executable by the
                                                          US 10,510,053 B2
                                   9                                                                             10
processor. The set of instructions include an embedded code                  FIG . 1A is a block diagram of a network environment that
generator generating an embedded code for inclusion within includes the Bitcoin network and a number of systems
a website of a partner computer system , the embedded code forming part thereof or connected thereto ;
including a startup caller causing transmission of a startup                 FIG . 1B is a block diagram of a first host computer system
systemfrom, a the
call              sendercallcomputer
               startup        respondersystem  to thethehoststartup
                                          receiving           computer
                                                                    call 5 andFIGa .first2 isanddiagrammatic
                                                                                                    second user devices connected thereto ;
from the sender computer system and transmitting, in within a first host computerviewsystem                          of a first wallet that is held
                                                                                                                          in FIG . 1 ;
response to the startup call, a tip button and a session script               FIG   .  3    is   a view similar to  FIG . 2 , further illustrating a
to the sender computer system , the session script being
executable by the sender computer system to transmit a 10 second wallet that has been established within the first host
session call to the host computer system and a session computer system ;
responder transmitting, in response to the session call, at                   FIG . 4 is a view of an email that is received by the second
least one payment button and a payment script to the sender user device in FIG . 1 ;
computer system , the payment button being selectable by
the user of the sender computer system to execute the 15 withFIGfields             . 5 is a view of a browser displaying a user interface
                                                                                              for creating login details for the second wallet;
payment script, the payment script transmitting an instruc
tion to a transaction processor to transfer funds from a of the second 30useraredevice
                                                                             FIGS     .   6  to          views similar to FIG . 5 that step a user
                                                                                                              through a wallet set up ;
sender account to a receiver account.                                           FIGS. 31 to 33 are views of the browser wherein the user
   The invention further provides a method of transferring                   interface discloses various tools that can be used by the user ;
funds including generating, by a host computer system , an
embedded code for inclusion within a website of a partner 20                   FIGS. 34 to 37 are views of the browser wherein the user
computer system , the embedded code including a startup                      interface is used by the user to purchase bitcoin from the first
caller causing transmission of a startup call from the sender                host computer system ;
computer system to the host computer system , receiving , by                    FIG . 38 is an email that is received by the second user
the host computer system , the startup call from the sender                  device to confirm the purchase of the bitcoin from the first
computer system , transmitting, by the host computer system 25 host computer system ;
in response to the startup call, a tip button and a session       FIG . 39 is an email that is received by the second user
script to the sender computer system , the session script being              device with a notification that bitcoin has been added to their
executable by the sender computer system to transmit a                       wallet as part of a referral bonus system ;
session call to the host computer system and transmitting, by                   FIG . 40 is a view of the browser wherein the user interface
the host computer system in response to the session call, at
least one payment selection and a payment script to the 30 displays “ Limits and Verifications” associated with the sec
sender computer system , the payment selection being select ondFIGwallet . 41
                                                                              ;
                                                                               is a view similar to FIG . 3 displaying transfer of
able by the user of the sender computer system to execute
the payment script, the payment script transmitting an bitcoin      FIGS
                                                                           from the second wallet to the first
                                                                           . 42  and 43 are views  of the browser
                                                                                                                     et ;
                                                                                                                   when   the user
instruction to a transaction processor to transfer funds from
a sender account to a receiver account .                       35 interface steps the user through the transfer of bitcoin from
    The invention also provides a method of transacting the second wallet to the first wallet;
bitcoin including executing, by a host computer system , a          FIG . 44 is a view of the browserwherein the user interface
trading algorithm , including receiving sell offers for bitcoin displays Bitcoin addresses associated with transactions that
 from a sellers , receiving a buy offers for bitcoin from a have been completed ;
buyers , creating respective matches wherein each match 40                      FIG . 45 is a view similar to FIG . 40 further showing the
includes one of the buy offers and one of the sell offers,                   transfer of bitcoin from the second wallet to a third wallet
broadcasting each respective match over a multicast pipe                     that is connected to a second host computer system ;
line, receiving each respective match with a clearing module       FIG . 46 is a block diagram illustrating splitting of a
and clearing the respective match by updating an exchange private key of a vault and offline distribution ;
database to reflect the respective match by transferring a 45 FIG . 47 is a block diagram illustrating removal of the
representation of bitcoin from the seller to the buyer and private key of the vault;
transferring a representation of currency from the buyer to        FIG . 48 is a block diagram illustrating offline or “ cold ”
the seller.                                                     storage of values of Bitcoin addresses of a wallet in the
    The invention further provides a system for transacting vault;
bitcoin including an order gateway receiving sell offers for 50 FIG . 49 is a block diagram illustrating isolation of the
bitcoin from a sellers and receiving a buy offers for bitcoin vault with its private key removed;
from a buyers , a matching engine creating respective              FIG . 50 is a block diagram illustrating how the private key
matches wherein each match includes one of the buy offers of the vault and the value of the Bitcoin addresses are
and one of the sell offers , a multicast pipeline, the matching restored ;
engine broadcasting each respective match over the multi- 55 FIGS . 51a to 51d are block diagrams that illustrate how
cast pipeline, an exchange database; and a clearing module values of certain Bitcoin addresses in a wallet are removed
receiving each respective and clearing the respective match and others are maintained ;
by updating the exchange database to reflect the respective        FIG . 52 is a graph illustrating how the wallet is main
match by transferring a representation of bitcoin from the tained within a range so that only a portion of the wallet is
 seller to the buyer and transferring a representation of 60 “ hot” in the sense that a user of the wallet can use the “ hot”
currency from the buyer to the seller, thereby executing a portion for transacting with another user;
trading algorithm .                                                FIG . 53 is a block diagram that shows how an interme
                                                                diate hot wallet is used to collect value from multiple wallets
       BRIEF DESCRIPTION OF THE DRAWINGS                                     before transfer to a vault;
                                                                        65      FIG . 54 is a block diagram of a network environment that
   The invention is further described by way of example                      includes a customer computer system and merchant com
with reference to the accompanying drawings, wherein :                       puter system ;
                                                  US 10,510,053 B2
                             11                                                                 12
   FIG . 55 is a block diagram illustrating functioning for       module 38. As further illustrated in the drawing , the hosted
purposes of locking an exchange rate in when processing a          email module 46 is connected over the Internet 22 to the
transaction made by the customer computer system on the            second user device 20 and the second user device 20 is
merchant computer system in FIG . 54 ;                             connected over the Internet 22 and the user interface 36 to
   FIG . 56 is a flow chart illustrating the establishment of a 5 the wallet establishmentmodule 40 .
personal vault;                                                      As shown in FIG . 2 , the first host computer system 14
   FIG . 57 is a flow chart illustrating how bitcoin is trans already has one wallet (Wallet A ) stored among the wallets
ferred into and out of the vault;                                 42 corresponding to the first user device 18. The first wallet
   FIG . 58 is a block diagram of the first host computer (Wallet A ) includes an email address (email address A ) and
system illustrating components that are used for establishing 10 login details for the wallet. The first wallet (Wallet A ) also
the vault and transferring bitcoin into and out of the vault; includes a number of Bitcoin addresses (Bitcoin address 1 ;
   FIG . 59 is an email that is transmitted to verify a sec Bitcoin address 2 ) that have been created due to respective
ondary email address ;                                        transfers or purchases ( Transfer 1; Transfer 2 ). The first
   FIG . 60 is a view of a browser wherein a user interface Bitcoin address (Bitcoin address 1) is created due to a
displays options for transferring bitcoin out of a vault ; 15 purchase (Transfer 1 ) from a master wallet of the first host
   FIGS. 61 and 62 are emails that are transmitted to primary computer system 14 (First Host) and is recorded for a value
and secondary email addresses to approve a withdrawal;        in an amount in bitcoin . The second Bitcoin address (Bitcoin
   FIG . 63 is a view of the browser with the user interface       address 2 ) is created due to a transfer ( Transfer 2 ) from
displaying a transaction status window ;                         another location within the Bitcoin network 12 having a
   FIG . 64 is a block diagram illustrating the establishment 20 network address outside of the first host computer system 14
of a user- controlled vault;                                     and is recorded for a particular amount in bitcoin . The first
   FIG . 65 is a block diagram illustrating the user of the wallet (Wallet A ) was originally established by the wallet
user -controlled vault for authorizing a transaction             establishment module 40 in FIG . 1B . The email address
  FIG . 66 is a block diagram of an address generator that is (email address A ) and login details of the first wallet were
used by the user -controlled vault ;                          25 also recorded by the wallet establishment module 40. The
   FIG . 67 to FIG . 71 are a block diagrams illustrating the wallet establishment module 40 and wallet management
functioning of a tip button ;                                    module 44 were used to record the transfers and purchases
   FIG . 72 is a block diagram of a system for transacting ( Transfer 1 ; Transfer 2 ), their Bitcoin addresses (Bitcoin
bitcoin according to an embodiment of the invention;              address 1 ; Bitcoin address 2 ), their values and other details
   FIGS. 73a to 73f illustrate the use of the system of FIG . 30 within the wallet .
72 for executing transfer -in , trading and withdrawal algo          A user of the first user device 18 in FIG . 1B may use a
rithms; and                                                      mobile application on the first user device 18 to communi
   FIG . 74 is a block diagram of a machine in the form of a cate over the Internet 22 directly with the login module 38
computer system forming part of the network environment. or may use a browser on the first user device 18 to com
                                                               35 municate via the Internet 22 and the website 34 with the
          DETAILED DESCRIPTION OF THE                          login module 38. A browser application on the first user
                        INVENTION                                  device 18 transmits a user interface request over the Internet
                                                               22 to the website 34. The website 34 responds to the user
   FIG . 1A of the accompanying drawings illustrates a interface request by transmitting the user interface 36 over
network environment 10 , including the Bitcoin network 12 , 40 the Internet 22 to the first user device 18. The user interface
a first host computer system 14 within which the invention 36 is then displayed on the first user device 18. The user
manifests itself, a second host computer system 16 , first and interface 36 includes fields for entering login credentials,
second user devices 18 and 20 connected over the Internet         which are then transmitted from the first user device 18 over
22 to the first host computer system 14 , a third user device the Internet 22 to the login module 38. The login module 38
24 connected to the second host computer system 16 , a 45 verifies whether the login credentials match the login details
bitcoin exchange computer system 26 and a miner computer for the wallet (Wallet A ). If the login credentials match the
system 28 .                                                   login details, then the login module 38 logs the first user
    The Bitcoin network 12 includes a host node 30 and a      device 18 into the wallet (Wallet A ) in FIG . 2. If the login
plurality of remote nodes 32A to D that are connected to one credentials do not match the login details , then the first user
another. The first host computer system 14 is connected to 50 device 18 is not logged in to the wallet.
the host node 30. The bitcoin exchange computer system 26            If the first user device 18 in FIG . 1B is logged in to the
is connected to the remote node 32A . The second host             wallet, the login module 38 also provides access for the first
computer system 16 is connected to the remote node 32B .          user device 18 to the hosted email module 46 and transmis
 The miner computer system 28 is connected to the remote sion of an email by a user of the first user device 18 to an
node 32D or could reside on the same computer system . 55 email address of the second user device 20. The user
   The first host computer system 14 is used primarily for interface 36 provides a field for entering the email address
transacting bitcoin and , as shown in FIG . 1B , includes a of the second user device 20. The user interface 36 also
website 34 having a user interface 36 , a login module 38 , a includes a field for entering an amount in bitcoin (or an
wallet establishmentmodule 40, a plurality of wallets 42, a amount in local currency that is converted to bitcoin using
wallet management module 44 and a hosted email module 60 an exchange rate ) that is being transferred from the wallet
46. The login module 38 is connected to the website 34 and (Wallet A ) corresponding to the first user device 18 to a
the hosted emailmodule 46 is connected to the login module respective wallet among the wallets 42 corresponding to the
38. The wallet establishment module 40 is connected to the         second user device 20 that has not yet been established at
wallets 42. The hosted email module 46 is connected via the        this point in time. The user of the first user device 18 then
wallet management module 44 to the wallets 42. As illus- 65 uses the hosted email module 46 to send an email at 50 to
trated in the drawing, the first user device 18 is connected the second user device 20. The hosted email module 46
over the Internet 22 and the user interface 36 to the login simultaneously at 52 instructs the wallet establishmentmod
                                                   US 10,510,053 B2
                             13                                                                  14
ule 40 to establish a wallet corresponding to the email amount of bitcoin at the Bitcoin address (Bitcoin address 4 )
address within the wallets 42. The hosted email module 46 in FIG . 3. The user can select various tools down the left
simultaneously instructs the wallet management module 44 margin , including sending or requesting bitcoin , buying or
to record the amount ofbitcoin that is being transferred from      selling bitcoin , account settings and various merchant tools .
 the wallet (Wallet A ) within the wallet corresponding to the 5 FIG . 8 illustrates a view that is displayed to the user if the
email address .                                                    user selects the “ Buy /Sell” link in FIG . 7. The user is
    FIG . 3 illustrates further activity within the wallets 42 due prompted to add a bank account. FIGS. 9 through 15 step the
to the email represented by a third transfer ( Transfer 3 ). user through the entry of bank account details and verifica
When the user of the first wallet (Wallet A ) transmits the tion of the bank account. The user can also select a credit
email , the system uses an existing Bitcoin address (Bitcoin 10 card as a backup payment. FIGS . 16 to 19 step the user
address 2 ) to which the outgoing transfer is charged . Asso       through the entry of a credit card number and a billing
ciated with the transfer ( Transfer 3 ) are the email address to address, and FIGS. 20 and 21 step the user through a
which the email has been transmitted , the amount in bitcoin , verification process to verify that the user is in control of the
a miner's fee of zero bitcoin that is paid by the first host credit card account. FIGS. 22 and 23 request additional
computer system 14 to any miner computer system such as 15 information from the user . FIG . 23 also allows the user to
the miner computer system 28 in FIG . 1A , and a host fee of verify a phone at a phone number and FIGS. 24 through 27
zero bitcoin that are charged to the wallet (Wallet A ) for the step the user through a process for verifying their phone and
transfer. A second wallet (Wallet B ) is established by the phone number. FIGS. 28 through 30 illustrate a process for
wallet establishmentmodule 40 and the email address ( email verifying an identity of the user of the second user device 20.
address B ) of the second user device 20 is recorded as an 20 As illustrated in FIGS. 31 to 33, the top margin within the
identifier of the wallet (Wallet B ). A Bitcoin address (Bitcoin account settings allow for additional tools such as referrals
address 3 ) is recorded within the second wallet (Wallet B ) (FIG . 31 ), viewing of Bitcoin addresses (FIG . 32 ), and
for the transfer ( Transfer 3 ). Within the second wallet integration with an application programmable interface
(Wallet B ), the transfer ( Transfer 3 ) has the Bitcoin address (FIG . 33).
 (Bitcoin address 3 ), the identifier of the wallet (Wallet A ) 25 FIG . 34 illustrates a process that is initiated by the user to
 from where the funds are transferred associated therewith , purchase bitcoin from a wallet of the first host computer
and the amount in bitcoin that has been transferred . The          system 14. In the present example , the user selects one (1 )
amount in bitcoin corresponding to the transfer ( Transfer 3 ) bitcoin (BTC ) to purchase . FIGS. 35 and 36 step the user
ofboth wallets (Wallet A ; Wallet B ) is the same, consistent through the process of purchasing the bitcoin . Once the
with double entry accounting principles. The second wallet 30 bitcoin is purchased , the user can select on “History ” tab in
(Wallet B ) so far has no login details or any other user the top margin to display a view as shown in FIG . 37
information and has not been accessed by a user of the wherein the transaction is displayed and is marked as
second user device 20 this point in time.                          “ PENDING ” .
   FIG . 4 illustrates the email when it is received at the           FIG . 38 shows an email that is transmitted by the hosted
second user device 20 in FIG . 1B . The email is received and 35 email module 46 in FIG . 1B to the second user device 20 to
viewed within an email application on the second user confirm the purchase of the bitcoin following selection of a
device 20. The email includes a link (“ Click here to sign in “ Confirm " button in FIG . 35. The email also has a link that,
and claim this amount” ) that, when selected by the user of when selected by the user, opens the browser on the second
the second user device 20 , transmits a user interface request user device 20 and allows the user to login to their wallet and
from the browser on the second user device 20 over the 40 view the transaction .
Internet 22 to the website 34. The website 34 responds to the         FIG . 39 shows an email that is transmitted by the hosted
user interface request to transmit the user interface 36 over email module 46 in FIG . 1B to the second user device 20
the Internet 22 to the second user device 20 for viewing with a notification that bitcoin has been added to their wallet
within the browser.                                                as part of a referral bonus system .
   FIG . 5 illustrates the user interface 36 as displayed on the 45 FIG . 40 illustrates a view that is displayed when the user
second user device 20 in FIG . 1B . The user interface 36          selects a “ Limits and Verifications ” tab in the top margin of
includes a plurality of fields for the user of the second user the “ Buy / Sell” page .
device 20 to enter login details for the second wallet (Wallet    When the user selects the “ Send /Request” link in the left
B ), including a password and a confirmation of the pass margin in FIG . 40 , the user is provided an option to send
word . After the user has entered a password , the user can 50 bitcoin from their wallet (Wallet B ) in FIG . 3 to another
access their wallet by selecting the button " Access My wallet (e.g. the first wallet (Wallet A )) in FIG . 3 .
Wallet” . The wallet establishment module 40 in FIG . 1B              FIG . 41 illustrates further transfers or purchases ( Transfer
stores the login credentials in association with the second        4 ; Transfer 5 ; Transfer 6 ). The fourth transfer ( Transfer 4 )
wallet (Wallet B ). The login module 38 also logs the second represents the purchase of bitcoin from the first host com
user device 20 into the second wallet (Wallet B ). If the user 55 puter system's 14 master wallet.
is logged out, the user can be provided with a login page            The fifth transfer ( Transfer 5 ) represents the transfer of
where the user can enter login credentials that are compared bitcoin from the second wallet (Wallet B ) to the first wallet
with the login details in the second wallet (Wallet B ) and (Wallet A ). The second wallet (Wallet B ) now has login
then log into the second wallet (Wallet B ) following a details stored therein . If the second user device 20 in FIG .
favorable match between the login credentials and the login 60 1B has been logged out of the second wallet (Wallet B ), then
details .                                                         the second user device 20 is first directed to the login module
   FIG . 6 shows a view that is displayed on the second user 38 which receives login details for the second wallet (Wallet
device 20 in FIG . 1B . The user is already logged into the B ) from the second user device 20 , verifies whether the login
wallet, as shown in the top right. The user can accept or credentials for the second wallet (Wallet B ) match the login
decline an agreement. FIG . 7 displays the first page that is 65 details for the second wallet (Wallet B ). If the login details
displayed to the user following acceptance of the agreement. match the login credentials , then the login module 38 logs
 The page shows the current balance corresponding to the the second user device 20 into the second wallet (Wallet B ).
                                                     US 10,510,053 B2
                               15                                                                     16
   The login module 38 then provides the second user device             bitcoin to be transferred to the third wallet (Wallet C ) . A
20 with access to the hosted email module 46. The user of               transfer ( Transfer 7 ) is recorded within the second wallet
the second user device 20 then enters the email address                 (Wallet B ). Associated with the transfer (Transfer 7 ) are the
(email address A ) of the user of the first wallet (Wallet A )          Bitcoin address (Bitcoin address 6 ), the amount in bitcoin
and an amount of bitcoin that the user of the second user 5 that is being transferred and a miner's fee that is charged for
device 20 wishes to transfer from the second wallet (Wallet the transfer and has to be paid by the first host computer
B ) to the first wallet (Wallet A ). The user of the second user        system 14 to the miner computer system 28 in FIG . 1A . No
device 20 then uses the hosted email module 46 to send an               fee is charged by the first host computer system 14 for a
email via the Internet 22 to the first user device 18. As soon          transfer to another Bitcoin address .
as the email is sent, a transfer ( Transfer 5 ) is recorded within 10     When the user of the second user device 20 in FIG . 1A
the second wallet (Wallet B ). Because one of the Bitcoin               completes the purchase, a transfer instruction is created and
addresses (Bitcoin address 4 ) has funds associated there               is broadcast via the host node 30 to all remote nodes 32A - D
with , it can be charged for the transfer (Transfer 4 ). Within         within the Bitcoin network 12. The transfer instruction thus
the second wallet (Wallet B ) the transfer ( Transfer 4 ) has the       traverses the first node and the second remote node 32B to
email address (email address A ) to which the email has been 15 reach the second host computer system 16. The second host
sent and the amount in bitcoin associated therewith .                   computer system 16 and all other computer systems con
   As indicated , the miner's fee that is paid by the first host        nected to the remote nodes 32A - D record the transfer
computer system 14 and the host fee that is charged for the ( Transfer 7 ) with respect to the Bitcoin addresses (Bitcoin
transfer are zero bitcoin because the first wallet (Wallet A ) address 4 ; Bitcoin address 6 ). The transfer ( Transfer 7) has
is stored within the wallets 42 of the first host computer 20 associated therewith the amount in bitcoin .
system 14. The user of the first user device 18 receives the             The transfer instruction that results in the transfer ( Trans
 email indicating the transfer ofbitcoin to their wallet (Wallet fer 5 ) thus results in nominer's fee being charged to and paid
 A ). A Bitcoin address (Bitcoin address 5 ) is recorded within by the first host computer system 14. No host fee is charged
the first wallet (Wallet A ) for the transfer ( Transfer 5 ) to the second wallet (Wallet B ) because the transfer ( Trans
together with the identifier of the second wallet (Wallet B ) 25 fer 7 ) is made to another wallet (Wallet A ) within the wallets
from which the transfer has been made and the amount in 42 of the first host computer system 14. By contrast, the
bitcoin . The amount in bitcoin corresponding to the transfer transfer instruction that results in the transfer ( Transfer 7 )
( Transfer 4 ) in the second wallet (Wallet B ) is the same as representing the transfer to the Bitcoin address (Bitcoin
the amount in bitcoin as in the first wallet (Wallet A ).             address 6 ) in the third wallet (Wallet C ) results in a miner's
    As illustrated by the next transfer ( Transfer 6), the user of 30 fee that is paid by the first host computer system 14 to the
the second wallet (Wallet B ) can opt to send bitcoin to a miner computer system 28. The miner computer system 28
Bitcoin address of the first wallet (Wallet A ). The transfer is responsible for verifying transfers of bitcoin over the
 ( Transfer 6 ) is the same as the preceding transfer ( Transfer Bitcoin network 12. In the present scenario , the miner
5 ) in all other respects.                                            computer system 28 verifies the transfer of bitcoin from the
     FIG . 42 shows a view that is displayed to the user of the 35 second wallet (Wallet B ) to the third wallet (Wallet C ).
second user device 20 in FIG . 1B in order to make the                   Another transfer may comprise that bitcoin is sent to one
transfer from their wallet (Wallet B ) to the first wallet of the nodes, e.g.node 32C . The node 32C could be a fourth
 (Wallet A ). The view includes a field for the user to enter the user device which is owned by the recipient of the bitcoin
email address ( email address A ) and fields for entering either transfer having its own bitcoin address .
an amount in bitcoin (BTC ) or an amount in a local currency 40 FIG . 46 illustrates components that are used for cold
(USD -United States Dollar). The exchange rate between storage of value of bitcoin, including a local storage 56 , a
bitcoin and the local currency is shown in the top left corner . local controller 58 , a vault 64, a splitter 66 , one or more
 The view also includes a button “ Send Money ” which , when encryption algorithms 68 and 70 and an offline distribution
selected by the user, initiates the transfer of bitcoin .             module 72 .
     FIG . 43 is a view that is displayed to the user indicating 45 The vault 64 has a Bitcoin address 80 with a private key
 transactions that have been initiated or completed . The 79. The private key 79 is, for purposes of illustration , shown
purchase of bitcoin discussed with reference to FIGS. 35 to as a nine digit sequence ofcharacters that are provided to the
37 is shown as “ PENDING ” . A block chain verification splitter 66. For purposes of illustration , the splitter 66 splits
notice has to be broadcast by the miner computer system 28 the nine digits of the private key 79 into seven overlapping
and be received by the first host computer system 14 in FIG . 50 codes (Codes 1 to 7 ). The encryption algorithm 68 encrypts
1A before a determination is made to change the marker the first code (Code 1) into an encrypted code (Encrypted
“ PENDING ” to “ COMPLETE " . The other transactions rep              Code 1). In a similar manner, the second code (Code 2 ) is
resenting transfers between the first and second wallets encrypted by an encryption algorithm (not shown ) into an
 (Wallet A and Wallet B ) in FIG . 41 are shown as completed encrypted code (Encrypted Code 2 ). Each one of the seven
because     they do not need block chain verification outside of 55 codes is encrypted into a separate encrypted code. A separate
 the first host computer system 14. No block chain verifica key may be used for each one of seven codes. Alternatively ,
tion notice is thus required for these transactions to be a separate encryption algorithm may be used for each one of
marked " COMPLETE " . FIG . 44 shows a view that can be               the seven codes .
selected by the user by selecting a tab in the top margin               Once all the codes have been encrypted , the offline
wherein the user is shown the Bitcoin addresses associated 60 distribution module 72 transmits each one of the encrypted
with transactions that have been completed .                          codes (Encrypted Code 1 to 7) to a separate location . The
     FIG . 45 illustrates a further transaction ( Transfer 7 ) locations are remote locations that are geographically sepa
wherein bitcoin is transferred from the second wallet (Wallet           rated from one another . The offline distribution module 72
B ) to a third wallet (Wallet C ) held by the second host may also be used to print one or more of the encrypted codes
computer system 16 in FIG . 1A . The user of the second user 65 for paper delivery to respective remote locations.
device 20 enters a bitcoin address (Bitcoin address 6 ) that is           FIG . 47 illustrates functioning of the offline distribution
located in the third wallet (Wallet C ) and an amount of                module 72 following distribution of the encrypted codes in
                                                    US 10,510,053 B2
                              17                                                                 18
FIG . 46. The offline distribution module 72 removes the been restored is the same private key 79 thatwas previously
private keys 79 of the Bitcoin address 80 of the vault 64. The associated with the Bitcoin address. Only upon confirmation
offline distribution module 72 also removes the private key from the block chain will it be possible to transfer the value
 79 of the Bitcoin address 80 within the local storage 56 .    from the vault 64 to the local register 60.
   As shown in FIG . 48 , a local register 60 includes a 5 The local controller 58 restores the respective value of the
plurality of wallets 42 , one of which is shown. Thewallet 42      Bitcoin addresses 76 and 78 in the vault 64 to the Bitcoin
has a plurality of Bitcoin addresses 74 , 76 and 78 associated     addresses 76 and 78 in the wallet 42. Because the values
therewith . Each Bitcoin address 74 , 76 and 78 has a respec       have been restored to the Bitcoin addresses 76 and 78 in the
tive value and a respective private key. The local controller      wallet 42 they are usable for transacting with other users .
58 transfers the entire value of the Bitcoin addresses 76 and 10     FIGS. 51a to 51d illustrate the use of a “ hot” wallet in
78 into the vault 64. The value relating to the Bitcoin address    combination with “ cold storage ” . As shown in FIG . 51a , the
74 is not transferred into the vault 64. The local controller 58   wallet 42 has the Bitcoin addresses 74 , 76 , 78 and a further
calculates the total value of the Bitcoin addresses 76 and 78      Bitcoin address 98 , each having a respective value associ
that have been transferred into the vault 64 and records the       ated therewith . The local storage 56 has first, second and
total value in the local storage 56 in association with the 15 third Bitcoin addresses 80A to 80C for first, second and third
Bitcoin address 80 .                                           vaults 64A to 64C , respectively . The Bitcoin addresses 76
   As shown in FIG . 49, following removal of the value of and 78 form a first transfer set that is selected for cold
the Bitcoin addresses 76 and 78 within the wallet 42 , the         storage . The Bitcoin addresses 74 and 98 form a first
value of the Bitcoin addresses 76 and 78 are only held within      transacting set . The values of the Bitcoin addresses 76 and
the vault 64 and the local storage 56. The private key 79 is 20 78 of the first transfer set are transferred into the first vault
only held in a split and encrypted form at the distributed 64A , as represented by “ Value” in the first vault 64A .
locations where the offline distribution module 72 in FIG . 46    The private key of the Bitcoin address 80A of the first
has distributed them to . Unless access can be gained to the vault 64A is then transferred into the local storage 56 and is
private key 79 that has now been split and distributed , it is stored in association with the first Bitcoin address 80A . As
not possible to access the value of the Bitcoin addresses 76 25 hereinbefore described with reference to FIG . 46 , the private
and 78. It is now possible for a user to which the wallet 42 key of the Bitcoin address 80A in the local storage 56 is then
is registered to use the Bitcoin address 74 for transacting split and distributed . As hereinbefore described with refer
with another user via the wallet management module 44 in ence to FIGS . 47 and 48 , the private keys of the Bitcoin
FIG . 1B . The Bitcoin addresses 76 and 78 are not usable by address 80 and the value of the Bitcoin address 76 and 78 are
the wallet managementmodule 44 for purposes of transact- 30 then removed . It is then not possible for a user of the wallet
ing with another user at this time because their values, 42 to use the Bitcoin address 76 and 78 for transacting with
within the wallet 42 , have been removed .                      another user. The user can still transact with another user
   FIG . 50 shows how the private keys of the vault 64 and using the Bitcoin addresses 74 and 98 of the first transacting
the Bitcoin addresses 76 and 78 that were removed in FIG .         set because their values are still associated with them within
46 are restored . Components that are provided for restora- 35 the wallet 42 .
tion include a plurality of restoration interfaces 82, 84 and    FIG . 51b shows the Bitcoin addresses 76 and 78 within
86 , one or more decryption algorithms 88 , 90 and 92 and an the wallet 42 with their values removed and the Bitcoin
assembler 94. The holder of the first encrypted code (En address 80A within the local storage 56 with its private key
crypted Code 1 ) is called upon to enter the encrypted code removed . The private key of the Bitcoin address 80B of
into the restoration interface 82. The restoration interface 82 40 second vault 64B is transferred into the local storage 56 and
may for example be a web page with a field for entry of the associated with the second Bitcoin address 80B within the
first encrypted code . Alternatively, the restoration interface    local storage 56. The private key of the second Bitcoin
82 may be an application programmable interface (API) and          address 80B in the local storage 56 is split and distributed
the first encrypted code can be entered into the API with or       and then removed from the local storage 56. The Bitcoin
without human involvement.                                    45 address 98 is selected as part of a second transfer set of one
  In the given example , the second , third , fifth and sixth or more Bitcoin addresses . The value of the Bitcoin address
encrypted codes are not received at this time. The fourth and    98 is transferred from the wallet 42 into the second vault
seventh encrypted codes are received through the restoration       64B , as represented by “ Value ” in the second vault 64B . The
interfaces 84 and 86 , similar to the first encrypted code.        value of the Bitcoin address 98 within the wallet 42 is thus
   The decryption algorithm 88 decrypts the first encrypted 50 removed . The user of the wallet 42 can now not use the
code (Encrypted Code 1 ) into the first code (Code 1). In the      Bitcoin address 98 for purposes of transacting with another
given example, the decryption algorithms 90 and 92 decrypt         user because the value of the Bitcoin address 98 has been
the fourth and seventh encrypted codes ( Encrypted Code 4          removed from the wallet 42. The Bitcoin address 74 forms
and Encrypted Code 7 ) into the fourth and seventh codes           part of a second transacting set thatmay include one ormore
(Code 4 and Code 7) respectively. In the given example , 55 another
three codes are the minimum number of codes that are
                                                            Bitcoin user
                                                                    addresses
                                                                         .
                                                                              that can be used for transacting with
required in order to reassemble the private key 79. The              FIG . 51c shows the Bitcoin address 98 having its value
minimum number of codes required for reassembly in FIG . removed and the second Bitcoin address 80B within the
48 is thus less than the total number of codes into which the local storage 56 having its private key removed .Atthis stage
private key 79 has been split in FIG . 46. The assembler 94 60 it may be desirable to restore the values of the Bitcoin
assembles the private key 79 when the minimum number of         addresses 76 and 78. The private key of the first Bitcoin
codes has been received .                                       address 80A within the local storage 56 is restored to the
   The private key 79 of the Bitcoin address 80 in the local vault 64 as hereinbefore described with reference to FIG . 50 .
storage 56 is used to access the vault 64. The local controller The respective values of the Bitcoin addresses 76 and 78 are
58 then restores the private key 79 from the local storage 65 then restored from the vault 64A to the Bitcoin addresses 76
into the vault for association with the Bitcoin address. The       and 78 in the wallet 42. Because the values of the Bitcoin
block chain will know whether the private key 79 that has          addresses 76 and 78 are restored within the wallet 42, the
                                                    US 10,510,053 B2
                           19                                                                  20
Bitcoin addresses 76 and 78 of the first transfer set can , at       FIG . 54 illustrates a network environment 136 that, in
least for the time being , be used together with the second addition to the first host computer system 14 , includes a
transacting set for transacting with another user .             customer computer system 138 and a merchant computer
   The same Bitcoin addresses 74 , 76 , 78 and 98 that are system 140 that are connected to one another over the
shown in FIG . 51a are also shown in FIGS. 516 and 51c . It 5 Internet 142. The merchant computer system 140 has an
should be understood that the Bitcoin addresses may change online store 144 and a website 146. The customer computer
between the figures. The system allows for the value that system        138 has a browser 148. A customer at the customer
                                                                computer system 138 can use the browser 148 to access the
was previously associated with one Bitcoin address to be website         136 over the Internet 142. The website 136 is then
restored to another Bitcoin address if necessary .
   As shown in FIG . 51d , the first vault 64A is discarded 10 the
                                                                displayed  on the browser 148. The website 136 allows for
                                                                    customer to make purchase on the online store 144. The
after the value therein is restored . The first Bitcoin address
                                                                customer may, for example, purchase real goods, virtual
80A within the local storage 56 and the first vault 64A will goods
never be used again .                                                  or services from the online store 144.
                                                                     The first host computer system 14 includes an application
TheTheprivate
         Bitcoinkeyaddress  78 is selected
                    of the Bitcoin address as80Ca third
                                                  of thetransfer  set. 15 programmable interface ( API) 150, a reference code gen
                                                          third vault
                                                                   erator 152, a transaction processor 154 , a currency converter
64C is transferred into the local storage 56 and stored in         156 and merchant, and customer and host wallets 158, 160
association with a third Bitcoin address 80C . The value of         and 162. The wallets 158 , 160 and 162 may be of the kind
the Bitcoin address 78 is transferred from the wallet 42 to the    as hereinbefore described .
third vault 64C . The user of the wallet 42 can now not use 20 As shown in FIG . 55, the customer is shown a shopping
the Bitcoin address 78 for transacting with another user. The cart with several payment options, including " Pay with
Bitcoin address 76 forms part of a third transacting set that Credit Card ” and “Pay with bitcoin .” Prior to being dis
could include one or more Bitcoin addresses . The Bitcoin played the shopping cart , the customer has traveled through
address 76 can be used by the user of the wallet 42 for the shopping flow of the merchant computer system 140 , has
transacting with another user because the value of the 25 selected one or more items to be purchased and has selected
Bitcoin address 76 is associated therewith within the wallet a shopping or checkout cart, which causes the display of the
42. The second and third transacting sets can thus be used by       view shown in FIG . 55. When the user selects the button
the user for transacting with another user. The second and “ Pay with bitcoin ” the merchant computer system 140, at
third transfer sets are unusable for transacting with another 166 , transmits an API call to the first host computer system
user because their private keys have been removed .              30 14. The API call includes a request for payment. The request
   FIG . 52 illustrates how the local controller 58 (see FIGS . for payment includes an amount in a currency, in the present
46 to 50 ) maintains transaction sets of a wallet 42 within a example $ 14.00 , an order name (usually a number ), order
target range 101. Should all the Bitcoin addresses of the descriptions (usually items in the checkout cart in a single
wallet 42 have values associated therewith , the wallet 42 is line - item entry separated by commas ), and a success uni
said to be 100 % hot and 0 % cold . If all the Bitcoin addresses 35 form resource locater (URL) if desired (a page to which the
in a wallet 42 have their values removed , the wallet 42 is to customer is redirected at checkout if the order completes).
be 0 % hot and 100 % cold . The target range 101 for the total         When the first host computer system 14 receives the API
bitcoin value within the wallet may for example be 5 % to call at 166 , the reference code generator 152 generates a
10 % hot. At 102 , the values of the first transacting set are unique reference code for the specific order. The reference
transferred from the wallet 42 as described with reference to 40 code is thus uniquely generated for each API call. The first
FIG . 51a . At 104 , the user transacts with someof the Bitcoin host computer system 14 then stores the reference code in its
addresses and the total value within the wallet 42 of the database . At 168 , the first host computer system 14 responds
Bitcoin addresses that are hot is reduced . At 106 , the values    to the API call received at 166 to transmit the reference code
of the second transfer set are removed from the wallet 42 as       to the merchant computer system 140. The merchant com
described with reference to FIG . 51b . At 108 , the values of 45 puter system 140 then receives the reference code as refer
the first transfer set are restored as described with reference    ence code 170. The merchant computer system 140 stores
to FIG . 51c. At 110 , the user transacts and gains further        the reference code as reference code 172 within its account
Bitcoin addresses for additional value within their wallet 42 .    ing system 173 and associates the reference code 172 with
At 112 , values of the third transfer set are transferred out of the particular order shown in the shopping cart . The mer
the wallet 42 as described with reference to FIG . 51d . It can 50 chant computer system 140 also creates a URL 174. The
thus be seen that the local controller 58 in FIGS. 46 to 50        reference code 170 is used as a reference code 176 within the
adjusts the total value of bitcoin that is not within the target   URL 174 when the URL 174 is created .
range 101. The local controller 58 typically recalculates the         The firsthost computer system 14 creates a URL 180 that
hot/cold value ratio of each wallet on a daily basis and includes a reference code 182. The reference code 182 and
automatically adjusts the value to the target range 101. 55 the reference code 176 are the same.
  FIG . 53 illustrates the use of an intermediate hot wallet   The merchant computer system 140 at 178 redirects the
114 that is used to collect bitcoin values from a plurality of     browser 148 (FIG . 54 ) using the URL 174. The browser is
wallets 42A to C. The wallet 42 A is that same as the wallet       then redirected to the URL 180 of the first host computer
42 as described above. The wallet 42B has bitcoin addresses        system 14 .
 120 , 122, 124 and 126 associated therewith . The wallet 42C 60 The URL 180 may, for example , be the URL of a landing
has bitcoin addresses 128 , 130, 132 and 134 associated page, iFrame or modal window 184. The landing page,
therewith . Each wallet 42A , B or C is held within the target iFrame or modal window 184 presents checkout options to
range 101 in FIG . 50. The values of the bitcoin addresses 76 , the customer , including to pay with the customer wallet 160
 78, 120 , 122 , 128 and 130 are identified for transfer to the if one exists, to pay with bitcoin using an external account,
 vault 64A and are first transferred or " swept” to the inter- 65 or to create a wallet at the first host computer system 14 for
mediate hot wallet 114 from where they are transferred to the purposes of completing the purchase . In a different embodi
 vault 64A .                                                      ment, instead of being automatically redirected by the mer
                                                   US 10,510,053 B2
                             21                                                                 22
chant computer system 140 to the first computer system 14 , computer system 14 communicates with a bank of the
the customer may be redirected to a different page at the merchant computer system 140. Such communication , at
merchant computer system 140, which will then contain a 204, results in transfer of funds from a host bank account
link for the customer to navigate to the landing page , iFrame 206 to a merchant bank account 208 .
or modal window 184 .                                         5    In the present example , the customer uses their customer
   When the browser 148 of the customer computer system         wallet 160 to transfer funds in the form of bitcoin from the
138 downloads the landing page, iFrame or modal window          customer wallet 160 to the merchant wallet 158 and the
184 , the first host computer system 14 automatically gen       funds are then transferred in the form of bitcoin from the
erates a bitcoin address 186 specifically for the customer's merchant wallet 158 to the host wallet 162. In another
order within the merchant wallet 158.                       10 embodiment, the merchant wallet 158 can be bypassed such
   The first host computer system 14 also creates a bitcoin        that the customer transfers funds in the form of bitcoin from
price based on the price in local currency and displays the the customer wallet 160 directly into the host wallet 162. In
bitcoin price within the landing page/ iFrame or modal either embodiment the funds that are received by the host
window 184 within the browser 148. The graph illustrates a wallet 162 are used as a basis for calculating the amount of
 fluctuating bitcoin to dollar exchange rate. In the present 15 money in local currency that is transferred by the bank
example , the exchange rate at minute ( is used at 190 to transfermodule 200 ,minus a fee that is held back by the first
calculate the exchange rate . The local currency price in the host computer system 14 for purposes of processing the
present example is $ 14.00 which gives a bitcoin price of transaction .
0.02 BTC . The price of 0.02 BTC that is based on the             Referring again to FIG . 54, the API 150 sends and
exchange rate at minute 0 is maintained for a select period 20 receives API calls at 166 , 168 and the order status message
of time, in the present example 10 minutes, before it resets. in response to the send instruction 192 in FIG . 55. The
 The customer may not wish to immediately send the bitcoin , currency converter 156 is responsible for receiving and
butmay do so at any time before the price resets atminute maintaining exchange rate for bitcoin to local currency and
 10 and the exchange rate remains locked in and the bitcoin for calculating the bitcoin price based on the local currency
price thus remains unchanged at 0.02 BTC during that time. 25 price and the exchange rate at any particular moment in
   An