(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】特表2021-524645(P2021-524645A)
(43)【公表日】2021年9月13日
(54)【発明の名称】分割可能な証券トークン
(51)【国際特許分類】
G06Q 40/04 20120101AFI20210816BHJP
G06Q 40/06 20120101ALI20210816BHJP
【FI】
G06Q40/04
G06Q40/06
【審査請求】有
【予備審査請求】未請求
【全頁数】45
(21)【出願番号】特願2021-506695(P2021-506695)
(86)(22)【出願日】2019年8月9日
(85)【翻訳文提出日】2021年4月2日
(86)【国際出願番号】US2019045916
(87)【国際公開番号】WO2020033835
(87)【国際公開日】20200213
(31)【優先権主張番号】62/717,575
(32)【優先日】2018年8月10日
(33)【優先権主張国】US
(31)【優先権主張番号】62/871,543
(32)【優先日】2019年7月8日
(33)【優先権主張国】US
(31)【優先権主張番号】62/881,121
(32)【優先日】2019年7月31日
(33)【優先権主張国】US
(81)【指定国】
AP(BW,GH,GM,KE,LR,LS,MW,MZ,NA,RW,SD,SL,ST,SZ,TZ,UG,ZM,ZW),EA(AM,AZ,BY,KG,KZ,RU,TJ,TM),EP(AL,AT,BE,BG,CH,CY,CZ,DE,DK,EE,ES,FI,FR,GB,GR,HR,HU,IE,IS,IT,LT,LU,LV,MC,MK,MT,NL,NO,PL,PT,RO,RS,SE,SI,SK,SM,TR),OA(BF,BJ,CF,CG,CI,CM,GA,GN,GQ,GW,KM,ML,MR,NE,SN,TD,TG),AE,AG,AL,AM,AO,AT,AU,AZ,BA,BB,BG,BH,BN,BR,BW,BY,BZ,CA,CH,CL,CN,CO,CR,CU,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,ES,FI,GB,GD,GE,GH,GM,GT,HN,HR,HU,ID,IL,IN,IR,IS,JO,JP,KE,KG,KH,KN,KP,KR,KW,KZ,LA,LC,LK,LR,LS,LU,LY,MA,MD,ME,MG,MK,MN,MW,MX,MY,MZ,NA,NG,NI,NO,NZ,OM,PA,PE,PG,PH,PL,PT,QA,RO,RS,RU,RW,SA,SC,SD,SE,SG,SK,SL,SM,ST,SV,SY,TH,TJ,TM,TN,TR,TT
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.ブルートゥース
2.3GPP
3.Corda
4.Openchain
5.Stellar
(71)【出願人】
【識別番号】521151175
【氏名又は名称】ティーゼロ・アイピー,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100162846
【弁理士】
【氏名又は名称】大牧 綾子
(72)【発明者】
【氏名】ウィルソン,ジャスティン
(72)【発明者】
【氏名】サンダース,ニコル
(72)【発明者】
【氏名】クリステンセン,ロバート
(72)【発明者】
【氏名】レスター,チェイス
(72)【発明者】
【氏名】ワーナー,アンドリュー
【テーマコード(参考)】
5L055
【Fターム(参考)】
5L055BB51
5L055BB55
(57)【要約】
ネットワークノードは、少なくとも1つのプロセッサ、少なくとも1つのメモリ、および少なくとも1つのネットワークインターフェースを含む。ネットワークノードは、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおいて通信可能に結合された複数のネットワークノード内にあるように構成される。ネットワークノードは、少なくとも1つのネットワークインターフェースを介して、少なくとも1つの遠隔に位置するコンピューティングデバイスに通信可能に結合されるように構成される。少なくとも1つのプロセッサは、分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定するように構成される。少なくとも1つのプロセッサはまた、セキュリティトークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける少なくとも1つのアドレスすべてのトークン残高を更新することなく、分割比の表示を格納するように構成される。
【特許請求の範囲】
【請求項1】
ネットワークノードであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリと、
前記少なくとも1つのプロセッサに通信可能に結合する少なくとも1つのネットワークインターフェースとを備え、
前記ネットワークノードは、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおいて通信可能に結合された複数のネットワークノード内にあるように構成され、
前記ネットワークノードは、前記少なくとも1つのネットワークインターフェースを介して、少なくとも1つの遠隔に位置するコンピューティングデバイスに通信可能に結合され、
前記少なくとも1つのプロセッサは、
前記分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定し、
前記証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける前記少なくとも1つのアドレスのすべてのトークン残高を更新することなく、前記分割比の表示を格納するように構成される、ネットワークノード。
【請求項2】
前記少なくとも1つのプロセッサは、
第1のアドレスから第2のアドレスへの、ある量の前記証券トークンの新たな移動が要求されたことを判定し、
少なくとも、前記分割比の前記格納された表示に基づいて、前記第1のアドレスおよび前記第2のアドレスのおのおのについて分割更新されたトークン残高を決定し、
前記第1のアドレスおよび前記第2のアドレスの、前記分割更新された残高に基づいて、前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項3】
前記少なくとも1つのプロセッサは、
すべての分割が、前記第1のアドレスおよび前記第2のアドレスの前記トークン残高において考慮されたとの表示を格納するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項4】
前記少なくとも1つのプロセッサは、
前記新しい分割に応じて支払われる前記証券トークンの数を決定し、
少なくとも1つのトランザクションを開始して、前記新しい分割後に端数証券トークンを有する、アドレスに関連付けられた各証券トークン保有者に、それぞれの端数証券トークンを補償するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項5】
前記少なくとも1つのプロセッサは、
前記新しい分割後、未処理の証券トークンの総数を更新し、
前記証券トークンのうちの少なくとも1つの証券トークンを保有しているアドレスの前記リストから、前記新しい分割後に、1つ未満の証券トークンを有する、前記少なくとも1つのアドレスのおのおのを削除するようにさらに構成される、請求項4に記載のネットワークノード。
【請求項6】
前記証券トークンは、おのおのが外部の取引可能な資産を表す暗号トークンである、請求項1に記載のネットワークノード。
【請求項7】
前記証券トークンは、発信元のスマートコントラクトを使用して実施される、請求項1に記載のネットワークノード。
【請求項8】
前記第1のアドレスおよび前記第2のアドレスのおのおのについて、前記分割更新されたトークン残高を決定することは、ブロックチェーン関連の料金を発生させない、請求項2に記載のネットワークノード。
【請求項9】
前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新することは、ブロックチェーン関連の料金を発生させる、請求項2に記載のネットワークノード。
【請求項10】
前記少なくとも1つのプロセッサは、マルチオブジェクトデータ構造における前記証券トークンの履歴に、すべての分割の分割比を格納するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項11】
前記少なくとも1つのプロセッサは、前記証券トークンのうちの少なくとも1つの証券トークンを保有する各アドレスについて、前記マルチオブジェクトデータ構造へアドレス固有のインデクスを維持するようにさらに構成され、各アドレス固有のインデクスは、それぞれの前記アドレスに関連付けられたトークン残高に直近に適用された分割比を示す、請求項10に記載のネットワークノード。
【請求項12】
前記少なくとも1つのプロセッサは、前記証券トークンの直近の分割を示す、前記マルチオブジェクトデータ構造へ現在のインデクスを維持するようにさらに構成される、請求項10に記載のネットワークノード。
【請求項13】
自己執行型証券トークンを移動するためのコンピュータ化された方法であって、前記コンピュータ化された方法は、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおける複数のネットワークノード内に含まれるように構成されたネットワークノードによって実行され、前記ネットワークノードは、前記ピアツーピアネットワークにおける他のネットワークノードに通信可能に結合されるように構成され、前記コンピュータ化された方法は、
前記分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定するステップと、
前記証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける前記少なくとも1つのアドレスのすべてのトークン残高を更新することなく、前記分割比の表示を格納するステップとを備える、方法。
【請求項14】
第1のアドレスから第2のアドレスへの、ある量の前記証券トークンの新たな移動が要求されたことを判定するステップと、
少なくとも、前記分割比の前記格納された表示に基づいて、前記第1のアドレスおよび前記第2のアドレスのおのおのについて分割更新されたトークン残高を決定するステップと、
前記第1のアドレスおよび前記第2のアドレスの、前記分割更新された残高に基づいて、前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新するステップとをさらに備える、請求項13に記載の方法。
【請求項15】
すべての分割が、前記第1のアドレスおよび前記第2のアドレスの前記トークン残高において考慮されたとの表示を格納するステップをさらに備える、請求項13に記載の方法。
【請求項16】
前記新しい分割に応じて支払われる前記証券トークンの数を決定するステップと、
少なくとも1つのトランザクションを開始して、前記新しい分割後に端数証券トークンを有する、アドレスに関連付けられた各証券トークン保有者に、それぞれの端数証券トークンを補償するステップとをさらに備える、請求項13に記載の方法。
【請求項17】
前記新しい分割後、未処理の証券トークンの総数を更新するステップと、
前記証券トークンのうちの少なくとも1つの証券トークンを保有しているアドレスのリストから、前記新しい分割後に、1つ未満の証券トークンを有する、前記少なくとも1つのアドレスのおのおのを削除するステップとをさらに備える、請求項16に記載の方法。
【請求項18】
前記証券トークンは、おのおのが外部の取引可能な資産を表す暗号トークンである、請求項13に記載の方法。
【請求項19】
前記証券トークンは、発信元のスマートコントラクトを使用して実施される、請求項13に記載の方法。
【請求項20】
前記第1のアドレスおよび前記第2のアドレスのおのおのについて、前記分割更新されたトークン残高を決定するステップは、ブロックチェーン関連の料金を発生させない、請求項14に記載の方法。
【請求項21】
前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新するステップは、ブロックチェーン関連の料金を発生させる、請求項14に記載の方法。
【請求項22】
前記少なくとも1つのプロセッサは、マルチオブジェクトデータ構造における前記証券トークンの履歴に、すべての分割の分割比を格納するようにさらに構成される、請求項13に記載の方法。
【請求項23】
前記証券トークンのうちの少なくとも1つの証券トークンを保有する各アドレスについて、前記マルチオブジェクトデータ構造へアドレス固有のインデクスを維持するステップをさらに備え、各アドレス固有のインデクスは、それぞれの前記アドレスに関連付けられたトークン残高に直近に適用された分割比を示す、請求項22に記載の方法。
【請求項24】
前記証券トークンの直近の分割を示す、前記マルチオブジェクトデータ構造へ現在のインデクスを維持するステップをさらに備える、請求項22に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
[0001]この出願は、2018年8月10日に出願され「SELF−ENFORCING SECURITY TOKEN IMPLEMENTING SMART−CONTRACT−BASED COMPLIANCE RULES CONSULTING SMART−CONTRACT−BASED GLOBAL REGISTRY OF INVESTORS(スマートコントラクトベースの投資家のグローバルレジストリをコンサルティングするスマートコントラクトベースのコンプライアンス規則を実施する自己執行型証券トークン)」と題された米国仮特許出願第62/717,575号(代理人整理番号270.023USPR)、2019年7月8日に出願され「SPLITTABLE SECURITY TOKEN(分割可能な証券トークン)」と題された米国仮特許出願第62/871,543号(代理人整理番号270.032USPR)、および2019年7月31日に出願され「UPGRADABLE SECURITY TOKEN(アップグレード可能な証券トークン)」と題された米国仮特許出願第62/881,121号(代理人整理番号270.033USPR)の利益を主張し、これらはすべて、参照により本明細書に組み込まれる。
【0002】
[0002]この出願は、参照により本明細書に組み込まれる、以下の同時係属中の米国特許出願に関連する。
[0003]「SELF−ENFORCING SECURITY TOKEN IMPLEMENTING SMART−CONTRACT−BASED COMPLIANCE RULES CONSULTING SMART−CONTRACT−BASED GLOBAL REGISTRY OF INVESTORS(スマートコントラクトベースの投資家のグローバルレジストリを参照するスマートコントラクトベースのコンプライアンス規則を実施する自己執行型証券トークン)」と題され、本出願と同日付で出願された米国特許出願第______________号(代理人整理番号270.023US01)。この出願は参照により本明細書に組み込まれる。
【0003】
[0004]参照により本明細書に組み込まれる、「UPGRADABLE SECURITY TOKEN(アップグレード可能な証券トークン)」と題された、同日付で出願された米国特許出願第______________号(代理人整理番号270.033US01)。
【背景技術】
【0004】
[0005]暗号トークンは、ブロックチェーンの様々な態様に関連して使用される。例では、イーサリアムブロックチェーンにおいて実施されるスマートコントラクトにより、複雑な動作が付加されたトークンの作成と発行が可能になる。Ethereum Request for Comments 20(ERC20)は、トークンを実施する(イーサリアムブロックチェーンにおいて)スマートコントラクトのために使用される技術規格である。ERC20規格は、その全体が参照により組み込まれる。それに加えて、一般会社法に関連するデラウェア州法の第8編を満たすために、他の方法も実施され得る。
【発明の概要】
【課題を解決するための手段】
【0005】
[0006]ネットワークノードは、少なくとも1つのプロセッサ、少なくとも1つのメモリ、および少なくとも1つのネットワークインターフェースを含む。ネットワークノードは、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおいて通信可能に結合された複数のネットワークノード内にあるように構成される。ネットワークノードは、少なくとも1つのネットワークインターフェースを介して、少なくとも1つの遠隔に位置するコンピューティングデバイスに通信可能に結合されるように構成される。少なくとも1つのプロセッサは、分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比(split ratio)を決定するように構成される。少なくとも1つのプロセッサはまた、証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける少なくとも1つのアドレスのすべてのトークン残高(token balance)を更新することなく、分割比の表示を格納するように構成される。
【0006】
[0007]図面は典型的な実施形態のみを描写し、したがって、範囲を限定すると見なされるべきではないことを理解して、典型的な実施形態は、添付の図面を使用することにより、追加の特異性および詳細とともに説明される。
【図面の簡単な説明】
【0007】
【
図1】[0008]本システムおよび方法にしたがって分割可能であるスマートコントラクトベースの証券トークンを使用する例示的なシステムのブロック図である。
【
図2A】[0009]
図1に示されるシステムにおいて使用されるデータ構造を示すブロック図である。
【
図2B】[0010]
図1に示されるシステムにおけるエンティティの階層を示すブロック図である。
【
図3】[0011]トークン残高を形式的に更新しないトークン分割のための方法を示すフロー図である。
【
図4】[0012]トークン分割後に証券トークンを移動するための方法を示すフロー図である。
【
図5A】[0013]新しいトークン分割が宣言される前の残高表および分割データ構造を示すブロック図である。
【
図5B】[0014]新しいトークン分割が宣言された後の残高表および分割データ構造を示すブロック図である。
【
図6A】[0015]トークントランザクションが実行される前の残高表および分割データ構造を示すブロック図である。
【
図6B】[0016]トークントランザクションが実行された後の残高表および分割データ構造を示すブロック図である。
【
図7】[0017]本開示の実施形態が利用され得る例示的なコンピュータシステムを示すブロック図である。
【
図8】[0018]本開示の実施形態が利用され得る別の例示的なコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【0008】
[0019]一般的な慣行にしたがって、説明された様々な特徴は、一定の縮尺で描かれていないが、典型的な実施形態に関連する特定の特徴を強調するように描かれている。
[0020]以下の詳細な説明では、本明細書の一部を形成し、例示として特定の例示的な実施形態が示されている添付の図面が参照される。しかしながら、他の実施形態が利用され得、論理的、機械的、および電気的変更がなされ得ることを理解されたい。さらに、図面および明細書で表されている方法は、個々のステップが実行され得る順序を限定するものとして解釈されるべきではない。したがって、以下の詳細な説明は、限定的な意味で解釈されるべきではない。
【0009】
[0021]証券トークンは、証券を表す暗号トークンである。証券は、ある種の金銭的価値を保有する代替可能で譲渡可能な金融商品であり得る。証券は、任意選択によって表されるように、所有権の立場、債権者関係、または所有権に対する権利を表し得る。証券の例は、不動産、少なくとも1つの商品、個人資産、少なくとも1つの債券、少なくとも1つのデリバティブ、少なくとも1つの先物、少なくとも1つのファンド、少なくとも1つの通貨ファンド、少なくとも1つの上場投資信託、少なくとも1つの投資信託、少なくとも1つのインデクスファンド、少なくとも1つの債券ファンド、少なくとも1つの商品ファンド、および/または少なくとも1つの不動産ファンドを含むが、これらに限定されない。証券トークンは、分散型台帳(たとえば、ブロックチェーン)における(たとえば、格納された)スマートコントラクトとして実施され得る。所与の証券トークンの様々な態様(たとえば、発行、移動など)は、証券取引委員会(SEC)または他の規制機関によって規制され得る。
【0010】
[0022]いくつかの構成では、各証券トークンは、単一の会社の株式を表す。したがって、株式と、株式を表す証券トークンとは、置換可能に参照され得る。例では、先渡株式分割(forward stock split)は、現在の株主に、より多くの株式を発行することによって、発行済み株式数を増やすという会社の取締役会による決定である(株式数の増加は、比例して価値を下げる)。例では、株式/トークン価格を特定の値以下に保つために、たとえば、将来の投資家にとってより魅力的なものにするために、先渡分割が使用される場合がある。例では、会社が株式併合分割(reverse stock split)を行う場合、逆の手法で株式分割が行われる場合もある。例では、株式併合分割は、既存の株式を、より少ない、比例してより価値の高い株式に統合する一種の企業活動である。例では、たとえば、株式/トークンが、取引所から上場廃止になるのを防ぐために、併合分割を使用して、株式/トークンの価格が、特定の値を超えたままであることを保証する。
【0011】
[0023]証券トークンがより広く使用されるようになるにつれて、ブロックチェーンエコシステムにおいて、株式分割をどのように処理するかという問題が浮上し始めた。本明細書で使用される場合、「分割」という用語は、先渡株式分割(すなわち、各証券トークンが、単一の会社の株式を表す証券トークン分割)または株式併合分割(すなわち、各証券トークンが、単一の会社の株式を表す証券トークン併合分割)を指すために使用される。「証券トークン」および「トークン」という用語は、本明細書では置換可能に使用され得る。「証券トークン保有者」、「トークン保有者」、および「株主」という用語は、本明細書では置換可能に使用され得る。
【0012】
[0024]様々な証券トークントランザクションの記録は、分散型台帳に格納され得る。証券トークントランザクションでは、少量の暗号通貨の移動が必要になる場合がある。例では、証券トークンがイーサリアムブロックチェーンにおいて実施される場合、証券トークンの移動(たとえば、購入および販売)は、イーサリアムブロックチェーンにおける移動を記録するための1つまたは複数のイーサリアムトークンの移動を含み得る。したがって、会社の証券トークンの株主が多い場合、分割に応じて、すべての株主のために、既存の株式数をマニュアルで変更すると、コストがかかる可能性がある。このような費用は通常、発行会社によって負担されるため、望ましくない。
【0013】
[0025]代わりに、本システムおよび方法は、コストを最小化する手法で、証券トークンを「分割」することを可能にする。具体的には、以下に説明するように、分割に応じて、各株主の実際のトークン残高が更新されない場合がある。代わりに、分割値は、宣言された分割ごとに追跡および格納され得る。これは、株主のトークン残高に適用する必要がある乗数を示す。ブロックチェーン関連の料金を削減するために、分割に応じて実際の残高が更新されない場合がある。むしろ、分割後に証券トークンが実際に移動されたときに、残高が更新される場合がある。それ以外の場合は、追加された分割値を使用して、分散型台帳に証券トークントランザクションをコミットする必要なく、分割更新された残高を決定できる。
【0014】
[0026]発行、移動、およびそれに関連する規制を含む証券トークンのより詳細な説明は、「SELF−ENFORCING SECURITY TOKEN IMPLEMENTING SMART−CONTRACT−BASED COMPLIANCE RULES CONSULTING SMART−CONTRACT−BASED GLOBAL REGISTRY OF INVESTORS(スマートコントラクトベースの投資家のグローバルレジストリをコンサルティングするスマートコントラクトベースのコンプライアンス規則を実施する自己執行型証券トークン)」と題され、2018年8月10日に出願された米国仮特許出願第62/717,575号(代理人整理番号270.023USPR)に見られ、その全体は参照により本明細書に組み込まれる。
【0015】
[0027]本明細書で説明される例は、保管人が、投資家および/またはブローカディーラの代わりに証券トークンを保有する保管人モデルと互換性があり得る。しかしながら、本明細書におけるシステムは、非保管人モデルとも互換性があり、たとえば、投資家および/またはブローカディーラは、仲介者が少ないか、まったくない状態で、証券トークンを直接保持する。
【0016】
[0028]本明細書では、例として様々な方法名が使用され得る。方法名は目的を説明するものであり、限定するものではないことを認識されたい。それに加えて、任意選択のデバイスおよび方法ステップが、図に破線で示される。
【0017】
[0029]
図1は、本システムおよび方法にしたがって分割可能であるスマートコントラクトベースの証券トークン102を使用する例示的なシステム100のブロック図である。システム100は、1つまたは複数の証券トークン102と、システム所有者112と、発行者114と、分散型台帳122を実施する少なくとも1つのネットワークノード140とを含み得る。システム100はまた、以下に説明されるように、様々な任意選択のエンティティおよび/またはデバイスを含み得る。
【0018】
[0030]投資家120は、証券トークン102を以前に有している、または検討している、受信している、または移動している個人またはエンティティであり得る。例では、投資家120は、ブローカディーラ118(または、保管人116の直接)の顧客であり得、投資家120は、1つまたは複数の証券トークン102の購入および/販売に関する注文を、ブローカディーラ118に(または、保管人116に直接)送信し得る。あるいは、投資家120は、ブローカディーラ118または保管人116に接続する必要のない「外部投資家」であり得る。代わりに、外部投資家は、たとえば、以下に説明されるトークン102自体および/またはグローバルレジストリ108における方法のように、証券トークントランザクションを開始するために本明細書で説明される関連する方法を呼び出し得る。
【0019】
[0031]「証券トークントランザクション」または同様の用語は、証券トークン102の任意の移動を指し、証券トークン102の移動によって実行される発行、提供、贈与、購入、販売、および/または従業員補償を説明するために使用され得る。証券トークン102トランザクションは、(1人または複数の投資家120、ブローカディーラ118、および/または保管人116に属する)1つまたは複数の入力アドレスから、(1人または複数の投資家120、ブローカディーラ118、および/または保管人116に属する)少なくとも1つの出力アドレスに、ある量の証券トークン102を移動し得る。本明細書で使用される場合、「買い手」および「売り手」という用語は、それぞれ、証券トークン102を移動する、および受け取る投資家120を指す。証券トークントランザクションは、オンエクスチェンジ(on-exchange)またはオフエクスチェンジ(off-exchange)で実行され得る。
【0020】
[0032]システム100におけるブローカディーラ118は、自身の口座のために、および/または、その顧客に代わりに、証券トークン102を購入または販売する個人またはエンティティであり得る。オンボーディング中に、ブローカディーラ118は、情報の収集を含む、新しい顧客のための口座を作成することができ、たとえば、ブローカディーラ118は、投資家120を新しい顧客としてオンボーディングし得る。これは、たとえば、アイデンティティサービスプロバイダ126によって提供される、その顧客に対するマネーロンダリング防止および/または顧客確認(AML(anti-money laundering)/KYC(know-your-customer))チェックを実行することを含み得る。
【0021】
[0033]発行者114は、証券トークン102を発行するように所有者112に指示する個人またはエンティティであり得、すなわち、所有者112は、証券トークン102を展開/発行する1つまたは複数の発信元スマートコントラクト113を所有し得る。システム100は、多くの発行者114を含み得る。例では、発行者114は、会社であり得、各証券トークン102は、会社のシェアを表す。
【0022】
[0034]ブローカディーラ118は、保管人116、すなわち、1人または複数のブローカディーラ118の証券トークン102の保管、所持、および/または所有権を保有する個人またはエンティティを有する口座を有し得る。保管人116は、多くのブローカディーラ118(ブローカディーラ118がその顧客として多くの投資家120を有する可能性がある)に代わって証券トークン102の保管、所持、および/または所有権を保有する個人またはエンティティであり得る。システム100は、多くの保管人116および/または多くのブローカディーラ118を含み得る。
【0023】
[0035]所有者112は、システム100においてスマートコントラクトを所有、展開、再展開、および/または移動する個人またはエンティティであり得る。例では、所有者112は、発信元スマートコントラクト113への(たとえば、仮想マシンによって実行される)方法呼出を使用して、証券トークン102を展開/発行し得る。所有者112は、システム100の管理者と呼ばれ得る。システム100は、1人または複数の所有者112のみを有し得る。任意選択で、所有者112は、システム100において実行される証券トークン102トランザクションに基づいて、証券トークン102の「市場」を説明するデータサービス、たとえば、証券トークン102トランザクションの量、最新の証券トークン102トランザクションのトランザクション価格などを示すフィードを提供し得る。
【0024】
[0036]上記で説明されるように、所有者112、発行者114、保管人116、ブローカディーラ118、および投資家120という用語は、システム100において様々な役割を果たす個人またはエンティティを指し得る。あるいは、これらの用語は、それぞれ、所有者112、発行者114、保管人116、ブローカディーラ118、および投資家120によって使用されるコンピューティングデバイスを指し得る。コンピューティングデバイスを指す場合、所有者112、発行者114、保管人116、ブローカディーラ118、および投資家120のおのおのは、それぞれのコンピューティングデバイス上のメモリ内の命令を実行する1つまたは複数のプロセッサで実施され得る。各それぞれのコンピューティングデバイスは、セル電話またはタブレットなどのモバイルデバイス、パーソナルコンピュータ、または命令および/または他のデータを他のコンピューティングデバイスと、たとえば、インターネットのようなネットワーク138を介して送受信するように構成されたサーバであり得る。
【0025】
[0037]証券トークン交換部124は、証券トークン102、商品、デリバティブ、および/または他の金融商品が取引きされる市場、または市場を運営する事業体(または、証券トークン交換部124によって運営される1つまたは複数のコンピューティングデバイス)であり得る。例では、証券トークン交換部124は、分散型台帳122に、正常に実行されたトランザクションを記録し得る。証券トークン交換部124は、保管するところ、すなわち、保管人116が、ブローカディーラ118および/または投資家120に代わって証券トークン102を保有およびトランザクト(transact)するところである。
【0026】
[0038]ネットワークノード140は、本明細書で説明される機能を実施するためにメモリに格納された命令を実行する1つまたは複数のプロセッサを使用して実施されるコンピューティングデバイスであり得る。例では、ネットワークノード140は、本明細書で説明されるスマートコントラクトのいずれかを実行する仮想マシン(たとえば、イーサリアム仮想マシン)を実行し得る。
【0027】
[0039]「分散型台帳」という用語は、複数の相互接続されたネットワークノード140(すなわち、メモリに格納された命令を実行するコンピューティングデバイス)に分散され、ここでは、ネットワークノード140のうちの2つ以上が、分散型台帳122のコピーを格納する。例では、ピアツーピアネットワーク内の1つまたは複数のネットワークノード140は、分散型台帳122を実施し得る。
【0028】
[0040]分散型台帳122は、分散型台帳122内に格納されたデータを検証するために、1つまたは複数のブロックチェーンを実施し得る。ブロックチェーンは、そのブロックを検証する各ブロックに、プルーフオブワークシール(ハッシュなど)が貼付された、一度に1つのブロックで構築される検証可能な永久的な台帳である。ブロックチェーンでは、以前のブロックのハッシュが現在のブロックに含まれているため、再帰によって、現在のハッシュは以前のすべてのブロックを検証して、元の起源のブロックに戻す。ブロックチェーンへのハッシュの挿入は、そのハッシュを永久に記録し、そのブロックがチェーンに追加された時点でのハッシュデータのタイムスタンプ付きの存在証明を検証する公証として機能する。将来のブロックは、チェーンに格納されたデータの操作、またはチェーンの再編成からの保護の層を追加するため、チェーンの早期のブロックに変更を加えることができないという追加的な確証を提供する。ブロックチェーンは、分散型台帳122の実施であり、公開されている(たとえば、誰でも見ることができる)か、またはプライベート(たとえば、許可されたユーザまたはエンティティのみが見ることができる)であり得る。例示的なブロックチェーンは、ビットコインブロックチェーン、イーサリアムブロックチェーン、BigchainDB、Billon、Chain、Corda、Credits、Elements、Monax、Fabric、HydraChain、Hyperledger、Multichain、Openchain、Quorum、Ravencoin、Sawtooth、およびStellarを含むが、これらに限定されない。好ましくは、分散型台帳122は、公開されたイーサリアムブロックチェーンであるが、しかしながら、他の実施も可能である。プライベートブロックチェーンが使用されている場合、公開されたブロックチェーンのハッシュは、定期的にパブリックブロックチェーン、たとえば、イーサリアムブロックチェーンまたはビットコインブロックチェーンなどにコミット(つまり、記録)され得る。
【0029】
[0041]それに加えて、またはその代わりに、分散型台帳122は、システム100のネットワークノード140間で情報を共有するためにゴシッププロトコルを使用する有向非巡回グラフ(DAG)、たとえば、IOTAまたはHashgraphを実施し得る。さらに、プルーフオブワークなしで、分散型台帳122において、コンセンサスに達することができ、代わりにプルーフオブステークを使用できる。さらに、暗号ハッシュを使用して異なるデータのセットを接続する任意のマークルツリー(またはハッシュツリー)は、分散型台帳122によって実施され得る。
【0030】
[0042]「ウォレット」という用語は、証券トークン102などのデジタル資産を格納および/または管理するために使用されるソフトウェアプログラム、デジタルファイル、および/またはメモリを指す。本明細書では、本システムおよび方法は、証券トークン102を使用して説明されるが、任意の種別のデジタル資産とも互換性がある。例では、ウォレットは、1つまたは複数の秘密鍵、1つまたは複数の秘密鍵から派生した1つまたは複数の公開鍵、および/または、1つまたは複数の秘密鍵および/または1つまたは複数の公開鍵から派生した1つまたは複数のアドレスによって定義され得る。例では、ウォレットは、1つまたは複数の秘密口座鍵(および、任意選択の、対応する公開口座鍵)によって定義され得、各鍵は、1つまたは複数の子トランザクション鍵および/または孫トランザクション鍵を有し得る。「口座」という用語は、分散型台帳122におけるアドレス、たとえば、階層決定論的(HD)ウォレットにおけるイーサリアムアドレスを指すために使用され得る。
【0031】
[0043]「スマートコントラクト」という用語は、ソフトウェアにおいて実施され得る条件付きロジックのセット、たとえば、1つまたは複数の関連する条件が満たされることに応じて実行される1つまたは複数の順次のステップを指す。スマートコントラクトは、分散型台帳122のアドレスにおいて格納され得る。例では、スマートコントラクトは、Solidityプログラミング言語でプログラムされ得る。スマートコントラクトは、たとえば、イーサリアム仮想マシン(EVM)などの仮想マシンを実行しているネットワークノード140におけるプロセッサによって実行され得る。
【0032】
[0044]証券トークン102は、たとえば、SEC規制に対する関連する免除下で適格となる投資家のダークプールへのプレ新規株式公開(プレIPO)の一部として、個人的に発行され得る。あるいは、証券トークン102は、SEC規制の下での新規株式公開(IPO)の一部として発行され得る。所有者112は、1つまたは複数の証券トークン102を、たとえば、証券トークンオファリング(STO)とともに展開/発行し得る。任意選択で、発行者114は、たとえば、証券トークンオファリング(STO)を用いて、1つまたは複数の証券トークン102を展開/発行するように所有者112に指示し得る。STOは、証券トークン102によって証券が表される証券の展開/発行または販売を含み得る。任意選択で、STOは、たとえば、所有者112または発行者114に属する1つまたは複数のウォレットにそれらを割り当てることを含み得る。例では、展開されたすべての証券トークン102は、個々の投資家120に割り当てられる前に、最初に所有者112または発行者114に属するウォレットに割り当てられ得る。あるいは、展開された証券トークン102は、個人投資家120によって所有されるウォレットに直接割り当てられ得る。STOは、1つまたは複数の証券トークン102を発行する1つまたは複数の発信元スマートコントラクト113を含み得る。
【0033】
[0045]初期展開および割当後、証券トークン102を使用して、証券トークン102が表す資産を、たとえば、証券トークン交換部(STX)124において、または(証券トークン102によって許可されるのであれば)ピアツーピア(P2P)トランザクションで、ある当事者から別の当事者に移動することができる。証券トークン102の発行および/または後続のトランザクションの記録は、証券トークン102自体および/または分散型台帳122にコミット(すなわち、記録)され得る。
【0034】
[0046]システム100は、様々な異なるタイプの証券トークン102を展開、割当、および/またはその後転送するために使用され得る。例では、会社Aは、おのおのが会社Aのシェアを表し、シンボルAAAXを有するX証券トークン102を展開し得、会社Bは、おのおのが会社Bのシェアを表し、シンボルBBBXを有するY証券トークン102を展開し得、会社Cは、おのおのが会社Cのシェアを表し、シンボルCCCXを有するZ証券トークン102を展開し得る。さらに、証券トークン102AAAX、BBBX、およびCCCXはすべて、同じシステム100において展開、割当、および/または取引可能であり得る。
【0035】
[0047]Ethereum Request for Comments 20(ERC20)は、一連の方法を定義する規格である。ERC20に準拠するために、暗号トークン(たとえば、ユーティリティ、暗号通貨、または証券)は、これらの方法を実施しなければならないが、トークンの所有者は、独自の手法でこの方法を実施できる。ERC20の利点の1つは、各アプリケーション、ウォレット、交換部、またはインターフェースを、おのおの特定のトークン102に合わせて調整する必要がないことである。むしろ、プロジェクトが、ERC20規格をサポートする場合、プロジェクトは、多くの異なるERC20トークン102をサポートし得る。
【0036】
[0048]ERC20に準拠するために、証券トークン102は、totalSupply()、balanceOf()、transfer()、transferFrom()、approve()、およびallowance()を含む6つの必須の方法を実施するトークンロジックおよび/またはパラメータ104を含み得る。これらの必須の方法は、トークンを移動できる方法と、トークン関連のデータにアクセスできる方法とを説明する。トークンロジック/パラメータ104はまた、ERC20に準拠するための様々なイベント、たとえば、Transfer()およびApproval()を実施し得る。これらのイベントは、移動と承認のためのフォーマットガイドラインを説明する。
【0037】
[0049]証券トークン102トランザクションが要求されたときにtransfer()方法/機能109を呼び出すことができ、transfer()方法109は、任意選択で、1つまたは複数の他のスマートコントラクトにおける、たとえば、トークンロジック/パラメータ104および/またはグローバルレジストリ108における方法を呼び出し得る。transfer()方法109は、証券トークン102における分割を考慮する特定の実施であり得る。しかしながら、証券トークン102における分割を考慮しない、移動()方法109の他の実施が可能であることが理解される。
【0038】
[0050]トークンロジック/パラメータ104はまた、name()、symbol()、および/またはdecimals()など、ERC20に準拠するための1つまたは複数の任意選択の方法を実施し得る。これらの任意選択の方法を使用して、それぞれ証券トークン102に名前およびシンボルを割り当て、ならびに証券トークン102が使用するいくつかの小数を定義できる。これらの方法およびイベントは、ネットワークノード140上の仮想マシン(たとえば、イーサリアム仮想マシン)によって実行され得、ERC20規格においてさらに説明される。
【0039】
[0051]トークンロジックおよび/またはパラメータ104はまた、証券トークン102の名前、同じ種別の証券トークン102がいくつ展開または発行されたか、および/または証券トークン102のシンボルを示すデータを含み得る。例では、証券トークン102のシンボルは、株式ティッカシンボルと同様、証券トークン102の複数文字(たとえば、4つまたは5つ)の識別子であり得る。証券トークン102のシンボルは、金融取引業規制機構(FINRA)に登録され得る。会社によって発行された証券トークン102シンボルは、好ましくは、たとえば、特定の文字(たとえば、Q、X、またはZ)が、会社のティッカシンボルの末尾に連結された、会社のティッカシンボルの拡張バージョンであり得る。
【0040】
[0052]証券トークン102はまた、たとえば、分散型台帳122に格納された残高表105を含み得る。残高表105は、特定の種別の証券トークン102のすべての保有者の残高を示すことができ、たとえば、残高表105は、どのアドレス(たとえば、イーサリアムアドレス)がどの量の証券トークン102を保有しているかを示し得る。あるいは、投資家120(または保管人116またはブローカディーラ118)アドレスによるインデクス付けの代わりに、残高表105は、他の手法、たとえば、投資家の名前のハッシュなどでインデクス付けされ得る。証券トークン102の残高表105は、公開、準公開、または非公開であり得、特定の投資家120、保管人116、またはブローカディーラ118によって保有された証券トークン102の残高が、公共利用可能な情報から純粋に導出され得ないように匿名であり得る。
【0041】
[0053]残高表105は、展開または発行されたすべての証券トークン102を説明できる。証券トークン102の移動が発生すると(すなわち、残高に変更があると)、残高表105が更新され、異なるネットワークノード140において格納された証券トークン102の各コピーに配布され得る。例では、証券トークン102の移動は、証券トークン102における残高表105を更新することを含み得る。表1は、各投資家アドレスの鍵/値のペアを含む残高表105の例である。
【0043】
いくつかの例では、残高表105は、(表1における左列に示される)アドレスによってインデクス付けされ、各インデクスにおける値が、アドレスに関連付けられた(表1における右列に示される)証券トークン残高であるマルチオブジェクトデータ構造(たとえば、配列)として格納され得る。
【0044】
[0054]しかしながら、(他の種別のトークンとは異なり)証券トークン102は、米国において証券取引委員会(SEC)によって規制され得る。したがって、多くの上場企業がデラウェア州に設立されているために重要である、一般会社法に関連するデラウェア州法の第8編を満たすことが望ましい場合がある。第8編を満たす追加の方法は、本明細書では第8編方法と呼ばれ、たとえば、Ethereum Request for Comments 884(ERC884)の有無に関わらず、様々な手法で実施され得る。具体的には、第8編方法では、各トークンが、デラウェア州法人によって発行された単一の株式を表すトークンの作成が可能であり、つまり、そのようなトークンは、秘密か公開かに関わらず、デラウェア州法人によって発行されたエクイティを表すように設計され得る。
【0045】
[0055]したがって、トークンロジックおよび/またはパラメータ104は、addVerified()、removeVerified()、updateVerified()、cancelAndReissue()、isVerified()、isHolder()、holderCount()、holderAt()、hasHash()、isSuperseded()、および/またはgetCurrentFor()を含む、(ERC20によって必要とされる6つを超える)1つまたは複数の第8編方法を実施し得る。トークンロジック/パラメータ104はまた、たとえば、verifiedAddressAdded()、VerifiedAddressRemoved()、VerifiedAddressUpdate()、および/またはVerifiedAddressSuperseded()のように、(ERC20互換性のために必要とされる6つを超える)1つまたは複数のイベントを実施し得る。これらの第8編方法およびイベントは、ネットワークノード140上の仮想マシンによって実行され得る。
【0046】
[0056]会社が(証券トークンの形態で)株式を発行した後、分割を使用して既存の株式数を変更することを決定し得る。発行された証券トークン102に対して分割アクションを実行する簡単な手法は、(たとえば、残高表105における)少なくとも1つの証券トークン102を保有するアドレスのリストを辿って(traverse through)、それらのトークン残高を1つずつ更新することである。イーサリアムにおいて実行している証券トークン102では、これは実用的ではない。なぜなら、ブロックチェーンプラットフォームにおいて、トランザクションを実行したり、スマートコントラクトにおける方法を実行するためには、ブロックチェーン関連の少額の料金(「ガス」とも呼ばれる)が必要だからである。たとえば、「ガス」は、イーサリアムブロックチェーンプラットフォームにおいてトランザクションを正常に実行したり、またはスマートコントラクトを実行したりするために必要な価格値である。さらに、ガスの上限により、個々のトークン保有者の残高を更新するために、(バッチではなく)個別のトランザクションが必要になる場合がある。このプロセスは、費用がかかり、完了するまでに長い時間がかかる可能性がある。代わりに、本システムおよび方法は、証券トークン102の実際の移動が行われるまで分割をシミュレートすることができ、それにより、不必要なトランザクションにおけるガスを節約する。言い換えれば、本明細書で説明される機能は、(たとえば、残高表105において)株主リストをマニュアルで反復することによって、トークン残高を更新するよりも低コストで分割を実施できる。
【0047】
[0057]分割機能を可能にするために、システム100は、ERC20および第8編方法を超える機能を実施し得る。例では、ERC20および/または第8編方法によって必要とされる方法を実施することに加えて、証券トークン102は、以下の分割関連方法152、すなわち、(1)実施されたがトークン残高においてまだ考慮されていない証券トークン102の分割を考慮しながら、入力アドレスから、少なくとも1つの出力アドレスへある量の証券トークン102を移動する(上述した)transfer()方法109、(2)トークンの分割を開始する更新分割方法142(updateSplit())、(3)トークンを保有するリストアドレス(たとえば、残高表105)におけるトークン残高におけるトークン残高を実際に更新することなく、トークンの1つまたは複数の分割を考慮するトークン保有者のための証券トークン残高を決定する残高チェック方法144(balanceOf())、(4)トークンの1つまたは複数の分割に基づいて、1つまたは複数のトークン保有者のトークン残高を更新するための更新残高方法146(updateBalances())、(5)トークンの1つまたは複数の分割後に未処理のトークンの総量を更新するための更新合計トークン方法148(splitTotalSupply())、および/または(6)分割後の端数(fractional)株主を削除するための削除株主方法150(removeShareholder())を実施し得る。分割関連方法152は、たとえば、イーサリアム仮想マシン(EVM)などの仮想マシンを実行するネットワークノード140におけるプロセッサによって実行され得る。
【0048】
[0058]あるいは、証券トークン102が分割関連方法152を実施する代わりに、証券トークン102におけるトークンロジックおよび/またはパラメータ104は、証券トークン102の外部で実施される1つまたは複数の分割関連方法152のアドレスを示すポインタ(図示せず)を含み得、たとえば、実際の分割関連方法152は、以下に説明する任意選択のグローバルレジストリ108において実施され得る。この代替構成では、分割関連方法152は、必要に応じて、証券トークン102自体を修正することなく更新され得る。
【0049】
[0059]いくつかの構成では、以下に説明するように、分割関連方法152は、それ自体が1つまたは複数の他の分割関連方法152を呼び出し得る。たとえば、transfer()方法109は、更新残高方法146を呼び出すことができ、この方法は、入力アドレスおよび出力アドレスの残高チェック方法144を呼び出す。さらに、分割関連方法152は、分散型台帳122を実施するネットワークノード140において実行され得る。
【0050】
[0060]株主のトークン残高を決定する場合、(balanceOf()方法144の一部として)迅速な計算を実行して、分割更新された残高(適用可能であれば、分割が適用された後の残高)を得る。これは、本明細書ではnewBalanceとも呼ばれる。例では、この方法144は、読取専用であるため、ブロックチェーンにおいて無料で実行できる。すなわち、実行するのにガス(ブロックチェーン関連の料金)を必要としない。その後、移動が要求されると(たとえば、証券トークン102におけるtransfer()方法109が呼び出されると)、取引の両側(入力アドレスと出力アドレス)の実際のトークン残高が更新され、必要な数のトークンが移動されるので、株主のトークン残高が、現在の分割で更新される。証券トークントランザクションの記録は、transfer()方法109の間に分散型台帳122に記録され得る。
【0051】
[0061]分割関連方法152に加えて、(証券トークン102自体における)トークンロジックおよび/またはパラメータ104はまた、1つまたは複数の分割関連パラメータ154を含み得る。具体的には、株式が分割(併合分割を含む)されると、イベントが記録される。その後の分割も、発生した順序で追跡/記録される。分割イベントは、updateSplit()方法を使用してデータ構造に記録され得る(本明細書では、分割と呼ばれる)。データ構造(分割)は、トークンの履歴における各分割のオブジェクトを有する。株主/トークン保有者ごとに、トークン残高に反映される最後の分割も追跡される。最後の分割は、holdersSplitと呼ばれるデータ構造に記録され得る。併合分割では、株主リストの監査を実行して、(規制および/または技術的な制限にしたがって)部分的なトークンが許可されないために、削除されるトークンの数(cashedOutTokenQuantity)を決定できる。分割関連パラメータ154はまた、(特定のトークン保有者に関係なく)トークン102の最新の分割を示すインデクス(currentSplitIndex)を含み得る。特定の分割関連パラメータ154は、任意の適切なデータ構造、たとえば、構造体、配列、リンクリスト、整数などを使用して実施され得ることに留意されたい。さらに、分割関連パラメータ154のうちの1つまたは複数は、たとえば、本明細書で説明される機能が、パラメータなしで(または異なるパラメータで)達成できる場合、いくつかの実施では使用されない場合がある。
【0052】
[0062]分割関連パラメータ154は、たとえば、分散型台帳122を実施する各ネットワークノード140における各証券トークン102におけるように、証券トークン102において実施される。分割関連パラメータ154が、更新、格納、調整、削除、変更、追加、または本明細書に記載された任意の変形がなされるいくつかの構成では、分散型台帳122、たとえば、イーサリアムブロックチェーンにおいて発生し得る。いくつかの構成では、分割関連パラメータ154を更新することは、分散型台帳122においてトランザクションを実行することを含み得る。
【0053】
[0063]システム100はまた、データを格納するデータストレージスマートコントラクト128などの1つまたは複数のスマートコントラクトを含む、任意選択のグローバルレジストリ108を含み得る。データストレージスマートコントラクト128に格納されたデータは、投資家120への(残高表105における)アドレスのマッピング、投資家120の個人識別情報(PII)、および/または、使用され得る他の任意の投資家情報を含み得る。任意選択として、トークンロジックおよび/またはパラメータ104におけるポインタは、任意選択のグローバルレジストリ108において実施される分割関連方法152を参照する。それに加えて、いくつかの構成では、1つまたは複数の分割関連パラメータ154は、データストレージスマートコントラクト128に格納され得る。
【0054】
[0064]グローバルレジストリ108におけるスマートコントラクト128は、公開分散型台帳122に格納され得る。あるいは、グローバルレジストリ108は、たとえば単一のコンピューティングデバイスに格納された、システム100における証券トークン102、保管人116、ブローカディーラ118、および/または投資家120の属性を格納する従来型のデータベースであり得る。あるいは、グローバルレジストリ108は、スマートコントラクト128を利用せずに、証券トークン102、保管人116、ブローカディーラ118、および/または投資家120の属性を、分散型台帳122に格納するデータベースであり得る。
【0055】
[0065]データストレージスマートコントラクト128におけるデータ構造110は、おのおのが特定の投資家120に関する情報を有する、少なくとも1つの投資家要素を格納し得る。さらに、各投資家要素は、投資家のブローカディーラ118のアドレス(たとえば、イーサリアムアドレス)、および/または様々な規制認定情報(たとえば、AML/KYCが投資家120について実行されたか否か、投資家120出身国、特定の証券トークン102が投資家120によって所有されていた時間の長さなど)を含み得る。たとえば、
図2Aに示されるように、投資家要素における属性(たとえば、投資家要素におけるスロットの値)は、コンマ区切り値、ハッシュテーブル、マッピング、辞書、および/または鍵/値のペアなどとして格納され得る。各投資家要素は、(たとえば、投資家120が外部投資家である場合)所有者112、発行者114、ブローカディーラ118、保管人116、および/または投資家120によって作成され得る。
【0056】
[0066]例では、データストレージスマートコントラクト128は、各投資家120のために少なくとも1つの投資家要素を格納し得る。データストレージスマートコントラクト128は、投資家120が複数の異なるブローカディーラ118の顧客である場合、特定の投資家120のために複数の投資家要素を格納し得る。例では、投資家要素(またはその代理人)に関連付けられたブローカディーラ118のみが、その投資家要素の情報を更新し得る。(異なるブローカディーラ118における)同じ投資家120のための異なる投資家要素は、同じデータ構造110に格納され得る。あるいは、データストレージスマートコントラクト128が、(複数のブローカディーラ118との口座を有する投資家120のための)単一の投資家要素を格納する他の構成も可能である。任意選択で、インターフェーススマートコントラクト(図示せず)を使用して、1つまたは複数のデータ構造110において、投資家要素を追加、削除、および/または更新することができる。
【0057】
[0067]投資家要素における属性は、たとえば、オンボーディング中にブローカディーラ118によって収集された、投資家120に関する他の情報を含み得る。そのような情報は、顧客名と、納税者識別番号(たとえば、社会保障番号)と、住所と、電話番号と、電子メールアドレスと、生年月日と、運転免許証、パスポート情報、または他の政府発行の身分証明書からの情報と、雇用状況および職業と、顧客が仲介企業に雇用されているか否かと、年収と、純資産と、口座投資目的と、および/または、個人の身元を区別するために使用できる他の任意のデータとを含み得る。データストレージスマートコントラクト128における投資家要素は、必要に応じて更新され得る。たとえば、投資家120が、ブローカディーラ118との口座を閉鎖するとき、対応する投資家要素は、データストレージスマートコントラクト128から削除され得る。それに加えて、またはその代わりに、投資家120は、たとえば、投資家120が外部投資家である場合、自身に関連付けられた投資家要素223における属性を作成、更新、および/または削除する責任を負い得る。
【0058】
[0068]上記のように、データストレージスマートコントラクト128は、投資家120が口座を有するブローカディーラ118ごとに、投資家120の各インスタンスの投資家要素を含み得る。すなわち、データストレージスマートコントラクト128は、複数のブローカディーラ118に口座を有する投資家120のための複数の投資家要素を格納し得る。例では、投資家120の投資家要素は、投資家120が関連付けられているブローカディーラ118によってのみ作成、更新、および/または削除され得るが、他の構成が可能である。したがって、各ブローカディーラ118は、好ましくは、それぞれのブローカディーラ118の顧客である投資家120に関連付けられた投資家要素を作成、修正、または削除し得る。
【0059】
[0069]任意選択で、1つまたは複数の他の種別の要素は、システム100内の様々なアクタに関する属性を含むデータストレージスマートコントラクト128に格納され得る。例では、他の要素(すなわち、投資家要素以外)は、少なくとも1つの保管人要素、少なくとも1つのブローカディーラ要素、および/または、少なくとも1つの証券トークン要素を含み得る。例では、ブローカディーラ118のブローカディーラ要素は、ブローカディーラ118が関連付けられる保管人116によってのみ作成、更新、および/または削除され得るが、他の構成が可能である。任意選択で、発行者要素および/または証券トークン交換要素は、システム内のすべての発行者114および/または証券トークン交換部124のために格納され得る。他の要素のうちの1つの要素における属性(たとえば、要素におけるスロットの値)は、コンマ区切り値、ハッシュテーブル、マッピング、辞書、および/または、鍵/値のペアなどとして格納され得る。
【0060】
[0070]
図2Aは、
図1に示されるシステム100において使用されるデータ構造110を示すブロック図である。1つまたは複数のデータ構造110は、データストレージスマートコントラクト128に格納され得る。各データ構造110は、1つまたは複数の要素223A〜223Mを含み得、各要素223は、特定の保管人116、ブローカディーラ118、または投資家120に対応する(すなわち、それらに関する情報を含む)。任意選択で、証券トークン要素223はまた、1つまたは複数のデータ構造110に格納され得る。
【0061】
[0071]いくつかの構成では、特定のデータ構造110内のすべての要素223は、同じ種別のエンティティに対応し、たとえば、すべての要素223は、システム100における投資家120に対応する。この構成では、データストレージスマートコントラクト128は、システム100におけるすべての投資家120のための第1のデータ構造110、すべての保管人116のための第2のデータ構造110、すべてのブローカディーラ118のための第3のデータ構造110、および/またはすべての証券トークン102のための第4のデータ構造110を含み得る。あるいは、特定のデータ構造110は、異なる種別のエンティティに対応する要素223を含み得、すなわち、投資家要素223、保管人要素223、およびブローカディーラ要素223は、単一のデータ構造110に含まれ得る。
【0062】
[0072]いくつかの構成では、各要素223は、2つのストレージスロット215A〜215Nを含み得、ここで、各ストレージスロットは、固定されたバイト数である。たとえば、ストレージスロットは、32バイト長(または任意の適切な長さ)であり得、たとえば、各ストレージスロット215は、Solidityプログラミング言語のスロットであり得る。各要素223は、2つのストレージスロット215(すなわち、N=2M)を含むものとして
図2Aに示されているが、要素223は、単一のストレージスロット215(すなわち、N=M)のみ、または3つ以上のストレージスロット215(すなわち、N>2M)を含み得る。
【0063】
[0073]各ストレージスロット215は、鍵219A〜219Nおよび値221A〜221N、すなわち、鍵/値のペアを含み得る。各鍵219は、要素223が対応するエンティティの種別を示す第1のレベル(たとえば、保管人116、ブローカディーラ118、投資家120など)と、特定のエンティティによって所有されるアドレス(たとえば、イーサリアムアドレス)を示す第2のレベルとを有するネスト構造であり得る。このようにして、鍵215は(エンティティの種別で)符号化され得る。アドレスによるインデクス付けの代わりに、鍵219の第2のレベルは、他の手法、たとえば、エンティティ/投資家/証券トークン名のハッシュなどでインデクス付けされ得る。任意選択で、鍵219は、3つ以上のレベルを含み得る。要素223が、2つのスロット215を含む場合、要素223の第1のストレージスロット215における鍵219は、要素223の第2のスロット215における鍵219と同じであり得るか、または異なり得る。
【0064】
[0074]値221に含まれる情報は、要素223が対応するエンティティの種別に応じて変化し得る。データ構造110における各値221は、要素223が対応するエンティティの種別を示す第1のレベル(たとえば、保管人116、ブローカディーラ118、投資家120など)と、追加情報を示す1つまたは複数の追加のレベルとを有するネスト構造であり得る。このようにして、値221は、(エンティティの種別で)符号化され得、その結果、コンピューティングデバイス(たとえば、ネットワークノード140)は、値221におけるデータを解釈する方法を知る。言い換えれば、コンピューティングデバイス(たとえば、ネットワークノード140)は、符号化、すなわち、値221に示される種別に基づいて、値221におけるデータを異なる方式で解釈する。複数のパラメータをビットシフト(および/または連結)して、同じ値221に収まるようにできる。
【0065】
[0075]たとえば、特定の投資家要素223における第1のストレージスロット215における値221は、第1のレベルにおける「投資家」を示す1つまたは複数のビットと、第2のレベルにおける投資家120のためのPIIハッシュとを含み得る。さらに、投資家要素223における第2のストレージスロット215における値221は、投資家120の他の属性を示す1つまたは複数のビットを含み得る。
【0066】
[0076]他のデータ構造110の例は、保管人要素223、ブローカディーラ要素223、および/または任意選択の証券トークン要素223を含む。各保管人要素223は、特定の保管人116に関する属性を含み得る。任意選択で、保管人要素223は、保管人要素223が関連付けられる1人または複数の投資家要素223、ブローカディーラ要素223、および/または証券トークン要素223のアドレス(たとえば、イーサリアムアドレス)を参照し得る。たとえば、保管人要素223は、保管人116が関連付けられる1人または複数のブローカディーラ118のアドレス(たとえば、イーサリアムアドレス)を含み得る。
【0067】
[0077]各ブローカディーラ要素223は、特定のブローカディーラ118に関する属性を含み得る。特定のブローカディーラ要素223における値221は、第1のレベルにおいて「ブローカディーラ」を示す1つまたは複数のビットと、第2のレベルにおいてブローカディーラ118に関する属性を示す1つまたは複数のビットとを含み得る。任意選択で、ブローカディーラ要素223は、ブローカディーラ要素223が関連付けられる1人または複数の投資家要素223、保管人要素223、および/または証券トークン要素223のアドレス(たとえば、イーサリアムアドレス)を参照し得る。たとえば、ブローカディーラ要素223は、ブローカディーラ118が関連付けられる1人または複数の保管人116のアドレス(たとえば、イーサリアムアドレス)を含み得る。
【0068】
[0078]各証券トークン要素223は、特定の証券トークン102に関する属性を含み得る。任意選択の証券トークン要素223における値221は、第1のレベルにおける「証券トークン」を示す1つまたは複数のビットと、第2のレベルにおける証券トークン102に関する属性を示す1つまたは複数のビットとを含み得る。証券トークン102に関する様々な種別の情報は、証券トークン要素223の値に含まれ得る。
【0069】
[0079]各任意選択の発行者要素223は、特定の発行者114に関する属性を含み得る。特定の任意選択の発行者要素223における値221は、第1のレベルにおける「発行者」を示す1つまたは複数のビットと、第2のレベルにおける発行者114に関する属性を示す1つまたは複数のビットとを含み得る。任意選択で、発行者要素223は、発行者114が関連付けられる1人または複数の投資家120、保管人116、ブローカディーラ118、および/または証券トークン102のアドレス(たとえば、イーサリアムアドレス)を参照し得る。
【0070】
[0080]
図2Bは、
図1に示されるシステム100におけるエンティティの階層を示すブロック図である。具体的には、
図2Bは、システム100の1人または複数の投資家120、任意選択の1人または複数のブローカディーラ118、任意選択の1人または複数の保管人116、および/または1人または複数の所有者112の間の関係を示す。
【0071】
[0081]例では、
図2Bにおける階層は、システム100におけるデータ許可を定義し得る。階層は、任意の適切な形式で格納され得るか、および/または様々な要素223に格納されるデータにおいて暗黙的であり得る。
【0072】
[0082]データ構造110は、複数のブローカディーラ118に口座を有する投資家120のために、複数の投資家要素223を格納し得る。例では、第1の投資家要素223Aは、たとえば、第1のブローカディーラ118Aによって実行されるオンボーディング中に、第1のブローカディーラ118Aによって収集されたデータにしたがって、特定の投資家120を説明し得る。同様に、異なる投資家要素223Bは、たとえば、異なるブローカディーラ118Bによって実行されるオンボーディング中に、異なるブローカディーラ118Bによって収集されたデータにしたがって、同じ特定の投資家120を説明し得る。それに加えて、またはその代わりに、投資家要素120Iは、ブローカディーラ118または保管人116の顧客ではない外部投資家のために格納され得る。
【0073】
[0083]グローバルレジストリ108を実施する任意のスマートコントラクトは、ネットワークノード140において実行している仮想マシン(たとえば、イーサリアム仮想マシン)によって実行され得る。システム100における各エンティティは、データストレージスマートコントラクト128に対して、異なるデータ許可を有し得る。例では、所有者112は、自身の階層において、保管人116、ブローカディーラ118、および/または投資家120の要素を追加、削除、および/または変更し得る。保管人116は、自身の階層において、ブローカディーラ118および/または投資家120の要素を追加、削除、および/または変更し得る。ブローカディーラ118は、自身の階層において、投資家120の要素を追加、削除、および/または変更し得る。所有者112は、自身の階層において、保管人116、ブローカディーラ118、および/または投資家120の要素を追加、削除、および/または変更し得る。いくつかの構成では、投資家120は、2つのアドレス間で資金および/または証券トークン102を移動するtransfer()方法109を呼び出す許可を有し得る。
【0074】
[0084]
図3は、トークン残高を形式的に更新しないトークン分割のための方法300を示すフロー図である。方法300は、システム100において仮想マシンを実行する少なくとも1つのプロセッサ、たとえば、ネットワークノード140における少なくとも1つのプロセッサによって実行され得る。方法300は、たとえば、分散型台帳122に格納された、証券トークン102において実施される1つまたは複数の分割関連方法152を実行することを含み得る。それに加えて、方法300は、たとえば、分散型台帳122に格納された、証券トークン102における1つまたは複数の分割関連パラメータ154を利用し得る。方法300は、ブロックチェーン関連の料金(ガス)が低い(または、まったく発生しない)可能性がある。
【0075】
[0085]方法300は、少なくとも1つのプロセッサが、分散型台帳122、たとえば、イーサリアムブロックチェーンの少なくとも1つのアドレスに保有された証券トークン102の新しい分割の分割比を決定するステップ302で開始し得る。これは、発行者114(または所有者112)が、ともに分割比を形成する分子および分母を設定するステップを含み得る。新しい分割は、先渡分割または併合分割の場合がある。たとえば、分子が2で分母が1(分子>分母であるため先渡分割と見なされる)は、(指定された種別の)既存の証券トークン102の数が、新しい分割後に2倍になり、結果として、おのおの、分割前と比較して半分の値を有する証券トークン102が発生することを意味する。別の例として、分子が1で分母が2の場合(分子<分母であるため、併合分割と見なされる)は、(指定された種別の)既存の証券トークンの数が、新しい分割後に半分になり、結果として、おのおの、分割前と比較して2倍の値を有する証券トークンが発生することを意味する。
【0076】
[0086]上記のように、発行者114は、おのおのが会社の株式を表す証券トークン102を発行する会社(または、会社によって所有および/または管理されるコンピューティングデバイス)であり得る。分割比は、会社の株式を表す証券トークン102の分割を開始することを決定した場合、会社(たとえば、会社の取締役会)によって決定され得る。いくつかの構成では、発行者114は、(証券トークン102において実施される)更新分割方法142を呼び出し、分割比をパラメータのうちの1つとして渡し得る。たとえば、発行者は、以下の機能呼出、すなわちupdateSplit(numerator、denominator)を発動し得る。
【0077】
[0087]方法300は、少なくとも1つのプロセッサが、新しい分割に応じて支払われる証券トークンの数を決定する、任意選択のステップ304に進み得る。具体的には、システム100は、端数の株式を許可しない場合がある。したがって、トークン保有者は、分割後に結果として発生する端数トークン(たとえば、半トークン)に対して支払われる。これは、これらの端数トークン102の「焼却」と呼ばれ、これは、(指定された種別の)未処理の証券トークンの総数を低減する。支払/焼却がなされるトークンの数は、cashedOutTokenQuantityと呼ばれ、証券トークン102に、分割関連パラメータ154として格納され得る。端数トークンは通常、(トークン/株式の総数が減少し、結果として発生する各株式は比例して、分割後に大きな値を有する)併合分割から発生するが、非整数(たとえば、3/2)の分割比の「先渡」分割から発生することもある。
【0078】
[0088]任意選択のステップ304は、いくつの証券トークン102が焼却されるのかを決定するために、(たとえば、証券トークン102に格納された残高表105に)トークンを保有するアドレスのリストの監査を含み得る。例では、少なくとも1つのプロセッサは、アドレスのリストにおけるすべてのアドレスを繰り返しステップスルー(step through)し、アドレスごとに、アドレスに関連付けられた、結果として発生する分割後のトークン残高における端数(非整数)のトークンを決定し得る。アドレスのリストにおけるすべてのアドレスにわたって識別されたトークンの端数を合計して、支払/焼却がなされる証券トークン102の数(cashedOtekonQuantity)を決定できる。
【0079】
[0089]任意選択のステップ304における監査の簡単な例として、3人のトークン保有者、すなわち、特定のトークン102のA、B、およびCがいると仮定する。新しい分割の分割比が1/2である場合、100の事前分割トークン102を有するAのアドレスは、50の分割更新トークン(端数トークンなし)を有し、75の事前分割トークン102を有するBのアドレスは、37 1/2の分割後トークン(すなわち、1/2の端数トークン)を有し、55の事前分割トークン102を有するCのアドレスは、27 1/2の分割後トークン(すなわち、1/2の端数トークン)を有する。新しい分割後に支払/焼却がなされるすべての端数トークンの数(cashedOutTokenQuantity)は、1トークン(Bから1/2、Cから1/2)になる。例では、各アドレスの分割更新トークン残高は、残高チェック方法144を呼び出し、残高チェック方法144の各呼出で異なるアドレスを渡すことによって決定することができる。
【0080】
[0090]方法300は、少なくとも1つのプロセッサが、少なくとも1つのトランザクションを開始して、新しい分割後に端数証券トークンを有する各証券トークン保有者に、それぞれの端数証券トークン102を補償する任意選択のステップ306に進み得る。トランザクションは、分散型台帳122に記録される暗号通貨トランザクションであり得る。たとえば、暗号通貨トランザクションは、端数トークン保有者ごとに開始され得、ここで、端数トークン保有者のアドレスは、トランザクションの出力アドレスであり、移動される暗号通貨の量は、新しい分割に応じて支払/焼却がなされる端数トークンに等しい(または、ほぼ等しい)価値を有する。発行者114は、これらのトランザクションの支払人である可能性があるため、発行者のアドレスは、トランザクションにおける入力アドレスである可能性がある。いくつかの構成では、複数の(たとえば、すべての)端数トークン保有者が、単一のトランザクションにおけるそれぞれの端数トークンに対して補償され得、たとえば、発行者のアドレスは入力アドレスであり、端数トークン保有者のすべてのアドレスは、出力アドレスである。
【0081】
[0091]いくつかの構成では、任意選択のステップ306は、新しい分割後に支払/焼却がなされる端数トークンを有するアドレスの、(たとえば、残高表105における)トークン残高を更新する少なくとも1つのプロセッサを含み得る。これは、更新残高方法146(updateBalances())の呼出を含み得る。たとえば、1未満の(新しい分割後に)端数トークン残高を有するすべてのアドレスでは、残高が更新される場合がある。あるいは、新しい分割後に端数トークン残高を有するすべてのアドレスでは、残高が更新される場合がある。あるいは、(その後の移動が開始されない限り)新しい分割後にトークン残高が更新されるアドレスはない。いくつかの構成では、トークンの支払/焼却は、transfer()方法109の呼出を含み得る。
【0082】
[0092]方法300は、少なくとも1つのプロセッサが、新しい分割後に未処理の証券トークン102の総数を更新する任意選択のステップ308に進み得る。分割後の未処理の証券トークンの総数は、分割前の未処理の証券トークンの総数から、新しい分割に応じて支払/焼却がなされるトークンの数(cashedOutTokenQuantity)を差し引いたものとして決定され得る。したがって、任意選択のステップ308は、少なくとも1つのプロセッサが、パラメータとしてcashedOutTokenQuantityをとる、更新合計トークン(splitTotalSupply())方法148を呼び出すことを含み得る。
【0083】
[0093]方法300は、少なくとも1つのプロセッサが、たとえば、証券トークン102に格納された残高表105において、証券トークン102のうちの少なくとも1つの証券トークンを保有するアドレスのリストから、新しい分割後に1つ未満の証券トークン102を有する各証券トークン保有者を削除する任意選択のステップ310に進み得る。言い換えると、(新しい分割に応じて端数トークンが支払われた後)トークンを有しなくなったトークン保有者のアドレスは、新しい分割後(指定された種別の証券トークン102の)トークン保有者とは見なされなくなる。
【0084】
[0094]任意選択のステップ310は、少なくとも1つのプロセッサが、たとえば、証券トークン102において実施された削除株主機能150を呼び出すことを含み得る。(新しい分割後、1つ未満の証券トークン102を有するトークン保有者の)単一のアドレスを、パラメータとして、削除株主機能150の各呼出に渡すことができる。あるいは、少なくとも1つのトークン保有者の複数のアドレスを、削除株主機能150の単一の呼出に渡すことができる。
【0085】
[0095]この方法は、証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリスト(たとえば、残高表105)におけるすべてのアドレスのトークン残高を更新せずに、分割比の表示が格納されるステップ312に進み得る。格納された分割比は、たとえば、
図4において説明されるその後のトークン移動の一部として、分割更新されたトークン残高を決定するために使用され得る。証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリスト(たとえば、証券トークン102における残高表105)におけるすべてのアドレスのトークン残高を実際に変更せずに方法300を実行することは、トークンが分割された場合、発生するブロックチェーン関連の料金(ガス)を低減し得る。
【0086】
[0096]方法300は、証券トークン102において分割が開始される毎に実行され得ることに留意されたい。分割の履歴は、単一のデータ構造に(たとえば、おのおのが特定の分割の分子および分母を有する各分割のためのオブジェクトを有するsplits[]と呼ばれる配列に)格納され得る。
【0087】
[0097]
図4は、トークン分割後に少なくとも1つの証券トークン102を移動するための方法400を示すフロー図である。方法400は、システム100において仮想マシンを実行する少なくとも1つのプロセッサ、たとえば、ネットワークノード140における少なくとも1つのプロセッサによって実行され得る。方法400は、たとえば、分散型台帳122に格納された、証券トークン102において実施される1つまたは複数の分割関連方法152を実行することを含み得る。それに加えて、方法400は、たとえば、分散型台帳122に格納された、証券トークン102における1つまたは複数の分割関連パラメータ154を利用し得る。
【0088】
[0098]
図4の方法400は、
図3の方法300の1回または複数回の反復後に実行され得る。例では、特定のトークン保有者が(証券トークン102の複数の分割にわたって)長期間、ある量のトークンを保有する場合、方法400は、少なくとも1つの証券トークン102の移動の一部として(たとえば、
図3の方法300にしたがって)複数の分割を考慮する必要があり得る。あるいは、移動に関与する特定のトークン保有者が、まだトークンを取得していないか、または最近取得したトークンのみを有する場合(そして、証券トークン102に対して、介在する分割が宣言されていない場合)、方法400は(たとえば、
図3の方法300にしたがって)分割を考慮する必要がない場合がある。
【0089】
[0099]上記のように、アドレスのリストにおける(たとえば、残高表105における)トークン残高は、トークンが分割されたときに(たとえば、
図3の方法300にしたがって)実際には更新されない場合がある。代わりに、分割比の表示が格納され得る。これは、チェック残高方法144および/またはtransfer()方法190の将来の実行中に考慮することができる。対照的に、
図4の方法400は、(たとえば、残高表105における)アドレスのリストを実際に更新し得る。
【0090】
[0100]方法400は、少なくとも1つのプロセッサが、第1のアドレスから第2のアドレスへの、ある量の証券トークン102の新たな移動が要求されたと判定するステップ402で開始し得る。例では、ステップ402は、transfer()方法109が呼び出されることを含み得る。transfer()方法109は、証券トークン102において実施され得、(たとえば、投資家120スマートフォンにおいて、またはMetamaskを使用するブラウザにおいて実施される)ウォレット、または(たとえば、Infuraのように、ホストされたイーサリアムプロバイダである)他の任意のコンピューティングデバイスによって、または直接プライベートネットワークノード140アクセスを介して呼び出され得る。例では、以下のパラメータ、すなわち、出力アドレスとしての(譲受人トークン保有者の)第2のアドレスと、(移動される証券トークンの)量とが、transfer()方法109の一部として渡され得る。例では、少なくとも1つのプロセッサは、トランザクションを呼び出すアドレス(この例では、移動/譲渡人トークン保有者の第1のアドレス)を、少なくとも1つの証券トークン102が移動される入力アドレスとして使用する。すなわち、第1のアドレスは、明示的なパラメータとして送信されない。
【0091】
[0101]方法400は、少なくとも1つのプロセッサが、(たとえば、証券トークン102における残高表105における)証券トークン102のうちの少なくとも1つの証券トークンを保有するアドレスのリストに、第2のアドレスを追加する任意選択のステップ404に進み得る。(transfer()方法109呼出においてパラメータとして受信された)第2のアドレスが、すでにアドレスのリストにある場合、任意選択のステップ404はスキップされ得る。第2のアドレスがすでにアドレスのリストにない場合は、0である初期トークン残高とともに第2のアドレスが追加され得る。
【0092】
[0102]方法400は、少なくとも1つのプロセッサが、少なくとも1つの分割比の少なくとも1つの格納された表示に基づいて、第1のアドレスおよび第2のアドレスの分割更新トークン残高(newBalance)を決定するステップ406に進み得る。ステップ406は、transfer()方法109が、更新残高方法146(updateBalances())を呼び出すことを含み得る。これは、すべて証券トークン102において実施される残高チェック方法144(balanceOf())を呼び出す。いくつかの構成では、残高チェック方法144は、第1のアドレスのために1回、第2のアドレスのために1回の、2回呼び出され得る。
【0093】
[0103]第1のアドレスの残高チェック方法144の間、少なくとも1つのプロセッサは、(トークン譲渡人の)第1のアドレスに関連付けられたトークン残高が調整されていないが、調整されるべきであるすべての分割にわたって反復し得る。第1の未考慮の分割(unaccounted-for split)の場合、少なくとも1つのプロセッサは、それぞれの分割前のトークン残高に、格納されている第1の分割比の表示を乗じたものとして、たとえば、newBalance=分割前の残高
*第1の分割比のように、新しいトークン残高を決定し得る。複数の分割を考慮する必要がある場合、結果として発生する新しいトークン残高は、その後、たとえば、newBalance=分割前の残高
*第1の分割比
*第2の分割比・・・のように、すべての分割が考慮されるまで、残りのすべての未考慮の分割の、格納された表示を乗じられる。(第1の量の証券トークンを購入する新しいトークン保有者のため、または第1のアドレスがトークンを保有してから、証券トークン102に対して分割が宣言されていない場合を含む)すべての分割が考慮されている場合、第1のアドレスおよび第2のアドレスのための調整は必要なく、すなわち、newBalance=現在のトークン残高である。
【0094】
[0104]同様の残高チェック方法144が、(第2のアドレスのnewBalanceを決定するために)第2のアドレスに対して実行され得る。いくつかの構成では、第1のアドレスに関連付けられたトークン残高は、第2のアドレスに関連付けられたトークン残高とは異なる分割数を考慮して調整される。言い換えると、第1のアドレスのnewBalanceは、現在のトークンの残高に、第2のアドレスのnewBalanceとは異なる数である分割比を乗じることによって決定され得る。たとえば、(第1のアドレスを所有する)第1のトークン保有者が、証券トークン102を10年間保有している場合、その間にトークンが2回分割され、その一方で(第2のアドレスを所有する)第2のトークン保有者は、その証券トークン102を3年間保有し、その間にトークンが1回分割される。
【0095】
[0105]方法400は、少なくとも1つのプロセッサが、第1のアドレスおよび第2のアドレスの分割更新された残高(たとえば、newBalance値)に基づいて、第1のアドレスおよび第2のアドレスのトークン残高を更新するステップ408に進み得る。ステップ408は、たとえば、第1のアドレスおよび第2のアドレスをパラメータとして使用して、更新残高方法146(updateBalances())の一部として実行され得る。いくつかの構成では、更新残高方法146は、(ステップ402で呼び出された)transfer()方法109によって呼び出され得る。例では、更新残高方法146は、アドレスのリスト(たとえば、証券トークン102における残高表105)における実際のトークン残高を更新し得る。第1のアドレスの更新された残高は、(ステップ406からの)第1のアドレスのnewBalanceから、移動された証券トークンの量を引いたものとして決定され得る。第2のアドレスの更新された残高は、(ステップ406からの)第2のアドレスのnewBalanceに、移動された証券トークンの量を加えたものとして決定され得る。ステップ408は、少なくとも1つの証券トークンのトランザクションを、ブロックチェーン、たとえば、イーサリアムブロックチェーンにコミットすることを含み得る。
【0096】
[0106]方法400は、少なくとも1つのプロセッサが、第1のアドレスおよび第2のアドレスのトークン残高において、すべての分割が考慮されているとの表示を格納する任意選択のステップ410に進み得る。これは、たとえば、第1のアドレスおよび/または第2のアドレスを含む将来の移動のステップ406において、第1のアドレスおよび/または第2のアドレスのトークン残高が、同じ分割比で2回以上乗じられることを阻止し得る。例では、第1のアドレスおよび第2のアドレスのおのおのの(証券トークン102のすべての分割比のデータ構造内の)インデクスが、更新され得る。しかしながら、必要に応じて、すべての分割比が、正確に考慮されるようにするために、他の追跡メカニズムが可能である。
【0097】
[0107]例示的な実施
[0108]
図5A〜
図5Bは、
図3の方法300においてトークン分割を実施するために使用できる、例示的な残高表105および例示的なマルチオブジェクトデータ構造を示すブロック図である。
図6A〜
図6Bは、
図4の方法400においてトークン移動を実施するために使用できる、例示的な残高表105および例示的なマルチオブジェクトデータ構造を示すブロック図である。以下に説明する例示的な実施では、様々なデータ構造(たとえば、分割関連パラメータ154)および方法(分割関連方法152)が実施され得る。しかしながら、データ構造および方法は、単なる例示であり、限定的であると見なされるべきではないことが理解される。例示的な実施における方法は、たとえば、イーサリアム仮想マシン(EVM)など、仮想マシンを実行するネットワークノード140におけるプロセッサによって実行され得る。
【0098】
[0109]「分割」と呼ばれるマルチオブジェクトデータ構造は、例示的な実施において維持され、各インデクスにおけるオブジェクトは、特定のトークン102の異なる分割の分割比を表す。言い換えると、分割データ構造は、整数のインデクスから、(特定のトークンの履歴において発生した分割の)分割比へのマッピングである。たとえば、各オブジェクトは、(Solidityにおける)struct型式であり、分子要素と分母要素とを有し得、分子/分母は、特定の分割の分割比である。すべての分割(トークンの履歴を通じた先渡および併合)を記録する特定のトークンの分割データ構造は1つだけである。特定のトークンの分割データ構造は、特定のトークンの発行スマートコントラクト113の作成時、または特定のトークン102の発行時に作成され得る。例では、分割データ構造は、配列として実施され、証券トークン102に格納される。分割データ構造は、分散型台帳122に格納された分割関連パラメータ154と見なされ得る。
【0099】
[0110]「残高」と呼ばれるマルチオブジェクトデータ構造もまた、例示的な実施において維持される。この残高データ構造は、各インデクスがトークン保有者のアドレス(たとえば、「addr」)であり、トークン保有者のアドレスにおけるトークン残高を指すマッピングである。言い換えれば、残高データ構造は、残高表105(たとえば、上記の表1)を実施し得る。たとえば、balances[addr]は、アドレスaddrに関連付けられたトークン残高を返す。例では、残高データ構造は、配列として実施され得、証券トークン102において実施され得る。残高データ構造は、分散型台帳122に格納された分割関連パラメータ154と見なされ得る。
【0100】
[0111]「holdersSplit」と呼ばれるマルチオブジェクトデータ構造もまた、例示的な実施において維持される。holdersSplitデータ構造は、インデクスがトークン保有者のアドレスであり、トークン保有者のアドレスに関連付けられたトークン残高に直近に適用された分割データ構造におけるインデクスを指すマッピングである。たとえば、特定の株主のアドレス(たとえば、addr)を使用して、トークン保有者のトークン残高(たとえば、balances[addr])に適用されたトークンの履歴における最後の分割の(分割データ構造における)別のインデクスが見つけられる。トークン保有者のアドレスがholdersSplitに存在しない場合、そのアドレスが移動を呼び出して、トークン保有者のアドレスを更新したことがないことを意味し、値「0」が返される。holdersSplitデータ構造は、分散型台帳122に格納された分割関連パラメータ154と見なされ得る。
【0101】
[0112]単一のholdersSplitデータ構造は、特定のトークンのために維持され、特定のトークン102の任意の移動後に更新されるであろう。(1)アドレスに関連付けられたトークン残高が、transfer()方法109の呼出中に、新しい分割で更新された場合、ならびに/または(2)(端数トークン102が支払われた、および/もしくは残りの量が、彼らのアドレスから移動されたため)前のトークン保有者が、最後に残ったいくつかのトークンを処分される場合、holdersSplitデータ構造を更新する必要がある。しかしながら、(トークンを所有している)アドレスが、新しい分割で更新されたことがない場合は、アドレスを、holdersSplitに追加する必要はない。holdersSplitに存在しないアドレスのholdersSplitのデフォルトの戻り値は0である。これは、トークンの履歴における可能なすべての分割を、アドレスに関連付けられたトークン残高において調整する必要があることを示す。
【0102】
[0113]特定のトークンのholdersSplitデータ構造は、特定のトークンの発行スマートコントラクト113の作成時、または特定のトークン102の発行時に作成され得る。例では、holdersSplitデータ構造は、配列として実施され、証券トークン102において格納される。
【0103】
[0114]「currentSplitIndex」と呼ばれる値もまた、例示的な実施において維持される。値currentSplitIndexは、(特定のトークン保有者に関係なく)トークンの履歴における最新の分割/併合分割の(分割データ構造に対する)インデクスである。言い換えると、値currentSplitIndexは、分割データ構造における現在の分割の場所を追跡する。例では、値currentSplitIndexは、整数として実施され、証券トークン102において実施される。currentSplitIndex値は、分散型台帳122に格納された分割関連パラメータ154と見なされ得る。
【0104】
[0115]更新分割方法142(updateSplit())は、
図3の方法300におけるステップ302の一部として呼び出される。例示的な実施では、更新分割方法142(updateSplit())を実行する少なくとも1つのプロセッサは、(1)トークン102の分割データ構造に、分子要素および分母要素を有する新しいSplitオブジェクトを追加し、(2)currentSplitIndexをインクリメントする。更新分割方法142(updateSplit())は、発行者114によって所有されるスマートコントラクトによって発行されたトークン102を分割することを発行者114が決定することに応じて、発行者114によって呼び出され得る。所望の分割の分割比は、パラメータとして、更新分割方法142(updateSplit())に渡され得る。更新分割方法142(updateSplit())は、証券トークン102において実施される分割関連方法152であり得、分散型台帳122を実施するネットワークノード140において実行され得る。
【0105】
[0116]残高チェック方法144(balanceOf())は、
図3の方法300における任意選択のステップ304、および/または、
図4の方法400におけるステップ406の一部として呼び出される。あるいは、残高チェック方法144(balanceOf())を呼び出して、(
図3の方法300および
図4の方法400とは別の)アドレスに関連付けられた分割更新トークン残高をチェックすることもできる。トークン保有者のアドレス(たとえば、addr)は、パラメータとして、残高チェック方法144、たとえばbalanceOf(addr)に渡される。残高チェック方法144(balanceOf(addr))は「ビュー」機能であり得るので、ブロックチェーン関連のすべての料金(ガス)は最後に払い戻され、無料で呼び出すことができる。
【0106】
[0117]残高チェック方法144(balanceOf(addr))の実行中に、少なくとも1つのプロセッサは、特定のアドレスのトークン残高がまだ更新されていないすべてのSplitオブジェクトにわたって、トークン残高(balances[addr])に、各反復における分割比を乗じることを反復する。すなわち、少なくとも1つのプロセッサは、splits[]において、インデクスholdersSplit[addr]+1から、currentSplitIndexまで反復し得る。残高チェック方法144(balanceOf())は、アドレスの分割更新された残高(newBalance)を返す。言い換えると、newBalanceは、アドレスのトークン残高において考慮されるべきであるが考慮していない各分割比を乗じられたbalances[addr]として決定される。
【0107】
[0118]分割データ構造におけるインデクスholdersSplit[addr]+1で始まる(そしてcurrentSplitIndexに至る)分割比のみが、残高チェック方法144(balanceOf())の実行中にnewBalanceを決定するために使用されることに留意されたい。したがって、トークン保有者がトークン保有者になる前に宣言された任意の分割の分割比は、残高チェック方法144(balanceOf())におけるnewBalance計算において使用されない。
【0108】
[0119]以下のコードの抜粋は、残高チェック方法144(balanceOf())の例示的な実施を示す。
function balanceOf(address addr)
public
view
returns(uint256){
unit256 newBalance=balances[addr];
for(uint i=holdersSplit[addr]+1;i<=currentSplitIndex;i++){
newBalance=
(newBalance.multiply(splits[i].numerator)).divide(splits[i].denominator);
}
return newBalance;
}
[0120]コードの抜粋(および前述の説明)から推測できるように、トークン保有者の現在の残高(balances[addr])が取得され、newBalanceとして設定される。発生したがまだトークン保有者の残高に適用されていない(splits[]データ構造における)各分割が繰り返され、ここで、newBalanceは、分割分子を乗じられ、そのような各分割において、分割分母によって除される。すべての分割乗算が適用されると、結果として発生する(現在の分割更新された残高を反映する)newBalanceが、balanceOf(addr)から返される。
【0109】
[0121]したがって、balanceOf(addr)は、アドレスaddrに保有されているが、まだ現在の残高に適用されていないトークンに対して宣言されている1つまたは複数の分割によって、アドレスaddrの現在の残高(balances[addr])を更新し得る。あるいは、(特定の種別の)トークンを保有しないアドレスに対してbalances[addr]が呼び出された場合、balances[addr]は「0」になり、balanceOf(addr)によって返されるnewBalance値は「0」になる。残高チェック方法142(balanceOf())は、証券トークン102において実施される分割関連方法152であり得、分散型台帳122を実施するネットワークノード140において実行され得る。
【0110】
[0122]
図5Aは、たとえば、
図3の方法の例示的な実施を使用して、新しいトークン分割が宣言される前の残高表105および分割データ構造を示すブロック図である。具体的には、
図5Aの左側は、3つの異なるアドレスを有する残高表105を含む。Aは150トークン102の残高、Bは25トークン102の残高、Cは75トークン102の残高である。アドレスA、B、およびCは、同じ種別のトークン102、たとえばABC社の株式を表すトークンを保有している限り、同じまたは異なるトークン保有者に属していてもよい。アドレスA、B、およびCのおのおのは、証券トークンオファリング(STO)、購入、ギフト、相続、報酬、従業員の株式/トークン購入プログラムなどによってトークンを受け取っている可能性がある。この例は単なる例示であり、特定の種別のトークンを保有する多くのアドレスがあり得、各アドレスは、整数個(少なくとも「1」つ)のトークン102を保有することが理解される。アドレスおよびトークン残高は、本明細書の残高表105においてそれぞれの列として示されているが、アドレスおよび/またはトークン残高はおのおの、任意の適切なデータ構造において実施され得、たとえば、それらは、アドレスによってアドレス指定可能なbalances[]と呼ばれる配列において実施され得ることが理解される。
【0111】
[0123]
図5Aの右側は、アドレスA、B、およびCによって保有されるトークン102の分割データ構造を示す。この例では、トークン102は、その履歴において、分割比が2/1および4/1である2つの異なる分割を経ている。アドレスAが第1の分割(2/1の比)の後に150トークンを受け取り、アドレスBが第2の分割(4/1の比)の後に25トークンを受け取り、アドレスCが第2の分割(4/1の比)の後に75トークンを受け取ったと仮定する。さらに、アドレスA、B、およびCは、トークンを受け取ってから、それぞれのトークンを移動していないと仮定する。したがって、holdersSplit[A]=1(アドレスAに関連付けられたトークン残高が、第1の分割(2/1)で更新されたが、第2の分割(4/1)では更新されなかったことを意味する)、holdersSplit[B]=2(アドレスBに関連付けられたトークン残高が、第1の分割(2/1)および第2の分割(4/1)で更新されたことを意味する)、holdersSplit[C]=2(アドレスCに関連付けられたトークン残高が、第1の分割(2/1)および第2の分割(4/1)で更新されたことを意味する)である。したがって、balanceOf(A)は(返されたnewBalanceにおいて4/1分割が適用されるため)600を返し、balanceOf(B)は(アドレスBの残高において両方の分割がすでに考慮されているため)25を返し、balanceOf(C)は(アドレスCの残高において両方の分割がすでに考慮されているため)75を返す。currentSplitIndexの値は2である。なぜなら、このトークン102に対して宣言された直近の分割のインデクスであるからである。
【0112】
[0124]
図5Bは、たとえば、
図3の方法の例示的な実施を使用して、新しいトークン分割が宣言された後の、残高表105および分割データ構造を示すブロック図である。例では、トークンは以前にABC社によって発行され得る。新しい分割が1/2の分割比で宣言されていると仮定する(「併合」分割と見なされる)。分割を宣言するために、(発行者114として振る舞う)ABC社または所有者112は、この例では分子=1および分母=2であるupdateSplit(numerator、denominator)方法142を呼び出す。次に、updateSplit(numerator、denominator)を実行する(たとえば、ネットワークノード140における)少なくとも1つのプロセッサは、(
図5Bにおいて「1/2」で示される)値が1の分子要素と、値が2の分母要素とを有する新しいSplitオブジェクトを、分割データ構造に追加する。updateSplit(numerator、denominator)を実行する少なくとも1つのプロセッサはまた、currentSplitIndexを3に更新する。これは、このトークン102に対して宣言された直近の分割のインデクスであるためである。
【0113】
[0125]少なくとも1つのプロセッサはまた、残高表105を監査して、トークンの支払/焼却がなされる必要があるか否かを判定し得る。言い換えれば、少なくとも1つのプロセッサは、新しい分割(1/2)が適用され、結果として発生する端数トークンが支払われた後に、トークン102が存在から排除されるか否か、およびいくつが排除されるかを決定し得る。これは、各トークン保有者についてbalanceOf()方法144(balanceOf(A)、balanceOf(B)、balanceOf(C))を呼び出すことを含み、これにより、アドレスA、B、およびCに対してそれぞれ、600、12.5、および37.5のnewBalance値が返される。整数の分割比(たとえば、2/1、3/1、4/1など)を伴う先渡分割の場合、端数トークン102が発生しないため、監査は実行されないことに留意されたい。
【0114】
[0126]アドレスBおよびアドレスCのnewBalanceは端数であるため、アドレスBおよびアドレスCに関連付けられたトークン保有者は、それらの端数トークンに対して支払/補償がなされる。具体的には、0.5であるアドレスBのトークンと、0.5であるアドレスCのトークン102とが支払われる。つまり、cashedOutTokenQuantity=0(アドレスAの場合)+0.5(アドレスBの場合)+0.5(アドレスCの場合)=1トークンが支払われる。したがって、少なくとも1つのプロセッサは、アドレスBおよびアドレスCのトークン保有者に、それぞれの半トークン102を補償するために、少なくとも1つのトランザクションを開始し得る。いくつかの構成では、1つは、アドレスBに関連付けられたトークンホルダに、0.5トークンの市場価値を移動し、もう1つは、アドレスCに関連付けられたトークンホルダに、0.5トークンの市場価値を移動する2つの異なるトランザクションが実行される。あるいは、アドレスBとアドレスCとの両方に関連付けられているホルダが、単一のトランザクションにおいて補償され得る。補償トランザクションは、暗号通貨(たとえば、イーサリアム)の移動を含み得、分散型台帳122(たとえば、イーサリアムブロックチェーン)に記録され得る。
【0115】
[0127]任意選択で、少なくとも1つのプロセッサは、新しい分割後に端数トークンの支払/焼却がなされるアドレスの(たとえば、残高表105における)トークン残高を更新し得る。上記の例では、これは、アドレスBおよびアドレスCの更新残高方法146(updateBalances())を呼び出して、各トークン残高を0に更新することを含み得る。いくつかの構成では、トークンの支払/焼却は、transfer()方法109の呼出を含み得る。
【0116】
[0128]少なくとも1つのプロセッサはまた、新しい分割後に未処理の証券トークン102の総数を更新することができ、すなわち、新しい分割に応じて支払/焼却がなされたトークンの数(cashedOutTokenQuantity)だけ、未処理の証券トークン102の総数を減らすことができる。これには、SplitTotalSupply(cashedOutTokenQuantity))方法148の呼出を含み得る。
【0117】
[0129]少なくとも1つのプロセッサはまた、(1/2の)新しい分割後、いずれかのトークン保有者を、残高表105から削除する必要があるか否かをチェックし得る。この例では、各アドレスは、新しい分割後も、少なくとも1つのトークンを保有しているため、トークン所有者/アドレスを、残高表105から削除する必要はない。しかしながら、新しい分割後に、アドレスZに0.5トークンしか含まれておらず、その後、そのトークンが支払われた場合、アドレスZは、たとえばremoveShareholder(Z)方法150の呼出によって、残高表から削除される。
【0118】
[0130]トークン分割を宣言するこの例示的な実施は、証券トークン102における残高表105におけるすべてのアドレスのトークン残高を実際に変更することなく実行される。言い換えれば、トークン分割のこの例示的な実施は、更新残高方法146を呼び出さない。したがって、トークン分割のこの例示的な実施は、(残高表105における)トークン残高が更新された場合に発生するであろうブロックチェーン関連の料金(ガス)を低減する。たとえば、holdersSplit[]は、トークンの分割に応じて更新されず、balanceOf()は無料で呼び出すことができる。(たとえば、以下の
図6A〜
図6Bで説明されているように)トークンがその後移動された場合にのみ、残高表のトークン残高が実際に更新されるため、ブロックチェーン関連の料金が発生する(そして、holdersSplit[]が更新される)。
【0119】
[0131]
図6Aは、たとえば、
図4の方法の例示的な実施したがって、トークントランザクションが実行される前の残高表105および分割データ構造を示すブロック図である。具体的には、
図6Aは、トークン102に対して新しい分割(1/2の分割比)が宣言された後の、
図5Bから発生する残高表105および分割データ構造を示す。
【0120】
[0132]次に、アドレスAに関連付けられたトークン保有者が、アドレスBに対して50トークンのトランザクションを開始すると仮定する。これは、アドレスAに関連付けられたトークン保有者が、transfer()方法109を呼び出すことを含み得る。たとえば、これは、トークン保有者のウォレットまたは他のコンピューティングデバイスから、transfer(アドレスB、50)を呼び出すことを含み得る。ネットワークノード140における少なくとも1つのプロセッサは、transfer(アドレスB、50)呼出を実行し得る。少なくとも1つのプロセッサは、トランザクションを呼び出すアドレス(アドレスA)を、譲渡人アドレスとして使用し得る。必要に応じて(すなわち、アドレスBがまだトークン保有者ではなかった場合)、少なくとも1つのプロセッサは、アドレスBを残高表105に追加するために、株主追加(たとえば、addShareholder())方法を呼び出すであろう。
【0121】
[0133]少なくとも1つのプロセッサは、その後、transfer(アドレスB、50)呼出を実行する一部として、更新残高方法146(たとえば、updateBalances(A、B))を呼び出し得る。少なくとも1つのプロセッサは、updateBalances(A、B)呼出の実行の一部としてbalanceOf(A)およびbalanceOf(B)を呼び出すことができ、これにより、それぞれ300(150
*4
*1/2)および(25
*1/2−(すでに支払われた)0.5)のnewBalance値を返す。
【0122】
[0134]アドレスA(300)およびアドレスB(12)について返されたnewBalance値を使用して、少なくとも1つのプロセッサは、その後、たとえば、分散型台帳122に記録される、残高表におけるアドレスAおよびアドレスBのトークン残高を更新し得る。具体的には、少なくとも1つのプロセッサは、支払人/譲渡人の残高を、newBalance−移動された量として更新することができ、すなわち、少なくとも1つのプロセッサは、アドレスAのトークン残高を、300−50=250に更新する。少なくとも1つのプロセッサは、newBalance+移動された量として受取人/譲受人の残高を更新することができ、すなわち、少なくとも1つのプロセッサは、アドレスBのトークン残高を、12+50=62に更新する。いくつかの構成では、トークン残高は、transfer方法109の一部として(たとえば、updateBalance()を使用して)更新され得る。
【0123】
[0135]
図6Bは、たとえば、
図4の方法の例示的な実施にしたがって、トークントランザクションが実行された後の残高表105および分割データ構造を示すブロック図である。(アドレスAからアドレスBへの50トークンの)トークントランザクションの後、残高表105が更新される。具体的には、アドレスAの残高は、300−移動された50トークン=250に更新される。アドレスBの残高も、12+受け取られた50トークン=62に更新される。残高の更新には、分散型台帳122へトランザクションをコミットすることを含み得る。アドレスCは、トークントランザクションに関与していないため、アドレスCの残高は変更されない。
【0124】
[0136]それに加えて、holdersSplitデータ構造は、トークントランザクション後、たとえば、holdersSplit[A]=holdersSplit[B]=3のように、アドレスAおよびアドレスBについて更新される、アドレスCがトークントランザクションに関与していないため、holdersSplitデータ構造は、アドレスCについて更新されない。
コンピュータシステムの概要
[0137]本開示の実施形態は、上記で説明される様々なステップおよび動作を含む。これらの様々なステップおよび動作は、ハードウェア構成要素によって実行される場合もあれば、マシン実行可能命令で具体化される場合もあり、これらの命令を使用してこれらの命令でプログラムされた汎用または専用プロセッサにステップを実行させることができる。あるいは、ステップは、ハードウェア、ソフトウェア、および/またはファームウェアの組合せによって実行され得る。したがって、
図7は、本開示の実施形態が利用され得る例示的なコンピュータシステム700を示すブロック図である。本例によれば、コンピュータシステム700は、相互接続702、少なくとも1つのプロセッサ704、少なくとも1つの通信ポート706、少なくとも1つのメインメモリ708、少なくとも1つのリムーバブルストレージ媒体710、少なくとも1つの読取専用メモリ712、および少なくとも1つの大容量ストレージデバイス714を含む。
【0125】
[0138]少なくとも1つのプロセッサ704は、任意の既知のプロセッサとすることができる。少なくとも1つの通信ポート706は、たとえば、モデムベースのダイヤルアップ接続で使用するためのRS−232ポート、10/100イーサネットポート、または銅線またはファイバを使用するギガビットポートのいずれかとすることができるか、またはこれらを含むことができる。少なくとも1つの通信ポート706の性質は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはコンピュータシステム700が接続する任意のネットワークなどのネットワークに応じて選択され得る。少なくとも1つのメインメモリ708は、ランダムアクセスメモリ(RAM)、または当技術分野で一般に知られている他の任意の動的ストレージデバイスとすることができる。少なくとも1つの読取専用メモリ712は、少なくとも1つのプロセッサ704の命令などの静的情報を格納するためのプログラマブル読取専用メモリ(PROM)チップなどの任意の静的ストレージデバイスとすることができる。
【0126】
[0139]少なくとも1つの大容量ストレージデバイス714を使用して、情報および命令を記憶できる。例では、ハードディスク(シリアル/パラレルATAまたはSCSIインターフェースを使用する磁気ディスクドライブ、または、ソリッドステートドライブなど)、光ディスク、レイド(RAID)などのディスクアレイ、または他の任意の大容量ストレージデバイスが使用され得る。相互接続702は、1つまたは複数のバス、ブリッジ、コントローラ、アダプタ、および/またはポイントツーポイント接続とすることができるか、またはこれらを含むことができる。相互接続702は、少なくとも1つのプロセッサ704を、他のメモリ、ストレージ、および通信ブロックと、通信可能に結合する。相互接続702は、使用されるストレージデバイスに応じて、PCI/PCI−XまたはSCSIベースのシステムバスとすることができる。少なくとも1つのリムーバブルストレージ媒体710は、任意の種類の外付ハードドライブ、フロッピードライブ、コンパクトディスク読取専用メモリ(CD−ROM)、コンパクトディスク再書込可能(CD−RW)、デジタルビデオディスク読取専用メモリ(DVD−ROM)、ブルーレイディスク読取専用メモリ(BD−ROM)、ブルーレイディスク記録可能(BD−R)、ブルーレイディスク記録可能消去可能(BD−RE)とすることができる。
【0127】
[0140]上記で説明される構成要素は、いくつかの種別の可能性を例示することが意図される。前述の例は、単なる典型的な実施形態であるため、決して開示を限定するべきではない。
【0128】
[0141]
図8は、本開示の実施形態が利用され得る別の例示的なコンピューティングデバイス800を示すブロック図である。例示的なコンピューティングデバイス800は、グローバルレジストリ108、所有者112、発行者114、保管人116、ブローカディーラ118、投資家120、分散型台帳122のコピーを格納するネットワークノード140のうちの1つのネットワークノード、証券トークン交換部124、および/または本明細書で説明されるスマートコントラクトのいずれかを実行する仮想マシン(たとえば、イーサリアム仮想マシン)のうちのいずれかを実施するために使用され得る。コンピューティングデバイス800は、少なくとも1つのメモリ802、少なくとも1つのプロセッサ804、任意選択の少なくとも1つのネットワークインターフェース806、任意選択のディスプレイデバイス808、任意選択の入力デバイス810、および任意選択の電源812を含む。
【0129】
[0142]例では、少なくとも1つのメモリ802は、情報を格納するために使用される任意のデバイス、メカニズム、または入力されたデータ構造とすることができる。例では、少なくとも1つのメモリ802は、任意の種別の揮発性メモリ、不揮発性メモリ、および/または動的メモリとすることができるか、またはそれらを含むことができる。例では、少なくとも1つのメモリ802は、ランダムアクセスメモリ、メモリストレージデバイス、光メモリデバイス、磁気媒体、フロッピーディスク、磁気テープ、ハードドライブ、消去可能プログラマブル読取専用メモリ(EPROM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM)、光学媒体(コンパクトディスク、DVD、ブルーレイディスクなど)などとすることができる。
【0130】
[0143]いくつかの実施形態によれば、少なくとも1つのメモリ802は、1つまたは複数のディスクドライブ、フラッシュドライブ、1つまたは複数のデータベース、1つまたは複数のテーブル、1つまたは複数のファイル、ローカルキャッシュメモリ、プロセッサキャッシュメモリ、リレーショナルデータベース、フラットデータベースなどを含み得る。それに加えて、当業者は、少なくとも1つのメモリ802として使用することができる、情報を記憶するための多くの追加のデバイスおよび技法を認識する。少なくとも1つのメモリ802は、少なくとも1つのプロセッサ804において1つまたは複数のアプリケーションまたはモジュールを実行するための命令を格納するために使用され得る。例では、少なくとも1つのメモリ802を、1つまたは複数の例において使用して、たとえば
図3〜
図4において、本明細書で説明する機能を実行するために必要な命令のすべてまたは一部を収容できる。
【0131】
[0144]少なくとも1つのプロセッサ804は、汎用プロセッサ(GPP)または特殊目的(フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)または他の集積回路または回路構成など)、または任意のプログラマブルロジックデバイスのような任意の既知のプロセッサとすることができる。例では、(たとえば、
図3〜
図4において)本明細書で開示される機能のいずれかは、少なくとも1つのプロセッサ804および少なくとも1つのメモリ802によって実施され得る。
【0132】
[0145]例では、少なくとも1つの任意選択のネットワークインターフェース806は、ネットワーク(システム100の少なくとも1つのネットワーク112のうちの1つなど)と通信するための少なくとも1つの任意選択のアンテナを含むか、またはそれに結合される。例では、少なくとも1つの任意選択のネットワークインターフェース806は、イーサネットインターフェース、セルラ無線アクセス技術(RAT)無線、Wi−Fi無線、ブルートゥース無線、または近距離通信(NFC)無線のうちの少なくとも1つを含む。例では、少なくとも1つの任意選択のネットワークインターフェース806は、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を用いて、遠隔サーバと、十分な速度のセルラデータ接続(モバイルインターネット)を確立するために構成されるセルラ無線アクセス技術無線を含む。例では、セルラ無線アクセス技術は、パーソナル通信サービス(PCS)、特殊移動無線(SMR)サービス、拡張特殊移動無線(ESMR)サービス、高度ワイヤレスサービス(AWS)、符号分割多元接続(CDMA)、グローバル移動体通信システム(GSM)サービス、広帯域符号分割多元接続(W−CDMA)、ユニバーサルモバイルテレコミュニケーションシステム(UMTS)、ワールドワイド相互運用性フォーマイクロ波アクセス(WiMAX)、第3世代パートナーシッププロジェクト(3GPP)ロングタームエボリューション(LTE)、高速パケットアクセス(HSPA)、第3世代(3G)、第4世代(4G)、第5世代(5G)など、または他の適切な通信サービスまたはそれらの組合せのうちの少なくとも1つを含む。例では、少なくとも1つの任意選択のネットワークインターフェース806は、広域ネットワークではなく、遠隔サーバと通信するワイヤレスローカルエリアネットワークと通信するように構成されたWi−Fi(IEEE802.11)無線を含む。例では、少なくとも1つの任意選択のネットワークインターフェース806は、パッシブ近距離通信(NFC)タグ、アクティブ近距離通信(NFC)タグ、パッシブ無線周波数識別(RFID)タグ、アクティブ無線周波数識別(RFID)タグ、近接カード、または他のパーソナルエリアネットワークデバイスなどの近接通信に限定される近距離無線通信デバイスを含む。
【0133】
[0146]例では、任意選択の少なくとも1つのディスプレイデバイス808は、発光ダイオード(LED)、液晶ディスプレイ(LDC)、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、e−inkディスプレイ、フィールドエミッションディスプレイ(FED)、表面伝導電子エミッタディスプレイ(SED)、またはプラズマディスプレイのうちの少なくとも1つを含む。例では、任意選択の少なくとも1つの入力デバイス810は、タッチスクリーン(容量性および抵抗性タッチスクリーンを含む)、タッチパッド、容量性ボタン、機械式ボタン、スイッチ、ダイヤル、キーボード、マウス、カメラ、バイオメトリックセンサ/スキャナ、マイクロフォンなどのうちの少なくとも1つを含む。例では、任意選択の少なくとも1つのディスプレイデバイス808は、コンピューティングデバイス800とのユーザ相互作用のために、任意選択の少なくとも1つの入力デバイス810と、ヒューマンマシンインターフェース(HMI)に組み合わされる。例では、少なくとも1つの任意選択の電源812が、コンピューティングデバイス800の様々な構成要素に電力を供給するために使用される。
用語
[0147]本出願全体で使用される用語、略語、および句の簡単な定義を以下に示す。
【0134】
[0148]「判定すること」という用語は、計算すること、算出すること、生成すること、処理すること、導出すること、調査すること、検索すること(たとえば、テーブル、データベース、または別のデータ構造において検索すること)、確認することなどを含み得る。また、「判定すること」はまた、受信すること(たとえば、情報を受信すること)、アクセスすること(たとえば、メモリ内のデータへアクセスすること)などを含み得る。また、「判定すること」は、解決すること、選択すること、選ぶこと、確立することなどを含み得る。
【0135】
[0149]「〜に基づく」という句は、特に明記しない限り、「〜のみに基づく」を意味しない。言い換えれば、「〜に基づく」という句は、「〜のみに基づく」と「少なくとも〜に基づく」との両方を説明する。それに加えて、「〜に基づく」という句は、中間ステップを排除せず、たとえば、AはCに基づくは、BはCに基づき、AはBに基づくことを意味し得る。それに加えて、「および/または」という用語は、「および」または「または」を意味する。例では、「Aおよび/またはB」は、「A」、「B」、または「AおよびB」を意味することができる。それに加えて、「A、B、および/またはC」は、「Aのみ」、「Bのみ」、「Cのみ」、「AおよびB」、「AおよびC」、「BおよびC」、または「A、B、およびC」を意味することができる。
【0136】
[0150]「接続された」、「結合された」、および「通信的に結合された」という用語および関連する用語は、動作上の意味で使用され、必ずしも直接の物理的接続または結合に限定されない。したがって、例では、2つのデバイスは、直接、または1つまたは複数の中間媒体またはデバイスを介して結合され得る。別の例として、デバイスは、相互に物理的接続を共有せずに、情報がそれらの間で受け渡されることができるように結合され得る。本明細書で提供される開示に基づいて、当業者は、前述の定義にしたがって接続または結合が存在する様々な手法を認識するであろう。
【0137】
[0151]「典型的な実施形態において」、「例示的な実施形態において」、「いくつかの実施形態において」、「いくつかの実施形態による」、「示された実施形態において」、「他の実施形態において」、「実施形態」、「例において」、「例」、「いくつかの例において」、「いくつかの例」などの句は、一般に、句に続く特定の特徴、構造、または特性が、本開示の少なくとも1つの実施形態に含まれることを意味し、本開示の1つよりも多くの実施形態に含まれ得ることを意味する。さらに、そのような句は、必ずしも同じ実施形態または異なる実施形態を指すとは限らない。
【0138】
[0152]明細書が、構成要素または特徴が、「含まれ得る」、「含まれる可能性がある」、「含まれる可能性があった」、または「含まれるかもしれない」、または特性を「有し得る」、「有する可能性がある」、「有する可能性があった」、または「有するかもしれない」と述べている場合、その特定の構成要素または特徴は、含まれる必要がないか、または特徴を有する必要はない。
【0139】
[0153]「応答して」という用語は、完全にまたは部分的に応答することを含む。
[0154]「モジュール」という用語は、ソフトウェア、ハードウェア、またはファームウェア(またはそれらの任意の組合せ)構成要素を広く指す。モジュールは通常、指定された入力を使用して有用なデータまたは他の出力を生成できる機能構成要素である。モジュールは、自己完結型である場合と、そうでない場合とがある。アプリケーションプログラム(「アプリケーション」とも呼ばれる)は、1つまたは複数のモジュールを含み得るか、またはモジュールは、1つまたは複数のアプリケーションプログラムを含むことができる。
【0140】
[0155]「ネットワーク」という用語は、一般に、情報を交換できる相互接続されたデバイスのグループを指す。ネットワークは、ローカルエリアネットワーク(LAN)における数台のパーソナルコンピュータから、インターネット、コンピュータの世界的なネットワークまでの大きさの場合がある。本明細書で使用される場合、「ネットワーク」は、あるエンティティから別のエンティティに情報を送信できる任意のネットワークを包含することが意図される。場合によっては、ネットワークは、複数のネットワークによって、さらには、1つまたは複数の境界ネットワーク、音声ネットワーク、ブロードバンドネットワーク、金融ネットワーク、サービスプロバイダネットワーク、インターネットサービスプロバイダ(ISP)ネットワーク、および/または、公衆交換電話網(PSTN)のような、様々なネットワーク間の通信を容易にするように動作可能なゲートウェイを介して相互接続された複数の異種ネットワークによってでさえも構成され得る。
【0141】
[0156]また、例示のために、本開示の様々な実施形態は、コンピュータプログラム、物理的構成要素、および現代のコンピュータネットワーク内の論理的相互作用の文脈で本明細書で説明される。重要なことに、これらの実施形態は、最新のコンピュータネットワークおよびプログラムに関連して本開示の様々な実施形態を説明するが、本明細書で説明される方法および装置は、当業者が理解するように、他のシステム、デバイス、およびネットワークに等しく適用可能である。したがって、本開示の実施形態の例示された用途は、限定を意味するものではなく、例である。本開示の実施形態が適用可能である他のシステム、デバイス、およびネットワークは、例では、他の種別の通信およびコンピュータデバイスおよびシステムを含む。より具体的には、実施形態は、通信システム、サービス、およびセル電話ネットワークおよび互換性のあるデバイスなどのデバイスに適用可能である。それに加えて、実施形態は、パーソナルコンピュータから、大規模ネットワークのメインフレームおよびサーバまでのすべてのレベルのコンピューティングに適用可能である。
【0142】
[0157]結論として、本開示は、分割可能な証券トークンのための新規のシステム、方法、および構成を提供する。本開示の1つまたは複数の実施形態の詳細な説明が上述されているが、様々な代替、修正、および均等物が、本開示の精神から変化することなく、当業者に明らかであろう。例では、上記で説明される実施形態は特定の特徴を参照するが、本開示の範囲は、特徴の異なる組合せを有する実施形態、および説明された特徴のすべてを含む訳ではない実施形態も含む。したがって、本開示の範囲は、特許請求の範囲内にあるようなすべてのそのような代替、修正、および変形を、それらのすべての均等物とともに包含すると意図される。したがって、上記の説明は限定として見なされるべきではない。
実施形態の例
[0158]例1は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリと、少なくとも1つのプロセッサに通信可能に結合する少なくとも1つのネットワークインターフェースとを備えるネットワークノードを含み、ネットワークノードは、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおいて通信可能に結合された複数のネットワークノード内にあるように構成され、ネットワークノードは、少なくとも1つのネットワークインターフェースを介して、少なくとも1つの遠隔に位置するコンピューティングデバイスに通信可能に結合され、少なくとも1つのプロセッサは、分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定し、証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける少なくとも1つのアドレスのすべてのトークン残高を更新することなく、分割比の表示を格納するように構成される。
【0143】
[0159]例2は、例1のネットワークノードを含み、少なくとも1つのプロセッサは、第1のアドレスから第2のアドレスへの、ある量の証券トークンの新たな移動が要求されたことを判定し、少なくとも、分割比の格納された表示に基づいて、第1のアドレスおよび第2のアドレスのおのおのについて分割更新されたトークン残高を決定し、第1のアドレスおよび第2のアドレスの、分割更新された残高に基づいて、第1のアドレスおよび第2のアドレスのトークン残高を更新するようにさらに構成される。
【0144】
[0160]例3は、例1〜例2のいずれかのネットワークノードを含み、少なくとも1つのプロセッサは、すべての分割が、第1のアドレスおよび第2のアドレスのトークン残高において考慮されたとの表示を格納するようにさらに構成される。
【0145】
[0161]例4は、例1〜例3のいずれかのネットワークノードを含み、少なくとも1つのプロセッサは、新しい分割に応じて支払われる証券トークンの数を決定し、少なくとも1つのトランザクションを開始して、新しい分割後に端数証券トークンを有する、アドレスに関連付けられた各証券トークン保有者に、それぞれの端数証券トークンを補償するようにさらに構成される。
【0146】
[0162]例5は、例4のネットワークノードを含み、少なくとも1つのプロセッサは、新しい分割後、未処理の証券トークンの総数を更新し、証券トークンのうちの少なくとも1つの証券トークンを保有しているアドレスのリストから、新しい分割後に、1つ未満の証券トークンを有する、少なくとも1つのアドレスのおのおのを削除するようにさらに構成される。
【0147】
[0163]例6は、例1〜例5のいずれかのネットワークノードを含み、証券トークンは、おのおのが外部の取引可能な資産を表す暗号トークンである。
[0164]例7は、例1〜例6のいずれかのネットワークノードを含み、証券トークンは、発信元のスマートコントラクトを使用して実施される。
【0148】
[0165]例8は、例2〜例7のいずれかのネットワークノードを含み、第1のアドレスおよび第2のアドレスのおのおのについて、分割更新されたトークン残高を決定することは、ブロックチェーン関連の料金を発生させない。
【0149】
[0166]例9は、例2〜例8のいずれかのネットワークノードを含み、第1のアドレスおよび第2のアドレスのトークン残高を更新することは、ブロックチェーン関連の料金を発生させる。
【0150】
[0167]例10は、例1〜例9のいずれかのネットワークノードを含み、少なくとも1つのプロセッサは、マルチオブジェクトデータ構造における証券トークンの履歴に、すべての分割の分割比を格納するようにさらに構成される。
【0151】
[0168]例11は、例10のネットワークノードを含み、少なくとも1つのプロセッサは、証券トークンのうちの少なくとも1つの証券トークンを保有する各アドレスについて、マルチオブジェクトデータ構造へアドレス固有のインデクスを維持するようにさらに構成され、各アドレス固有のインデクスは、それぞれのアドレスに関連付けられたトークン残高に直近に適用された分割比を示す。
【0152】
[0169]例12は、例10〜例11のいずれかのネットワークノードを含み、少なくとも1つのプロセッサは、証券トークンの直近の分割を示す、マルチオブジェクトデータ構造へ現在のインデクスを維持するようにさらに構成される。
【0153】
[0170]例13は、自己執行型証券トークンを移動するためのコンピュータ化された方法を含み、コンピュータ化された方法は、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおける複数のネットワークノード内に含まれるように構成されたネットワークノードによって実行され、ネットワークノードは、ピアツーピアネットワークにおける他のネットワークノードに通信可能に結合されるように構成され、コンピュータ化された方法は、分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定するステップと、証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける少なくとも1つのアドレスのすべてのトークン残高を更新することなく、分割比の表示を格納するステップとを備える。
【0154】
[0171]例14は、例13の方法を含み、第1のアドレスから第2のアドレスへの、ある量の証券トークンの新たな移動が要求されたことを判定するステップと、少なくとも、分割比の格納された表示に基づいて、第1のアドレスおよび第2のアドレスのおのおのについて分割更新されたトークン残高を決定するステップと、第1のアドレスおよび第2のアドレスの、分割更新された残高に基づいて、第1のアドレスおよび第2のアドレスのトークン残高を更新するステップとをさらに備える。
【0155】
[0172]例15は、例13〜例14のいずれかの方法を含み、すべての分割が、第1のアドレスおよび第2のアドレスのトークン残高において考慮されたとの表示を格納するステップをさらに備える。
【0156】
[0173]例16は、例13〜例15のいずれかの方法を含み、新しい分割に応じて支払われる証券トークンの数を決定するステップと、少なくとも1つのトランザクションを開始して、新しい分割後に端数証券トークンを有する、アドレスに関連付けられた各証券トークン保有者に、それぞれの端数証券トークンを補償するステップとをさらに備える。
【0157】
[0174]例17は、例16の方法を含み、新しい分割後、未処理の証券トークンの総数を更新するステップと、証券トークンのうちの少なくとも1つの証券トークンを保有しているアドレスのリストから、新しい分割後に、1つ未満の証券トークンを有する、少なくとも1つのアドレスのおのおのを削除するステップとをさらに備える。
【0158】
[0175]例18は、例13〜例17のいずれかの方法を含み、証券トークンは、おのおのが外部の取引可能な資産を表す暗号トークンである。
[0176]例19は、例13〜例18のいずれかの方法を含み、証券トークンは、発信元のスマートコントラクトを使用して実施される。
【0159】
[0177]例20は、例14〜例19のいずれかの方法を含み、第1のアドレスおよび第2のアドレスのおのおのについて、分割更新されたトークン残高を決定するステップは、ブロックチェーン関連の料金を発生させない。
【0160】
[0178]例21は、例14〜例20のいずれかの方法を含み、第1のアドレスおよび第2のアドレスのトークン残高を更新するステップは、ブロックチェーン関連の料金を発生させる。
【0161】
[0179]例22は、例13〜例21のいずれかの方法を含み、少なくとも1つのプロセッサは、マルチオブジェクトデータ構造における証券トークンの履歴に、すべての分割の分割比を格納するようにさらに構成される。
【0162】
[0180]例23は、例22の方法を含み、証券トークンのうちの少なくとも1つの証券トークンを保有する各アドレスについて、マルチオブジェクトデータ構造へアドレス固有のインデクスを維持するステップをさらに備え、各アドレス固有のインデクスは、それぞれのアドレスに関連付けられたトークン残高に直近に適用された分割比を示す。
【0163】
[0181]例24は、例22〜例23のいずれかの方法を含み、証券トークンの直近の分割を示す、マルチオブジェクトデータ構造へ現在のインデクスを維持するステップをさらに備える。
【手続補正書】
【提出日】2021年4月2日
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ネットワークノードであって、
少なくとも1つのプロセッサと、
前記少なくとも1つのプロセッサに通信可能に結合された少なくとも1つのメモリと、
前記少なくとも1つのプロセッサに通信可能に結合する少なくとも1つのネットワークインターフェースとを備え、
前記ネットワークノードは、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおいて通信可能に結合された複数のネットワークノード内にあるように構成され、
前記ネットワークノードは、前記少なくとも1つのネットワークインターフェースを介して、少なくとも1つの遠隔に位置するコンピューティングデバイスに通信可能に結合され、
前記少なくとも1つのプロセッサは、
前記分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定し、
前記証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける前記少なくとも1つのアドレスのすべてのトークン残高を更新することなく、前記分割比の表示を格納するように構成される、ネットワークノード。
【請求項2】
前記少なくとも1つのプロセッサは、
第1のアドレスから第2のアドレスへの、ある量の前記証券トークンの新たな移動が要求されたことを判定し、
少なくとも、前記分割比の前記表示に基づいて、前記第1のアドレスおよび前記第2のアドレスのおのおのについて分割更新されたトークン残高を決定し、
前記第1のアドレスおよび前記第2のアドレスのおのおのの、前記分割更新されたトークン残高に基づいて、前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項3】
前記少なくとも1つのプロセッサは、
すべての分割が、前記第1のアドレスおよび前記第2のアドレスの前記トークン残高において考慮されたとの表示を格納するようにさらに構成される、請求項2に記載のネットワークノード。
【請求項4】
前記少なくとも1つのプロセッサは、
前記新しい分割に応じて支払われる前記証券トークンの数を決定し、
少なくとも1つのトランザクションを開始して、前記新しい分割後に端数証券トークンを有する、アドレスに関連付けられた各証券トークン保有者に、それぞれの端数証券トークンを補償するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項5】
前記少なくとも1つのプロセッサは、
前記新しい分割後、未処理の証券トークンの総数を更新し、
前記証券トークンのうちの少なくとも1つの証券トークンを保有しているアドレスのリストから、前記新しい分割後に、1つ未満の証券トークンを有する、前記少なくとも1つのアドレスのおのおのを削除するようにさらに構成される、請求項4に記載のネットワークノード。
【請求項6】
前記証券トークンは、おのおのが外部の取引可能な資産を表す暗号トークンである、請求項1に記載のネットワークノード。
【請求項7】
前記証券トークンは、発信元のスマートコントラクトを使用して実施される、請求項1に記載のネットワークノード。
【請求項8】
前記第1のアドレスおよび前記第2のアドレスのおのおのについて、前記分割更新されたトークン残高を決定することは、ブロックチェーン関連の料金を発生させない、請求項2に記載のネットワークノード。
【請求項9】
前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新することは、ブロックチェーン関連の料金を発生させる、請求項2に記載のネットワークノード。
【請求項10】
前記少なくとも1つのプロセッサは、マルチオブジェクトデータ構造における前記証券トークンのすべての過去の分割の分割比を格納するようにさらに構成される、請求項1に記載のネットワークノード。
【請求項11】
前記少なくとも1つのプロセッサは、前記証券トークンのうちの少なくとも1つの証券トークンを保有する各アドレスについて、前記マルチオブジェクトデータ構造へアドレス固有のインデクスを維持するようにさらに構成され、各特定のアドレス固有のインデクスは、それぞれのアドレスに関連付けられたトークン残高に直近に適用された特定の分割比を示す、請求項10に記載のネットワークノード。
【請求項12】
前記少なくとも1つのプロセッサは、前記証券トークンの直近の分割を示す、前記マルチオブジェクトデータ構造へ現在のインデクスを維持するようにさらに構成される、請求項10に記載のネットワークノード。
【請求項13】
自己執行型証券トークンを移動するためのコンピュータ化された方法であって、前記コンピュータ化された方法は、分散型台帳を実施するネットワークノードのピアツーピアネットワークにおける複数のネットワークノード内に含まれるように構成されたネットワークノードによって実行され、前記ネットワークノードは、前記ピアツーピアネットワークにおける他のネットワークノードに通信可能に結合されるように構成され、前記コンピュータ化された方法は、
前記分散型台帳の少なくとも1つのアドレスに保有されている証券トークンの新しい分割の分割比を決定するステップと、
前記証券トークンのうちの少なくとも1つの証券トークンを保有するアドレスのリストにおける前記少なくとも1つのアドレスのすべてのトークン残高を更新することなく、前記分割比の表示を格納するステップとを備える、コンピュータ化された方法。
【請求項14】
第1のアドレスから第2のアドレスへの、ある量の前記証券トークンの新たな移動が要求されたことを判定するステップと、
少なくとも、前記分割比の前記表示に基づいて、前記第1のアドレスおよび前記第2のアドレスのおのおのについて分割更新されたトークン残高を決定するステップと、
前記第1のアドレスおよび前記第2のアドレスのおのおのの、前記分割更新されたトークン残高に基づいて、前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新するステップとをさらに備える、請求項13に記載のコンピュータ化された方法。
【請求項15】
すべての分割が、前記第1のアドレスおよび前記第2のアドレスの前記トークン残高において考慮されたとの表示を格納するステップをさらに備える、請求項14に記載のコンピュータ化された方法。
【請求項16】
前記新しい分割に応じて支払われる前記証券トークンの数を決定するステップと、
少なくとも1つのトランザクションを開始して、前記新しい分割後に端数証券トークンを有する、アドレスに関連付けられた各証券トークン保有者に、それぞれの端数証券トークンを補償するステップとをさらに備える、請求項13に記載のコンピュータ化された方法。
【請求項17】
前記新しい分割後、未処理の証券トークンの総数を更新するステップと、
前記証券トークンのうちの少なくとも1つの証券トークンを保有しているアドレスのリストから、前記新しい分割後に、1つ未満の証券トークンを有する、前記少なくとも1つのアドレスのおのおのを削除するステップとをさらに備える、請求項16に記載のコンピュータ化された方法。
【請求項18】
前記証券トークンは、おのおのが外部の取引可能な資産を表す暗号トークンである、請求項13に記載のコンピュータ化された方法。
【請求項19】
前記証券トークンは、発信元のスマートコントラクトを使用して実施される、請求項13に記載のコンピュータ化された方法。
【請求項20】
前記第1のアドレスおよび前記第2のアドレスのおのおのについて、前記分割更新されたトークン残高を決定するステップは、ブロックチェーン関連の料金を発生させない、請求項14に記載のコンピュータ化された方法。
【請求項21】
前記第1のアドレスおよび前記第2のアドレスのトークン残高を更新するステップは、ブロックチェーン関連の料金を発生させる、請求項14に記載のコンピュータ化された方法。
【請求項22】
前記少なくとも1つのプロセッサは、マルチオブジェクトデータ構造における前記証券トークンの履歴に、すべての分割の分割比を格納するようにさらに構成される、請求項13に記載のコンピュータ化された方法。
【請求項23】
前記証券トークンのうちの少なくとも1つの証券トークンを保有する各アドレスについて、前記マルチオブジェクトデータ構造へアドレス固有のインデクスを維持するステップをさらに備え、各特定のアドレス固有のインデクスは、それぞれのアドレスに関連付けられたトークン残高に直近に適用された特定の分割比を示す、請求項22に記載のコンピュータ化された方法。
【請求項24】
前記証券トークンの直近の分割を示す、前記マルチオブジェクトデータ構造へ現在のインデクスを維持するステップをさらに備える、請求項22に記載のコンピュータ化された方法。
【国際調査報告】