JP2020515940A - サービス実行方法およびデバイス - Google Patents

サービス実行方法およびデバイス Download PDF

Info

Publication number
JP2020515940A
JP2020515940A JP2019541111A JP2019541111A JP2020515940A JP 2020515940 A JP2020515940 A JP 2020515940A JP 2019541111 A JP2019541111 A JP 2019541111A JP 2019541111 A JP2019541111 A JP 2019541111A JP 2020515940 A JP2020515940 A JP 2020515940A
Authority
JP
Japan
Prior art keywords
block
service
user device
blockchain
service platform
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019541111A
Other languages
English (en)
Other versions
JP6727633B2 (ja
Inventor
チャン・タン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of JP2020515940A publication Critical patent/JP2020515940A/ja
Application granted granted Critical
Publication of JP6727633B2 publication Critical patent/JP6727633B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Abstract

サービス実行方法およびデバイスが開示される。方法によれば、端末によって送られた資格取得要求を受信した後、サービスプラットフォームが、事前設定された時間に達したときにだけ端末にブロック生成規則を返すのではなく、端末にブロック生成規則を返し得、その結果、事前設定された時間の前に端末がサービスプラットフォームに資格取得要求を送るとしても、サービスプラットフォームは、依然として端末にブロック生成規則を返す。言い換えれば、サービスプラットフォームは、時間に従ってサービス資格取得に参加するユーザを分離し、その結果、あるユーザは、事前設定された時間の前にブロック生成規則を取得し得、したがってユーザは、事前設定された時間に達したとき、取得したブロック生成規則に従ってサービスに参加し得る。このようにして、事前設定された時間に達したときにサービスプラットフォームのアクセス圧力が大いに軽減され、事前設定された時間に達したときにサービスプラットフォームの正常な実行が保証される。

Description

本願は、コンピュータ技術の分野に関し、詳細には、サービス実行方法およびデバイスに関する。
コンピュータ技術の連続的な発展と共に、複数の新興のサービスパターンが相次いで現れている。これらの新興のサービスパターンはユーザのサービス実行を容易にし、パターンの革新により、サービス実行プロセスにおいて真新しい体験がユーザにもたらされる。
現在、これらの新興のサービスパターンにおいて、フラッシュセールなどのいくつかのサービスは、特に魅力的で人気がある。ユーザは、サービスによって指定された時間内の競合を通じた低価格で、サービスを実行するための資格を取得し得る。
実際には、現瞬間がサービスの所定の瞬間であることをサービスプラットフォームが検出すると、サービスの資格取得活動に参加するためのウィンドウがすべてのユーザに開かれる。それに対応して、すべてのユーザは、サービスを求める資格取得要求をこの時にサービスプラットフォームに送り得、サービスプラットフォームは、資格取得要求を送るユーザから数人のユーザを選択し、選択したユーザにサービスを実行する資格を授与し得る。
たとえば、商品フラッシュセール(ここで述べる商品セキル(seckill)は、ユーザのためにサービスプラットフォームによって提供されるサービスである)では、エンドユーザデバイスを使用することによって商品フラッシュセールが開始する(言い換えれば、サービスの所定の瞬間が到来する)ことを発見したとき、すべてのユーザが商品セキル要求(すなわち、以前の資格取得要求)を、商品フラッシュセールを提供するサービスプラットフォームに送り、サービスプラットフォームは、商品セキル要求を送る最初の数人のユーザに、商品を首尾よくセキルする資格を授与する(言い換えれば、サービスを実行するための資格を授与する)。確かに、商品フラッシュセールが開始した後、サービスプラットフォームは、すべてのユーザによって送られた商品セキル要求を最初に継続的に受け取り得、商品セキル要求を受信するためのデッドラインが到来したとき、この期間内に商品セキル要求を送るユーザから数人のユーザをランダムに選択し、選択したユーザに商品セキル資格を授与し得る。
時には、所定の瞬間が到来したとき、サービスプラットフォームは、サービスを求める多数のユーザによって送られる資格取得要求を瞬間的に受信する。したがって、サービスプラットフォームは、この期間内に多量のアクセス圧力に直面し、それによってサービスプラットフォームの運用障害が引き起こされ、サービス実行効率が低下する。
本願の実装は、所定の瞬間が到来したときにサービスプラットフォームが比較的高いアクセス圧力に直面するという既存の技術における問題を軽減するためのサービス実行システムを提供する。
本願の一実装は、ノードによって第1のブロックを継続的に生成し、ブロックチェーン上に第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対してブロックチェーンを提供すること、エンドユーザデバイスによってサービスプラットフォームからブロック生成規則を取得し、ブロックチェーンに基づいて、ブロック生成規則に合致する前処理ブロックを生成すること、エンドユーザデバイスによって、1つまたは複数の他のエンドユーザデバイスおよびノードを使用することによって前処理ブロックに対してコンセンサス手順を実施し、前処理ブロックに対してコンセンサスが達成されると判定した後、ブロックチェーン上に前処理ブロックを第2のブロックとして記憶すること、所定の条件が満たされると判定したとき、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間でのブロックチェーンの少なくとも一部をサービスプラットフォームによって取得すること、所定の瞬間に基づいて、取得した現瞬間でのブロックチェーンから第1のブロックをサービスプラットフォームによって決定し、決定した第1のブロックに基づいて第2のブロックを選択すること、および選択した第2のブロック内に含まれるユーザ識別子に基づいて、サービスプラットフォームによってサービスを実行することを含むサービス実行方法を提供する。
本願の実装は、所定の瞬間が到来したときにサービスプラットフォームが比較的高いアクセス圧力に直面するという既存の技術における問題を軽減するためのサービス実行方法を提供する。
本願の一実装は、ノードが第1のブロックを継続的に生成し、ブロックチェーン上に第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対してブロックチェーンを提供する、サービス実行方法であって、サービスプラットフォームによって、エンドユーザデバイスによって送られた資格取得要求を受信すること、資格取得要求に基づいてエンドユーザデバイスにブロック生成規則を返し、その結果、エンドユーザデバイスが、ブロックチェーンおよびブロック生成規則に基づいて第2のブロックを生成し、ブロックチェーン上に第2のブロックを記憶すること、所定の条件が満たされると判定したとき、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間でのブロックチェーンの少なくとも一部を取得すること、所定の瞬間に基づいて、取得した現瞬間でのブロックチェーンから第1のブロックを決定し、決定した第1のブロックに基づいて第2のブロックを選択すること、および選択した第2のブロック内に含まれるユーザ識別子に基づいてサービスを実行することを含む方法を提供する。
本願の実装は、所定の瞬間が到来したときにサービスプラットフォームが比較的高いアクセス圧力に直面するという既存の技術における問題を軽減するためのサービス実行デバイスを提供する。
本願の一実装は、ノードが第1のブロックを継続的に生成し、ブロックチェーン上に第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対してブロックチェーンを提供する、サービス実行デバイスであって、エンドユーザデバイスによって送られた資格取得要求を受信するように構成された受信モジュールと、資格取得要求に基づいてエンドユーザデバイスにブロック生成規則を返すように構成された返しモジュールであって、その結果、エンドユーザデバイスが、ブロックチェーンおよびブロック生成規則に基づいて第2のブロックを生成し、ブロックチェーン上に第2のブロックを記憶する、返しモジュールと、所定の条件が満たされると判定したとき、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間でのブロックチェーンの少なくとも一部を取得するように構成された取得モジュールと、所定の瞬間に基づいて、取得した現瞬間でのブロックチェーンから第1のブロックを決定し、決定した第1のブロックに基づいて第2のブロックを選択するように構成された選択モジュールと、選択した第2のブロック内に含まれるユーザ識別子に基づいてサービスを実行するように構成された実行モジュールとを含むデバイスを提供する。
本願の実装は、所定の瞬間が到来したときにサービスプラットフォームが比較的高いアクセス圧力に直面するという既存の技術における問題を軽減するためのサービス実行方法を提供する。
本願の一実装は、ノードが第1のブロックを継続的に生成し、ブロックチェーン上に第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対してブロックチェーンを提供する、サービス実行方法であって、エンドユーザデバイスによってサービスプラットフォームに資格取得要求を送り、その結果、サービスプラットフォームがエンドユーザデバイスにブロック生成規則を返すこと、ブロックチェーンおよびブロック生成規則に基づいて前処理ブロックを生成すること、1つまたは複数の他のエンドユーザデバイスおよびノードを使用することによって前処理ブロックに対してコンセンサス手順を実施し、コンセンサスが達成される前処理ブロックを第2のブロックとしてブロックチェーン上に記憶すること、およびサービスプラットフォームによって送られた資格確認情報を受信したとき、エンドユーザデバイスによって記憶されている現瞬間でのブロックチェーンをサービスプラットフォームに送り、その結果、サービスプラットフォームが、現瞬間でのブロックチェーン上の第1のブロックおよび第2のブロックに基づいてサービスを実行することを含む方法を提供する。
本願の実装は、所定の瞬間が到来したときにサービスプラットフォームが比較的高いアクセス圧力に直面するという既存の技術における問題を軽減するためのサービス実行デバイスを提供する。
本願の一実装は、ノードが第1のブロックを継続的に生成し、ブロックチェーン上に第1のブロックを記憶し、ブロック生成規則を取得するデバイスに対してブロックチェーンを提供する、サービス実行デバイスであって、サービスプラットフォームに資格取得要求を送るように構成された送信モジュールであって、その結果、サービスプラットフォームがデバイスにブロック生成規則を返す、送信モジュールと、ブロックチェーンおよびブロック生成規則に基づいて前処理ブロックを生成するように構成された生成モジュールと、1つまたは複数の他のエンドユーザデバイスおよびノードを使用することによって前処理ブロックに対してコンセンサス手順を実施し、コンセンサスが達成される前処理ブロックを第2のブロックとしてブロックチェーン上に記憶するように構成されたコンセンサスモジュールと、サービスプラットフォームによって送られた資格確認情報を受信したとき、デバイスによって記憶されている現瞬間でのブロックチェーンをサービスプラットフォームに送るように構成された受信モジュールであって、その結果、サービスプラットフォームが、現瞬間でのブロックチェーン上の第1のブロックおよび第2のブロックに基づいてサービスを実行する、受信モジュールとを含むデバイスを提供する。
本願の実装において使用される以前の技術的解決策のうちの少なくとも1つが、以下の有益な効果を達成し得る。
本願の実装では、エンドユーザデバイスによって送られた資格取得要求を受信した後、サービスプラットフォームは、所定の瞬間が到来したときにだけエンドユーザデバイスにブロック生成規則を返すのではなく、エンドユーザデバイスにブロック生成規則を返し得る。したがって、エンドユーザデバイスが所定の瞬間の前にサービスプラットフォームに資格取得要求を送る場合であっても、サービスプラットフォームは、依然としてエンドユーザデバイスにブロック生成規則を返す。言い換えれば、サービスプラットフォームは、サービス資格を取得することに参加するユーザを時間の点で分離し得、その結果、あるユーザは、所定の瞬間の前にブロック生成規則を取得し、次いで所定の瞬間が到来したとき、取得したブロック生成規則に基づいてサービスに参加し得る。
さらに、サービスを実行するユーザを選択するとき、サービスプラットフォームは、ブロックチェーン上に含まれる第1のブロックを時間基準として使用することによって第2のブロックを選択し、選択した第2のブロックに基づいて、サービスを実行するユーザを決定し得る。したがって、エンドユーザデバイスがサービスを実行するために様々な時点においてブロック生成規則を取得し得る場合であっても、エンドユーザデバイスは、時間基準(例えば、第1のブロック)に基づいて、ブロック生成規則を満たす第2のブロックを生成し得る。したがって、所定の瞬間が到来したときにサービスプラットフォームが直面するアクセス圧力が大いに軽減され得るだけではなく、所定の瞬間が到来した後のサービスプラットフォームの正常な実行も保証され得る。エンドユーザデバイスを使用することによってユーザがサービスを実行し得る場合、所定の瞬間の前にエンドユーザデバイスを使用することによってブロック生成規則が取得される場合であっても、ブロック生成規則を満たす第2のブロックを生成する必要があるのは、所定の瞬間が到来したときだけであることがさらに保証され得、それによってサービス実行の公平性が保証される。
ここで説明する添付の図面は、本願のより一層の理解を与えるためのものであり、本願の一部を構成する。本願の例示的実装およびその説明は、本願を説明するためのものであり、本願に関する限定を構成するものではない。
本願の一実装による、サービス実行システムを示す概略図である。 本願の一実装による、サービス実行プロセスを示す概略図である。 本願の一実装による、サービスによって指定される所定の瞬間の後に生成される、ブロックチェーンの一部を示す概略図である。 本願の一実装による、サービス実行デバイスを示す概略図である。 本願の一実装による、別のサービス実行デバイスを示す概略図である。
本願の実装では、図1に示されるように、サービスプラットフォーム、少なくとも1つのノード、および少なくとも1つのエンドユーザデバイスがサービス実行システムを形成し得る。
図1は、本願の一実装による、サービス実行システムを示す概略図である。
図1に示されるシステムでは、サービスプラットフォームは、実行すべきサービスをユーザに提供し、エンドユーザデバイスを使用することによってユーザによって送られる、サービスを求める資格取得要求を受信したとき、対応するブロック生成規則をエンドユーザデバイスに返し得、その結果、ブロック生成規則を受信するエンドユーザデバイスが、サービスを実行する機会を有し得る。後に、サービスプラットフォームは、資格取得要求を送るノードまたは少なくとも1つのエンドユーザデバイスからブロックチェーンを取得し、サービスを実行するユーザをブロックチェーンから決定する必要がある。
システム内に少なくとも1つのノードが存在し得、これらのノードは小規模コンセンサスネットワークを形成し得る。各ノードは継続的に前処理ブロックを生成し、ノードによって生成された前処理ブロックを、コンセンサスのための小規模コンセンサスネットワークに送り得る。ノードによって生成された前処理ブロックに対するコンセンサスが達成されると判定すると、ノードは、ノードによって記憶されたブロックチェーン上に前処理ブロックを第1のブロックとして記憶し得る。
システム内のノードは、サービスプラットフォームと、サービスの資格取得活動に参加するすべてのエンドユーザデバイスとについての時間基準を提供するように働き、その結果、エンドユーザデバイスが様々な時点においてサービスプラットフォームからブロック生成規則を取得する場合であっても、エンドユーザデバイスは、同一の時間基準に基づいて、ブロック生成規則を満たす第2のブロックを生成する必要がある。したがって、各ユーザによるサービスの実行への参加の公平性が、可能な限り保証され得る。ノードによって第1のブロックを生成することによって形成されるブロックチェーンが時間基準として働き得る理由は、後で説明される。
システムでは、ユーザがサービスの資格取得活動に参加したい場合、ユーザは、ユーザが所有するエンドユーザデバイスを使用して、サービスを求める資格取得要求をサービスプラットフォームに送り、サービスプラットフォームによって返されるブロック生成規則と、ノードから取得されるブロックチェーンとに基づいて、ブロック生成規則を満たす前処理ブロックを生成し得る。本願のこの実装では、エンドユーザデバイスは、任意の時点においてサービスプラットフォームに資格取得要求を送り、所定の瞬間が到来したときにサービスプラットフォームが直面するアクセス圧力を効果的に軽減し得る。たとえば、エンドユーザデバイスは、所定の瞬間が到来する前、到来したとき、または到来した後に、サービスプラットフォームに資格取得要求を送り得る。しかしながら、サービスプラットフォームがエンドユーザデバイスによって送られた資格取得要求を受信したときにはいつでも、サービスプラットフォームは、エンドユーザデバイスにブロック生成規則を返し得る。
ブロックチェーン上に含まれる第1のブロックが、ノードによって、前処理ブロックを継続的に生成することによって取得される。具体的には、ノードによって生成された前処理ブロックに対するコンセンサスが達成されると、前処理ブロックが、ブロックチェーン上に第1のブロックとして記憶され得る。ノードは、サービス用ではない第1のブロックを生成する。第1のブロックをレギュラーブロックと理解することができ、第1のブロックは、サービスについてのどのようなデータも含まないことがある。
前述の第2のブロックが、エンドユーザデバイスによって、前処理ブロックを生成することによって取得される。具体的には、ブロックチェーンおよびブロック生成規則に基づいてエンドユーザデバイスによって生成された前処理ブロックに対するコンセンサスが達成されると、前処理ブロックが、ブロックチェーン上に第2のブロックとして記憶され得る。第2のブロックは、サービスのためにエンドユーザデバイスによって生成される。言い換えれば、第2のブロックは、ユーザ識別子などの、サービスについてのデータを含み得る。ここでの「第1」および「第2」は、相異なるブロックを区別するために使用されるに過ぎず、特別な意味を持たない。
本願での技術的解決策を当業者により良く理解させるために、以下では、本願の実装での添付の図面を参照しながら、本願の実装での技術的解決策を明確に、包括的に説明する。明らかに、説明される実装は、本願の実装のすべてではなく、一部に過ぎない。創造的な努力なしに本願の実装に基づいて当業者によって得られるすべての他の実装は、本願の保護範囲内に包含されるものとする。
本願の実装において提供されるサービス実行方法の説明を容易にするために、以下では、商品セキルシナリオでのサービス実行プロセス全体を詳細に説明する。
図2は、本願の一実装によるサービス実行プロセスを示す概略図である。サービス実行プロセスは以下のステップを含む。
S201:エンドユーザデバイスが、サービスプラットフォームに資格取得要求を送り、その結果、サービスプラットフォームは、エンドユーザデバイスにブロック生成規則を返す。
本願のこの実装では、ユーザが商品セキルサービスを実行するプロセスが、大まかには以下の2つの段階に分割され得る。
1.資格取得段階:この段階では、サービスを実行したいユーザが、ユーザによって所有されるエンドユーザデバイスを使用することによって、サービスを求める資格取得要求をサービスプラットフォームに送り得る。この段階では、サービスプラットフォームは、エンドユーザデバイスによって送られた資格取得要求を受信したとき、エンドユーザデバイスにブロック生成規則を返し、その結果、ブロック生成規則を取得するエンドユーザデバイスは、サービスを実行する機会を有し得、言い換えれば、商品をセキルする機会を有し得る。
2.資格確認段階:資格取得段階の後、サービスプラットフォームは、一定の方法において、資格取得段階において資格取得要求を送るユーザから、サービスを実行することのできるユーザを選択し、サービスを実行することのできる、決定したユーザ(商品を首尾よくセキルするユーザ)を発行する必要がある。
本願のこの実装では、サービスの所定の瞬間が到来したときにサービスプラットフォームが直面するアクセス圧力を軽減し、サービスプラットフォームの正常な実行を保証するために、サービスプラットフォームがエンドユーザデバイスによって送られた資格取得要求を受信したときにはいつでも、サービスプラットフォームは、エンドユーザデバイスにブロック生成規則を返し得る。言い換えれば、サービスの所定の瞬間が到来する前、到来したとき、または到来した後に、ユーザがエンドユーザデバイスを使用することによってサービスプラットフォームに資格取得要求を送るかの如何に関わらず、エンドユーザデバイスは、サービスプラットフォームからブロック生成規則を取得し得る。したがって、所定の瞬間が到来したときにサービスプラットフォームが直面するアクセス圧力を効果的に軽減するように、エンドユーザデバイスがサービスプラットフォームに資格取得要求を送る時点は離散的でよい。ここで述べる所定の瞬間は、サービスの資格取得段階の開始時間、すなわち商品フラッシュセールの開始時間でよい。所定の瞬間が到来したとき、ユーザは商品フラッシュセールに参加し得る。
所定の瞬間(すなわち、商品フラッシュセールの開始時間)が到来する前にブロック生成規則を取得したとき、エンドユーザデバイスは実際には商品フラッシュセールに参加しないことに留意されたい。エンドユーザデバイスは、所定の瞬間が到来したときにだけ、商品フラッシュセールに実際に参加する。
本願のこの実装では、所定の瞬間が到来する前に、エンドユーザデバイスがサービス(商品フラッシュセール)を求める資格取得要求をサービスプラットフォームに送る特定の方法は、以下の通りであり得る。サービスプラットフォームは、所定の瞬間が到来する前に、サービスプラットフォーム上のサービスについての情報を発行し得る。ユーザがエンドユーザデバイス上のサービスプラットフォームに対応するクライアントソフトウェアを開始するとき、サービスプラットフォームにサービスを求める資格取得要求を送るようにエンドユーザデバイスがトリガされ、その結果、サービスプラットフォームは、エンドユーザデバイスによって送られた資格取得要求に基づいて、対応するブロック生成規則をエンドユーザデバイスに返し得る。
さらに、ユーザが、エンドユーザデバイス上のサービスプラットフォームに対応するクライアントソフトウェアを開始したとき、ユーザは、クライアントにおいて指定の動作を実施し得、その結果、エンドユーザデバイスは、ユーザが指定の動作を実施したことを検出した後、サービスを求める資格取得要求をサービスプラットフォームに送る。たとえば、ユーザがエンドユーザデバイス上のクライアントソフトウェアを開始した後、クライアントソフトウェアが商品フラッシュセールおよび動作制御についての情報をユーザに表示し得ると仮定する。ユーザがクライアントソフトウェアにおいて動作制御をクリックしたことを検出したとき、エンドユーザデバイスは、商品フラッシュセールを求める資格取得要求をサービスプラットフォームに送り得る。
もちろん、本願のこの実装では、前の2つのケースに加えて、エンドユーザデバイスは、サービスを求める資格取得要求をサービスプラットフォームに送るために他の方法でトリガされ得る。たとえば、クライアントソフトウェアが実行され、サービス(商品フラッシュセール)についての情報がクライアントソフトウェアにおいて発行されたことをエンドユーザデバイスが検出したとき、エンドユーザデバイスは、サービスの所定の瞬間が到来する前に、サービスを求める資格取得要求をサービスプラットフォームにアクティブに送り得る。エンドユーザデバイスは、所定の瞬間より前の任意の瞬間に、または所定の瞬間から指定の持続時間の間隔の瞬間に、サービスを求める資格取得要求をサービスプラットフォームに送り得る。
別の例では、サービスプラットフォームはまた、特定の条件に基づいて、商品フラッシュセールに参加し得るユーザを選択し得る。たとえば、サービスプラットフォームは、メンバシップレベルが指定のレベルに達するユーザを、商品フラッシュセールに参加し得るユーザと決定し、ユーザアカウント番号を使用することによって、ユーザが商品フラッシュセールに参加する必要があるかどうかについての照会メッセージをユーザにアクティブに送り得る。ユーザが照会メッセージを閲覧し、商品フラッシュセールに参加することを決定したことを検出したとき、エンドユーザデバイスは、商品フラッシュセールを求める資格取得要求をサービスプラットフォームに送り得る。それに対応して、サービスプラットフォームもまた、対応するブロック生成規則をエンドユーザデバイスに返し得る。さらに、他のトリガ方法もある。簡潔のためにここでは例を省略する。
S202:ブロックチェーンおよびブロック生成規則に基づいて前処理ブロックを生成する。
本願のこの実装では、所定の瞬間が到来したと判定したとき、エンドユーザデバイスは、少なくとも1つの所定のノードによって記憶されたブロックチェーンを、現瞬間にノードから取得し、ブロックチェーンに基づいて、ブロック生成規則を満たす前処理ブロックをさらに生成し得る。
本願のこの実装では、サービスの所定の瞬間が到来したと判定したとき、エンドユーザデバイスは、少なくとも1つの所定のノードからブロックチェーンを取得する必要がある。所定の瞬間の前に、エンドユーザデバイスは、サービス(商品フラッシュセール)についてのブロック生成規則をサービスプラットフォームから取得し得、ブロック生成規則を取得した後、エンドユーザデバイスは、ブロック生成規則を満たす前処理ブロックの生成を直ちに開始し得るからである。したがって、所定の瞬間の前に、エンドユーザデバイスは、ブロック生成規則を満たす前処理ブロックの生成を完了し得る。所定の瞬間が到来したとき、エンドユーザデバイスは、生成した前処理ブロックをコンセンサスのためのコンセンサスネットワークに直接的に送る。言い換えれば、所定の瞬間の後にブロック生成規則を取得するエンドユーザデバイスと比較して、所定の瞬間の前にブロック生成規則を優先的に取得するエンドユーザデバイスは、「先取得先生成(first obtaining and first generation)」の方法で、エンドユーザデバイスによって生成され、ブロック生成規則を満たす前処理ブロックを、コンセンサスのためのコンセンサスネットワークに優先的に送り得る。
しかしながら、所定の瞬間の後にブロック生成規則を取得するエンドユーザデバイスでは、エンドユーザデバイスの実際のコンピューティング能力が考慮されないとき、エンドユーザデバイスがブロック生成規則を取得する時間は、エンドユーザデバイスが所定の瞬間の前にブロック生成規則を取得する時間よりも後である。したがって、所定の瞬間の後にブロック生成規則を取得するエンドユーザデバイスはまた、所定の瞬間の前にブロック生成規則を取得するエンドユーザデバイスよりも後に前処理ブロックを生成する可能性が高くなり得る。それに対応して、エンドユーザデバイスはまた、所定の瞬間の前にブロック生成規則を取得するエンドユーザデバイスよりも後に、エンドユーザデバイスによって生成された前処理ブロックを、コンセンサスのためのコンセンサスネットワークに送る。
したがって、すべてのエンドユーザデバイス(所定の瞬間の前にブロック生成規則を取得するエンドユーザデバイスと、所定の瞬間の後にブロック生成規則を取得するエンドユーザデバイスのどちらも含む)がブロック生成規則を満たす前処理ブロックを可能な限り同時に(または同一の時間基準で)生成することを開始することを保証することができない場合、ブロック生成規則を最初に取得するエンドユーザデバイスが、前述の「先取得先生成」の方法で、ブロック生成規則を満たす前処理ブロックを最初に生成し得る確率が非常に高く、その結果、エンドユーザデバイスによってサービスを実行する確率(すなわち、商品をセキルする確率)が一定の範囲まで改善される。したがって、サービスの実行における公平性が欠けている。
前の問題を効果的に軽減するために、本願のこの実装では、少なくとも1つのノードがあらかじめ決定され得、これらのノードが、経時的に前処理ブロックを継続的に生成し、コンセンサスが達成される前処理ブロックを、ノードのブロックチェーン上に第1のブロックとして記憶し得る。言い換えれば、これらのノードが小規模コンセンサスネットワークを形成することと同等である。各ノードは、サービス用ではない前処理ブロックを継続的に生成し、生成した前処理ブロックを、コンセンサスのための小規模コンセンサスネットワークに送り得る。小規模コンセンサスネットワークが前処理ブロックに対するコンセンサスを達成した後、小規模コンセンサスネットワーク内の各ノードはまた、ノードのブロックチェーン上に前処理ブロックを第1のブロックとして記憶し得る。
ノードによって生成される時間基準が第1のブロックによって達成され得る理由は以下の通りである。実際には、ブロックチェーン上の各ブロックは、前のブロックのヘッダハッシュを含む。したがって、エンドユーザデバイスが、これらのノードによって記憶されたブロックチェーンに基づいて、ブロック生成規則を満たす前処理ブロックを生成し得るとき、エンドユーザデバイスが、サービスの所定の瞬間の前に、ブロック生成規則を満たす前処理ブロックを生成する場合、前処理ブロック内に含まれる前のブロックのヘッダハッシュに対応するブロック(ブロックは第1のブロックでよく、または第2のブロックでよい)は、必然的にブロックチェーン上の所定の瞬間の前に生成されたブロックである。したがって、前処理ブロックに対するコンセンサスが達成されると、前処理ブロックが必然的にブロックの後に接続され、これらのノードは依然として継続的に前処理ブロックを生成し、コンセンサスが達成される前処理ブロックを(エンドユーザデバイスによって生成された)前処理ブロックに第1のブロックとして接続する。
したがって、所定の瞬間の前にブロック生成規則を取得するエンドユーザデバイスが所定の瞬間の後にブロック生成規則を取得するエンドユーザデバイスよりもサービスを実行する(商品をセキルする)高い確率を有し得る発生率を低減するために、サービスを実行し得るユーザを決定するために、サービスプラットフォームは、所定の瞬間を境界として使用することによって、各エンドユーザデバイス(この時にブロック生成規則を取得するエンドユーザデバイス)またはノードから取得されるブロックチェーンからブロックチェーンの後半部分を取得し、ブロックチェーンの後半部分を、サービスを実行する機会を有し得るユーザを決定するためのブロックチェーンとして使用し得る。
そのようなケースでは、エンドユーザデバイスがサービスの所定の瞬間の前に、ブロック生成規則を満たす前処理ブロックの生成を完了する場合、前処理ブロック内に含まれる前のブロックのヘッダハッシュに対応するブロックが、ブロックチェーン上の所定の瞬間の前に生成されたブロック内に配置されるので、所定の瞬間が到来したときにだけ、エンドユーザデバイスがコンセンサスのためのコンセンサスネットワークに前処理ブロックを送る場合であっても、前処理ブロックに対するコンセンサスが達成された後、前処理ブロックは、必然的にブロック(すなわち前のブロック)の後に第2のブロックとして接続され、したがって、第2のブロックは、ブロックチェーン上の所定の瞬間の前の部分に入る可能性が非常に高い。それに対応して、資格確認段階において、サービスプラットフォームは、ブロックチェーン上の所定の瞬間の前の部分を無視し得、その結果、エンドユーザデバイスによって以前に実施された処理は無効となる。
したがって、所定の瞬間が到来する前にブロック生成規則を取得するエンドユーザデバイスがサービスを実行したい場合、現瞬間がサービスの所定の瞬間であると判定したとき、エンドユーザデバイスは、所定のノードから現瞬間にノードによって記憶されたブロックチェーンを取得する必要があり、その結果、ブロックチェーンに基づいてエンドユーザデバイスによって生成され、ブロック生成規則を満たす前処理ブロックだけが、前処理ブロックに対するコンセンサスが達成された後に、サービスプラットフォームによって選択され得、前処理ブロックを生成するエンドユーザデバイス(すなわち、エンドユーザデバイスを所有するユーザ)がサービスを実行し(商品をセキルし)得る確率がある。
本願のこの実装では、少なくとも1つの所定のノードから現瞬間に記憶されたブロックチェーンを取得した後、エンドユーザデバイスは、現瞬間でのブロックチェーン上の最後のブロックのブロック特徴値をさらに決定し、ブロック特徴値、ユーザ識別子、および調節パラメータに基づいて、ブロック生成規則を満たす、検証すべき特徴値を生成し、生成した検証すべき特徴値、ユーザ識別子、ブロック特徴値、および調節パラメータに基づいて、ブロック生成規則を満たす前処理後ブロックをさらに生成し得る。
前述の特徴値(ブロック特徴値と検証すべき特徴値のどちらも含む)はブロックを一意に特定し得、ブロックチェーン上のブロックの一意性を保証する。ここで述べるブロック特徴値は、前のブロックのヘッダハッシュと理解され得、検証すべき特徴値は、前処理ブロックのヘッダハッシュと理解され得る。本願のこの実装では、ブロック特徴値は、ハッシュ値の形態に加えて一形態として存在し得る。たとえば、メッセージダイジェストアルゴリズム5(MD5)が使用される場合、ブロック特徴値はMD5値の形態として存在し得る。もちろん、それに対応して、検証すべき特徴値もMD5値の形態として存在し得る。特定の形態の特徴値は、取得される特徴値が一意であることを条件として、特定の非対称暗号化アルゴリズムに基づいて決定され得る。
前述のユーザ識別子は、エンドユーザデバイスを使用することによってユーザが前処理ブロックを生成するときに使用されるユーザ識別子(ユーザアカウント番号や識別カード番号など)である。後に、サービスプラットフォームは、ブロックチェーン上の第2のブロック内に含まれるユーザ識別子を使用することによって、サービスを実行し得るユーザ(すなわち、商品を首尾よくセキルするユーザ)を決定する必要がある。したがって、前処理ブロックを生成するとき、エンドユーザデバイスは、前処理ブロック内に含まれる内容として前処理ブロック内にユーザ識別子を書き込む必要がある。
前述の調節パラメータは、ブロック特徴値、ユーザ識別子、および調節パラメータに基づいてエンドユーザデバイスによって生成される検証すべき特徴値がブロック生成規則を満たすようにさせるために使用される。たとえば、エンドユーザデバイスによって生成される検証すべき特徴値は最初の8ビットが0であるハッシュ値である必要があることを、ブロック生成規則が指定すると仮定する。ブロック特徴値(すなわち、前のブロックのハッシュ値)、ユーザ識別子、および1つのランダムに選択された調節パラメータに基づいてエンドユーザデバイスによって生成される検証すべき特徴値が要件を満たさない場合、エンドユーザデバイスは、調節パラメータを継続的に調節し得、その結果、数回の調節の後、エンドユーザデバイスは、ブロック特徴値、ユーザ識別子、および調節パラメータに基づいて、最初の8ビットが0である検証すべき特徴値を取得し得る。
ブロック生成規則を満たす検証すべき特徴値を生成した後、エンドユーザデバイスは、生成した検証すべき特徴値、ユーザ識別子、ブロック特徴値、および最終的に取得された調節パラメータに基づいて、ブロック生成規則を満たす前処理ブロックをさらに生成し、後のプロセスにおいて、コンセンサスのためのコンセンサスネットワークに前処理ブロックをさらに送り得る。
S203:1つまたは複数の他のエンドユーザデバイスおよびノードを使用することによって前処理ブロックに対するコンセンサス手順を実施し、コンセンサスが達成される前処理ブロックを第2のブロックとしてブロックチェーン上に記憶する。
ブロック生成規則を満たす前処理ブロックを生成した後、エンドユーザデバイスは、コンセンサスネットワークに前処理ブロックを送り、コンセンサスネットワークを使用することによって前処理ブロックに対するコンセンサス手順を実施し得る。コンセンサスネットワークは、現瞬間にブロック生成規則を取得する各エンドユーザデバイス(すなわち、現瞬間に商品フラッシュセールに参加する各ユーザによって所有されるエンドユーザデバイス)と、少なくとも1つの所定のノードとを含み得る。したがって、エンドユーザデバイスがコンセンサスネットワークに前処理ブロックを送るプロセスにおいて、エンドユーザデバイスは、サービスプラットフォームから、現瞬間にブロック生成規則を取得する各エンドユーザデバイスのアドレスをまず取得し、次いで取得したアドレスを使用することによってコンセンサスのために各エンドユーザデバイスに前処理ブロックを送り得る。
ノードのアドレスは、前もってエンドユーザデバイス(またはエンドユーザデバイス上にインストールされたクライアントソフトウェア)内に書き込まれ得る。エンドユーザデバイスは、エンドユーザデバイスによって記憶されるノードのアドレスを使用することによって、ノードに前処理ブロックを直接的に送り得、その結果、ノードと、現瞬間にブロック生成規則を取得する各エンドユーザデバイスとは、前処理ブロックに対するコンセンサスを達成する。もちろん、エンドユーザデバイスはまた、サービスプラットフォームからノードのアドレスを取得し得る。
コンセンサスネットワークが前処理ブロックに対するコンセンサスを達成した後、各エンドユーザデバイス(現瞬間にブロック生成規則を取得する各エンドユーザデバイス)および少なくとも1つのノードは、各エンドユーザデバイスまたは少なくとも1つのノードによって記憶されるブロックチェーン上に前処理ブロックを第2のブロックとして記憶し得る。
サービスの所定の瞬間が到来した後、少なくとも1つの所定のノードが、各エンドユーザデバイス(すなわち、ブロック生成規則を取得するエンドユーザデバイス)によって生成された前処理ブロックに対するコンセンサスに参加し得ることに留意されたい。このプロセスでは、ノードは、前処理ブロックを依然として継続的に生成し、コンセンサスのためのコンセンサスネットワークに前処理ブロックを送り得る。サービスの資格取得段階において各ノードによって生成された前処理ブロックは、コンセンサスのために他のノードのみに送られ得、前処理ブロックは、現瞬間でのブロック生成規則を取得するエンドユーザデバイスには送られない。
もちろん、サービスの所定の瞬間が到来したとき、サービスプラットフォームは、所定のノードにメッセージを送り、前処理ブロックの生成を一時的に停止し、ブロック生成規則を取得する各エンドユーザデバイスによって生成された前処理ブロックに対するコンセンサスに参加するようにノードに命令し得る。それに対応して、サービスの資格取得段階において、ブロックチェーンに接続されるすべてのブロックが、ブロック生成規則を取得する各エンドユーザデバイスによって生成される。
S204:サービスプラットフォームによって送られた資格確認情報を受信したとき、エンドユーザデバイスによって記憶されている現瞬間でのブロックチェーンをサービスプラットフォームに送り、その結果、サービスプラットフォームは、現瞬間でのブロックチェーン上の第1のブロックおよび第2のブロックに基づいてサービスを実行する。
サービスが所定の条件を満たすと判定したとき、サービスプラットフォームは、現瞬間に少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードによって記憶されたブロックチェーンをエンドユーザデバイスまたはノードから取得し、ブロックチェーンから、サービスを実行し得るユーザを決定し得る。
ここで述べる所定の条件は、現瞬間がサービスによって指定される資格取得段階のデッドライン(すなわち、商品フラッシュセールに参加するデッドライン)であるかどうかを監視することであり得る。現瞬間がサービスによって指定される資格取得段階のデッドラインであると判定したとき、サービスプラットフォームは、サービスが所定の条件を満たすと判定し、現瞬間でのブロック生成規則を取得する少なくとも1つのエンドユーザデバイス、または少なくとも1つの所定のノードから、現瞬間に対応するブロックチェーンをさらに取得し得る。
さらに、代替として、ここで述べる所定の条件は、ブロックチェーン上のブロック数がサービスによって指定される所定の数に達したかどうかを監視することであり得る。サービスプラットフォームは、各エンドユーザデバイス(ブロック生成規則を取得するエンドユーザデバイス)または各ノード内に記憶されたブロックチェーン上のブロック数を常に監視し得る。ブロックチェーン上のブロック数がサービスによって指定される所定の数に達したと判定したとき、サービスプラットフォームは、サービスが所定の条件を満たすと判定し、次いで各エンドユーザデバイスまたはノードからブロックチェーンを取得し得る。サービスによって指定される所定の数は、ブロックチェーン上のブロックの総数であり得、またはサービスの所定の瞬間後のブロックチェーンに接続されるブロック数であり得る。もちろん、代替として、所定の条件が別の形態で存在し得、所定の条件の特定の内容が、サービスプラットフォームのスタッフメンバによって設定され得る。簡潔のためにここでは例を省略する。
ブロックチェーンを取得するプロセスにおいて、サービスプラットフォームは、各エンドユーザデバイス(ブロック生成規則を取得する各エンドユーザデバイス)またはノードに資格確認情報を送り得、その結果、資格確認情報を受信したとき、エンドユーザデバイスまたはノードは、現瞬間に対応し、エンドユーザデバイスまたはノードによって記憶されるブロックチェーンをサービスプラットフォームに送り得、その結果、サービスプラットフォームは、ブロックチェーンから、サービスを実行し得るユーザを決定し得る。
資格決定情報を受信した後、エンドユーザデバイスまたはノードは、現瞬間にエンドユーザデバイスもしくはノードによって記憶されたブロックチェーン全体をサービスプラットフォームに送り得、またはブロックチェーンの一部をサービスプラットフォームに送り得る。エンドユーザデバイスまたはノードによってサービスプラットフォームに送られるブロックチェーンの一部は、ブロックチェーン上の、サービスの所定の瞬間が到来した後に生成された一部、たとえばコンセンサスが達成される前処理ブロックを含み、図3に示されるように、商品フラッシュセールが開始した後に第1のブロックまたは第2のブロックの形態でブロックチェーン上に各エンドユーザデバイスまたはノードによって記憶される一部であり得る。
図3は、本願の一実装による、サービスによって指定される所定の瞬間後に生成される、ブロックチェーンの一部を示す概略図である。
図3では、ブロックチェーンは2つのタイプのブロックを含む。一方のタイプのブロックは、ノードによって生成される第1のブロックであり、Aと表され、他方のタイプのブロックは、エンドユーザデバイスによって生成される第2のブロックであり、Bと表される。ブロックチェーンは2つの部分に分割され得る。ブロックチェーンの一方の部分は、サービスによって指定される所定の瞬間の前に形成され、第1の部分と呼ばれ得る。第1の部分では、大部分のブロックは、ノードによって生成される第1のブロック(すなわち、ブロックA)である。ブロックチェーンの他方の部分は、ブロックチェーンの第1の部分の後に形成されるブロックチェーンの一部、すなわちサービスによって指定される所定の瞬間が到来した後にエンドユーザデバイスまたはノードによって前処理ブロックを生成することによって形成されるブロックチェーンの一部であり、第2の部分と呼ばれ得る。第2の部分では、いくつかのブロックが、第1のブロック(すなわち、ブロックA)を生成することによってノードによって取得され、他のブロックが、第2のブロック(すなわち、ブロックB)を生成することによってエンドユーザデバイスによって取得される。
これに基づいて、サービスプラットフォームによって送られた資格確認情報を受信した後、エンドユーザデバイスまたはノードは、ブロックチェーンの第2の部分をサービスプラットフォームに送り得、サービスプラットフォームは、ブロックチェーンの取得した部分に基づいて、サービスを実行するユーザを決定し得る。
もちろん、エンドユーザデバイスまたはノードはまた、取得するためにブロックチェーンの第1の部分の一部をランダムに選択し、ブロックチェーンの他の部分(第1の部分の一部および第2の部分全体を含む)をサービスプラットフォームに送り得る。
ブロックチェーンを取得した後、サービスプラットフォームは、所定の瞬間に基づいて、ブロックチェーンから1つの第1のブロックを決定し、決定した第1のブロックに基づいて、ブロックチェーンから第2のブロックを選択し得る。本願のこの実装では、それぞれの第1のブロックは、第1のブロックの生成時間を含み得る。ブロックチェーン上のブロックが時間シーケンスとして順次接続されるので、サービスプラットフォームは、ブロックチェーンからすべての第1のブロックの生成時間を決定し、生成時間が所定の瞬間に最も近い第1のブロックをさらに決定し、次いで第1のブロックをマーク済みブロックと決定し得る。
本願のこの実装では、マーク済みブロックを決定するとき、サービスプラットフォームは、所定の瞬間を境界として使用することによって、取得したブロックチェーンを2つの部分に分割し得ることに留意されたい。一方の部分内に含まれる各ブロックは、所定の瞬間の前に生成されたブロック(たとえば、図3の第1の部分内に含まれるブロック)であり、他方の部分内の各ブロックは、所定の瞬間の後に生成されたブロック(たとえば、図3の第2の部分内に含まれるブロック)である。サービスプラットフォームは、生成時間が所定の瞬間に最も近い第1のブロックを他方の部分から決定し、第1のブロックをマーク済みブロックと決定し得る。
マーク済みブロックを決定した後、サービスプラットフォームは、マーク済みブロックの後に位置する少なくとも1つの第2のブロックをブロックチェーンから選択し、選択した少なくとも1つの第2のブロック内に含まれるユーザ識別子に基づいて、サービスを実行することのできるユーザ(商品をセキルする機会を有するユーザ)をさらに決定し得る。サービスプラットフォームはまず、マーク済みブロックの後に位置するそれぞれの第2のブロックを選択し得る(ここで述べる第2のブロックは、資格取得段階において各エンドユーザデバイスによって生成されたブロックである)。次いで、所定の数の第1ランクの第2のブロックが、ブロックチェーン上のブロックのランキングシーケンス内で選択され、次いで、所定の数の第2のブロック内に含まれるユーザ識別子に基づいて、サービスを実行するユーザが決定される(すなわち、商品を首尾よくセキルするユーザが決定される)。
サービスプラットフォームは、マーク済みブロックを決定した後、ブロックチェーン上のブロックのランキングシーケンスにおいてマーク済みブロックの後に位置する所定の数のブロックを直接的に選択し得る。所定の数のブロックを選択したとき、サービスプラットフォームがブロックに直面するごとに、サービスプラットフォームは、ブロックが第1のブロックであるか、それとも第2のブロックであるかを判定し得る。ブロックが第1のブロックであるとき、サービスプラットフォームは第1のブロックを選択せず、次のブロックにジャンプし、ブロックが第2のブロックであると判定したとき、サービスプラットフォームはブロックを選択する。言い換えれば、サービスプラットフォームは、そのような方法で、マーク済みブロック後の所定の数の第1ランクの第2のブロックを選択する必要がある。
ブロックチェーンから所定の数の第2のブロックを選択した後、サービスプラットフォームは、第2のブロック内に含まれるユーザ識別子をさらに決定し、サービスを実行し得るユーザをさらに決定し得る。
本願のこの実装では、各エンドユーザデバイスまたはノードからブロックチェーンを取得した後、サービスプラットフォームは、ブロックチェーンからメインチェーンを決定し、メインチェーンに基づいて、サービスを実行し得るユーザを決定し得ることに留意されたい。本願のこの実装では、サービスプラットフォームは、取得したブロックチェーンから最長のチェーンを決定し、最長のチェーンをメインチェーンと決定し得る。
それに対応して、取得したブロックチェーンからメインチェーンを決定した後、サービスプラットフォームは、メインチェーンから、生成時間が所定の瞬間に最も近い第1のブロックを決定し、第1のブロックをマーク済みブロックと決定する。次いで、サービスプラットフォームは、メインチェーンから、メインチェーン上のブロックのランキングシーケンスにおいて、マーク済みブロックの後に位置する所定の数の第2のブロックを選択し、次いで、選択した第2のブロック内に含まれるユーザ識別子に基づいて、サービスを実行するユーザを決定する。
もちろん、本願のこの実装では、サービスプラットフォームのスタッフメンバは、サービスについての資格取得規則を設定し得、資格取得規則は、ユーザがサービスを実行する機会をどのように有し得るかを指定し得る。たとえば、商品セキルサービスについて、サービスに対応する資格取得規則は、各エンドユーザデバイスによって後に記憶されるブロックチェーン上の資格取得規則を満たす1つまたは複数のブロックを指定する。言い換えれば、資格取得規則は、ブロック生成規則を取得するユーザ内のエンドユーザデバイスを使用することによってユーザによって生成された、資格取得規則を満たす1つまたは複数のブロックを指定する。
サービスプラットフォームのスタッフメンバは、実際の状況を参照して、サービスについての複数の資格取得規則を構築し得、その結果、サービスプラットフォームは、「当選」ユーザ(「当選」ユーザとは、商品を首尾よくセキルするユーザである)を決定するためにブロックチェーン上のマーク済みブロックの後に位置する所定の数の第1ランクの第2のブロックを使用するだけではなく、資格取得規則に基づいて、取得したブロックチェーンから資格取得規則を満たす第2のブロックを後で決定し得る。したがって、サービスの所定の瞬間が到来した後、ブロック生成規則を後で取得するユーザは、サービスを実行する機会をも有し、その結果、サービスは、より良好なユーザ体験をユーザにもたらす。
本願のこの実装では、エンドユーザデバイスによって送られたサービスを求める資格取得要求を受信した後、サービスプラットフォームは、サービスに対応するブロック生成規則と、資格取得規則とをエンドユーザデバイスに返し得る。資格取得規則を取得した後、エンドユーザデバイスは資格取得規則を記憶し得る。もちろん、サービスプラットフォームは、ブロック生成規則および資格取得規則を別々にエンドユーザデバイスに送り得る。たとえば、エンドユーザデバイスによって送られた資格取得要求を受信した後、サービスプラットフォームは、エンドユーザデバイスにブロック生成規則のみを返し得、統一された時間枠において各エンドユーザデバイスに資格取得規則を送り得る。
エンドユーザデバイスは資格取得規則を記憶し、その結果、資格確認段階において、サービスを実行し得る少なくとも1人のユーザを決定した後、サービスプラットフォームは、少なくとも1つの選択された第2のブロック内に含まれるユーザ識別子(すなわち、サービスを実行し得るユーザのユーザ識別子)を発行し得る。それに対応して、エンドユーザデバイスは、エンドユーザデバイスによって記憶された資格取得規則を使用することによって、サービスプラットフォームによって発行されたユーザ識別子を検証し、ユーザ識別子に対応するユーザがサービスを実行する資格があるかどうかを判定し得る。
前の方法から、サービスプラットフォームは、サービス資格を取得することに参加するユーザを時間の点で分離し得、その結果、あるユーザは、所定の瞬間の前にブロック生成規則を取得し、次いで所定の瞬間が到来したとき、取得したブロック生成規則に基づいてサービスに参加し得ることがわかる。さらに、サービスを実行するユーザを選択するとき、サービスプラットフォームは、ブロックチェーン上に含まれる第1のブロックを時間基準として使用することによって第2のブロックを選択し、選択した第2のブロックに基づいて、サービスを実行するユーザを決定し得る。したがって、エンドユーザデバイスがサービスを実行するために様々な時点においてブロック生成規則を取得し得る場合であっても、エンドユーザデバイスは、時間基準(例えば、第1のブロック)に基づいて、ブロック生成規則を満たす第2のブロックを生成する必要がある。
したがって、所定の瞬間が到来したときにサービスプラットフォームが直面するアクセス圧力が大いに軽減され得るだけではなく、所定の瞬間が到来した後のサービスプラットフォームの通常の実行も保証され得る。エンドユーザデバイスを使用することによってユーザがサービスを実行し得る場合、所定の瞬間の前にエンドユーザデバイスを使用することによってブロック生成規則が取得される場合であっても、ブロック生成規則を満たす第2のブロックを生成する必要があるのは、所定の瞬間が到来したときだけであることがさらに保証され得、それによってサービス実行の公平性が保証される。
現瞬間がサービスの所定の瞬間であることを検出したとき、サービスプラットフォームは、ノードからブロックチェーンを取得し、現瞬間でのブロックチェーン上の最後のブロックを決定し、次いでブロックをマーク済みブロックと決定し得ることに留意されたい。次いで、サービスが所定の条件を満たすことを検出したとき、サービスプラットフォームは、この時のブロックチェーンをノードまたはエンドユーザデバイスから取得し、この時のブロックチェーン上のマーク済みブロックの後に位置する各ブロックを決定し得る。サービスプラットフォームは、マーク済みブロックの後の各ブロックをマークし、サービスを実行するユーザを決定し得る。ここで述べるマーク済みブロックと、前のマーク済みブロックとの間の違いは、前のマーク済みブロックは第1のブロックに基づいて決定されることである。しかしながら、所定の瞬間にサービスプラットフォームによって取得されるブロックチェーン上で、ブロックチェーン上の最後のブロックは第1のブロックである場合も、または第2のブロックである場合もある。したがって、ここで述べたマーク済みブロックは、第1のブロックに基づいて取得される場合も、または第2のブロックに基づいて取得される場合もある。
前述のサービス実行方法は、商品セキルシナリオと、ライセンスプレートくじ引きや賞品抽選などのサービスシナリオのどちらにも適用され得る。簡潔のためにここでは例を省略する。それに対応して、サービス実行方法は、商品セキルと同様に複数のサービスシナリオに適用可能であり得るので、前述の所定の瞬間は別の時であり得る。たとえば、所定の瞬間は、サービスの資格取得段階のデッドラインでもあり得る。それに対応して、現瞬間が所定の瞬間であることを検出したとき、サービスプラットフォームは、生成時間が所定の瞬間に最も近い第1のブロックを決定し、決定した第1のブロックをマーク済みブロックと決定し得る。次いで、サービスプラットフォームは、ブロックチェーン上のマーク済みブロックの前に位置するそれぞれの第2のブロックをさらに決定し、ブロックチェーン上の第2のブロックのランキングシーケンス内で第2のブロック内のマーク済みブロックに最も近い所定の数の第2のブロックを選択し、選択した第2のブロックを使用することによって、サービスを実行するユーザを決定し得る。
本願のこの実装では、すべてのエンドユーザデバイスまたはノードが同一の瞬間に前処理ブロックを生成し得るが、すべての前処理ブロックに対するコンセンサスが、相異なる時に達成されることにさらに留意されたい。これに基づいて、各エンドユーザデバイスまたはノードが、エンドユーザデバイスによって生成された前処理ブロックに対するコンセンサス手順を実施するとき、エンドユーザデバイスまたはノードは、前処理ブロックに対するコンセンサスが達成されると判定した後、前処理ブロックにタイムスタンプを追加し得る。タイムスタンプは、前処理ブロックに対するコンセンサスが達成された時を示す。したがって、各エンドユーザデバイスまたはノードが、タイムスタンプを含む前処理ブロックをブロックチェーン上に第2のブロックとして後に記憶するとき、エンドユーザデバイスまたはノードは、第2のブロックを時間シーケンスにソートし得、その結果、第2のブロックが可能な限り1つのチェーン上でランク付けされ、それによってブロックチェーン上にブランチチェーンを生成する可能性が低減される。もちろん、ノードによって生成された前処理ブロックに対するコンセンサスが達成された後、タイムスタンプが前処理ブロックに追加され得、前処理ブロックが、時間シーケンス内の第1のブロックの形でブロックチェーン上に記憶される。
本願の実装において提供されるサービス実行方法を上記で説明した。同じ概念に基づいて、本願の実装は、図4および図5に示されるように2つのサービス実行デバイスをさらに提供する。
図4は、本願の一実装による、サービス実行デバイスを示す概略図である。デバイスは、エンドユーザデバイスによって送られた資格取得要求を受信するように構成された受信モジュール401と、資格取得要求に基づいてエンドユーザデバイスにブロック生成規則を返すように構成された返しモジュール402であって、その結果、エンドユーザデバイスが、ブロックチェーンおよびブロック生成規則に基づいて第2のブロックを生成し、ブロックチェーン上に第2のブロックを記憶する、返しモジュール402と、所定の条件が満たされると判定したとき、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間でのブロックチェーンの少なくとも一部を取得するように構成された取得モジュール403と、所定の瞬間に基づいて、取得した現瞬間でのブロックチェーンから第1のブロックを決定し、決定した第1のブロックに基づいて第2のブロックを選択するように構成された選択モジュール404と、選択した第2のブロック内に含まれるユーザ識別子に基づいてサービスを実行するように構成された実行モジュール405とを含む。
選択モジュール404は、ブロックチェーン上のすべての第1のブロックの生成時間を決定し、生成時間が所定の瞬間に最も近い第1のブロックを決定し、第1のブロックをマーク済みブロックと決定し、取得した現瞬間でのブロックチェーンから、マーク済みブロックの後に位置する第2のブロックを選択するように構成される。
選択モジュール404は、現瞬間でのブロックチェーンから、現瞬間でのブロックチェーン上のブロックのランキングシーケンスにおいて、マーク済みブロックの後に位置する所定の数の第2のブロックを選択するように構成される。
図5は、本願の一実装による、別のサービス実行デバイスを示す概略図である。デバイスは、サービスプラットフォームに資格取得要求を送るように構成された送信モジュール501であって、その結果、サービスプラットフォームがデバイスにブロック生成規則を返す、送信モジュール501と、ブロックチェーンおよびブロック生成規則に基づいて前処理ブロックを生成するように構成された生成モジュール502と、1つまたは複数の他のエンドユーザデバイスおよびノードを使用することによって前処理ブロックに対してコンセンサス手順を実施し、コンセンサスが達成される前処理ブロックを第2のブロックとしてブロックチェーン上に記憶するように構成されたコンセンサスモジュール503と、サービスプラットフォームによって送られた資格確認情報を受信したとき、デバイスによって記憶されている現瞬間でのブロックチェーンをサービスプラットフォームに送るように構成された受信モジュール504であって、その結果、サービスプラットフォームが、現瞬間でのブロックチェーン上の第1のブロックおよび第2のブロックに基づいてサービスを実行する、受信モジュール504とを含む。
生成モジュール502は、ブロックチェーン上の最後のブロックのブロック特徴値を決定し、調節パラメータ、ブロック特徴値、およびユーザ識別子を使用することによって生成される、検証すべき特徴値がブロック生成規則を満たすように調節パラメータを決定し、検証すべき特徴値、ブロック特徴値、調節パラメータ、およびユーザ識別子に基づいて前処理ブロックを生成するように構成される。
本願のこの実装では、エンドユーザデバイスによって送られた資格取得要求を受信した後、サービスプラットフォームは、所定の瞬間が到来したときにだけエンドユーザデバイスにブロック生成規則を返すのではなく、エンドユーザデバイスにブロック生成規則を返し得る。したがって、エンドユーザデバイスが所定の瞬間の前にサービスプラットフォームに資格取得要求を送る場合であっても、サービスプラットフォームは、依然としてエンドユーザデバイスにブロック生成規則を返す。言い換えれば、サービスプラットフォームは、サービス資格を取得することに参加するユーザを時間の点で分離し得、その結果、あるユーザは、所定の瞬間の前にブロック生成規則を取得し、次いで所定の瞬間が到来したとき、取得したブロック生成規則に基づいてサービスに参加し得る。
さらに、サービスを実行するユーザを選択するとき、サービスプラットフォームは、ブロックチェーン上に含まれる第1のブロックを時間基準として使用することによって第2のブロックを選択し、選択した第2のブロックに基づいて、サービスを実行するユーザを決定し得る。したがって、エンドユーザデバイスがサービスを実行するために様々な時点においてブロック生成規則を取得し得る場合であっても、エンドユーザデバイスは、時間基準(例えば、第1のブロック)に基づいて、ブロック生成規則を満たす第2のブロックを生成する必要がある。したがって、所定の瞬間が到来したときにサービスプラットフォームが直面するアクセス圧力が大いに軽減され得るだけではなく、所定の瞬間が到来した後のサービスプラットフォームの正常な実行も保証され得る。エンドユーザデバイスを使用することによってユーザがサービスを実行し得る場合、所定の瞬間の前にエンドユーザデバイスを使用することによってブロック生成規則が取得される場合であっても、ブロック生成規則を満たす第2のブロックを生成する必要があるのは、所定の瞬間が到来したときだけであることがさらに保証され得、それによってサービス実行の公平性が保証される。
1990年代には、技術的改良がハードウェアの改良(たとえば、ダイオード、トランジスタ、スイッチなどの回路構造に対する改良)であるか、それともソフトウェアの改良(方法手順に対する改良)であるかを明確に区別することができた。しかしながら、技術が発展するにつれて、多くの方法手順に対する現在の改良は、ハードウェア回路構造に対する直接的改良と見なされ得る。設計者は通常、改良型の方法手順をハードウェア回路内にプログラムし、対応するハードウェア回路構造を得る。したがって、方法手順は、ハードウェアエンティティモジュールを使用することによって改良され得る。たとえば、プログラマブル論理デバイス(PLD)(たとえば、フィールドプログラマブルゲートアレイ(FPGA))はそのような集積回路であり、PLDの論理的機能は、ユーザによってデバイスプログラミングを通じて決定される。設計者は、チップ製造業者に特定用途向け集積回路チップを設計および製造するように依頼することなく、デジタルシステムをPLDに「統合する」ようにプログラミングを実施する。さらに、現在では、集積チップを手作業で製造する代わりに、このタイプのプログラミングは、大部分は「論理コンパイラ(logic compiler)」ソフトウェアを使用することによって実装される。プログラミングは、プログラムを開発し、書くために使用されるソフトウェアコンパイラと同様である。元のコードは、コンパイルのために特定のプログラミング言語で書くことを必要とする。言語はハードウェア記述言語(HDL)と呼ばれる。Advanced Boolean Expression Language(ABEL)、Altera Hardware Description Language(AHDL)、Confluence、Cornell University Programming Language(CUPL)、HDCal、Java(登録商標) Hardware Description Language(JHDL)、Lava、Lola、MyHDL、PALASM、Ruby Hardware Description Language(RHDL)などの多くのHDLがある。very−high−speed integrated circuit hardware description language(VHDL)およびVerilogが最も一般的に使用されている。いくつかの記載のハードウェア記述言語を使用することによって方法手順が論理的にプログラムされ、集積回路内にプログラムされると、論理的方法手順を実装するハードウェア回路が容易に取得され得ることも当業者は理解されたい。
任意の適切な方法を使用することによってコントローラが実装され得る。たとえば、コントローラはマイクロプロセッサもしくはプロセッサであり得、あるいはマイクロプロセッサもしくはプロセッサ、論理ゲート、スイッチ、特定用途向け集積回路(ASIC)、プログラマブル論理コントローラ、または組込みマイクロコントローラによって実行され得るコンピュータ可読プログラムコード(ソフトウェアやファームウェアなど)を記憶するコンピュータ可読媒体であり得る。コントローラの例には、限定はしないが、以下のマイクロコントローラが含まれる。ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20、およびSilicone Labs C8051F320。メモリコントローラはまた、メモリの制御論理の一部として実装され得る。コンピュータ可読プログラムコードのみを使用することによってコントローラを実装することに加えて、論理ゲート、スイッチ、特定用途向け集積回路、プログラマブル論理コントローラ、および組込みマイクロコントローラの形態でコントローラが同一の機能を実装することを可能にするように方法ステップが論理的にプログラムされ得ることも当業者には知られている。したがって、コントローラはハードウェア構成要素と見なされ得、コントローラ内の様々な機能を実装するように構成されたデバイスも、ハードウェア構成要素内部の構造と見なされ得る。または、様々な機能を実装するように構成されたデバイスはさらに、方法を実装するソフトウェアモジュールと、ハードウェア構成要素内部の構造の両方と見なされ得る。
前の実装において示されるシステム、デバイス、モジュール、またはユニットは、コンピュータチップまたはエンティティを使用することによって実装され得、あるいは一定の機能を有する製品を使用することによって実装され得る。典型的な実装デバイスはコンピュータである。コンピュータは、たとえばパーソナルコンピュータ、ラップトップコンピュータ、セルラーフォン、カメラフォン、スマートフォン、携帯情報端末、メディアプレーヤ、ナビゲーションデバイス、eメールデバイス、ゲームコンソール、タブレットコンピュータ、またはウェアラブルデバイス、あるいはこれらのデバイスの任意の組合せであり得る。
説明しやすいように、上記のデバイスは、機能を様々なユニットに分割することによって説明される。もちろん、本願が実装されるとき、ユニットの機能は、1つまたは複数のソフトウェアおよび/またはハードウェアとして実装され得る。
本開示の一実装が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本開示は、ハードウェアのみの実装、ソフトウェアのみの実装、またはソフトウェアとハードウェアの組合せを有する実装の形態を使用し得る。さらに、本開示は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(限定はしないが、ディスクメモリ、CD−ROM、光メモリなど)上に実装されるコンピュータプログラム製品の形態を使用し得る。
本開示は、本開示の実装に基づく方法、デバイス(システム)、およびコンピュータプログラム製品のフローチャートおよび/またはブロック図を参照しながら説明される。フローチャートおよび/またはブロック図内の各プロセスおよび/または各ブロック、ならびにフローチャートおよび/またはブロック図内のプロセスおよび/またはブロックの組合せを実装するためにコンピュータプログラム命令が使用され得ることを理解されたい。これらのコンピュータプログラム命令は、汎用コンピュータ、専用コンピュータ、組込みプロセッサ、または別のプログラマブルデータ処理デバイスのプロセッサがマシンを生成するために提供され得、その結果、コンピュータまたは別のプログラマブルデータ処理デバイスのプロセッサによって実行される命令は、フローチャート内の1つまたは複数の手順における、ならびに/あるいはブロック図内の1つまたは複数のブロックにおける特定の機能を実装するためのデバイスを生成する。
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイスに特定の方式で働くように命令し得るコンピュータ可読メモリ内に記憶され得、その結果、コンピュータ可読メモリ内に記憶された命令は、命令デバイスを含むアーチファクトを生成する。命令デバイスは、フローチャート内の1つまたは複数の手順における、ならびに/あるいはブロック図内の1つまたは複数のブロックにおける特定の機能を実装する。
これらのコンピュータプログラム命令は、コンピュータまたは別のプログラマブルデータ処理デバイス上にロードされ得、その結果、一連の動作ステップがコンピュータまたは別のプログラマブルデバイス上で実施され、それによってコンピュータ実装処理が生成される。したがって、コンピュータまたは別のプログラマブルデバイス上で実行される命令は、フローチャート内の1つまたは複数の手順における、ならびに/あるいはブロック図内の1つまたは複数のブロックにおける特定の機能を実装するためのステップを提供する。
典型的な構成では、コンピューティングデバイスは、1つまたは複数のプロセッサ(CPU)、1つまたは複数の入力/出力インターフェース、1つまたは複数のネットワークインターフェース、および1つまたは複数のメモリを含む。
メモリは、非永続的メモリ、ランダムアクセスメモリ(RAM)、不揮発性メモリ、および/または別の形態のコンピュータ可読媒体、たとえば読取り専用メモリ(ROM)またはフラッシュメモリ(フラッシュRAM)を含み得る。メモリはコンピュータ可読媒体の一例である。
コンピュータ可読媒体は、任意の方法または技術を使用することによって情報を記憶し得る永続的、非永続的、移動可能、および移動不能媒体を含む。情報は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータであり得る。コンピュータ記憶媒体の例には、限定はしないが、パラメータランダムアクセスメモリ(PRAM)、静的ランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、別のカテゴリのランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気消去可能プログラマブル読取り専用メモリ(EEPROM)、フラッシュメモリもしくは別のメモリ技術、コンパクトディスク読取り専用メモリ(CD−ROM)、デジタルバーサタイルディスク(DVD)もしくは別の光ストレージ、カセット磁気テープ、磁気テープ/磁気ディスクストレージ、別の磁気記憶デバイス、または任意の他の非伝送媒体が含まれる。コンピュータ記憶媒体は、コンピューティングデバイスにアクセス可能な情報を記憶するために使用され得る。本明細書での定義に基づいて、コンピュータ可読媒体は、被変調データ信号および搬送波などの一時的コンピュータ可読媒体(一時的媒体)を含まない。
「含む」、「備える」という用語、またはそれらの任意の他の変形は、非排他的包含をカバーするものとし、したがって要素のリストを含むプロセス、方法、商品、またはデバイスは、それらの要素を含むだけではなく、明白に列挙されていない他の要素をも含み、あるいはそのようなプロセス、方法、商品、またはデバイスに固有の要素をさらに含むことにさらに留意されたい。別の制約なしに、「includes a ...(...を含む)」の後ろの要素は、要素を含むプロセス、方法、商品、またはデバイス内の追加の同一の要素の存在を除外しない。
本願の一実装が方法、システム、またはコンピュータプログラム製品として提供され得ることを当業者は理解されたい。したがって、本願は、ハードウェアのみの実装、ソフトウェアのみの実装、またはソフトウェアとハードウェアの組合せを有する実装の形態を使用し得る。さらに、本願は、コンピュータ使用可能プログラムコードを含む1つまたは複数のコンピュータ使用可能記憶媒体(限定はしないが、ディスクメモリ、CD−ROM、光メモリなど)上に実装されるコンピュータプログラム製品の形態を使用し得る。
本願は、コンピュータ、たとえばプログラムモジュールによって実行されるコンピュータ実行可能命令の一般的状況において説明され得る。通常、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データカテゴリを実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。本願はまた、分散コンピューティング環境でも実施され得る。分散コンピューティング環境では、通信ネットワークを通じて接続されたリモート処理デバイスによってタスクが実施される。分散コンピューティング環境では、プログラムモジュールは、記憶デバイスを含むローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体のどちらにも配置され得る。
本明細書での実装は漸進的に説明される。実装の同一または類似の部分について、実装に対して参照が行われ得る。各実装は、他の実装との違いに焦点を当てる。具体的には、システム実装は、基本的には方法実装と同様であり、したがって簡潔に説明される。関連する部分について、方法実装での関連する説明に対して参照が行われ得る。
前の説明は本願の実装であり、本願を限定しないものとする。当業者は、本願に対する様々な修正および変更を行い得る。本願の精神および原理から逸脱することなく行われる任意の修正、等価な置換、または改良は、本願の特許請求の範囲内に包含されるものとする。
401 受信モジュール
402 返しモジュール
403 取得モジュール
404 選択モジュール
405 実行モジュール
501 送信モジュール
502 生成モジュール
503 コンセンサスモジュール
504 受信モジュール

Claims (11)

  1. ノードによって第1のブロックを継続的に生成し、ブロックチェーン上に前記第1のブロックを記憶するステップと、
    ブロック生成規則を取得するエンドユーザデバイスに対して前記ブロックチェーンを提供するステップと、
    前記エンドユーザデバイスによってサービスプラットフォームから前記ブロック生成規則を取得するステップと、
    前記ブロックチェーンに基づいて、前記ブロック生成規則に合致する前処理ブロックを生成するステップと、
    前記エンドユーザデバイスによって、1つまたは複数の他のエンドユーザデバイスおよび前記ノードを使用することによって前記前処理ブロックに対してコンセンサス手順を実施するステップと、
    前記前処理ブロックに対する前記コンセンサスが達成されると判定したことに応答して、前記ブロックチェーン上に前記前処理ブロックを第2のブロックとして記憶するステップと、
    所定の条件が満たされるとの判定に応答して、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間でのブロックチェーンの少なくとも一部を前記サービスプラットフォームによって取得するステップと、
    所定の瞬間に基づいて、取得した現瞬間での前記ブロックチェーンから第1のブロックを前記サービスプラットフォームによって決定するステップと、
    決定した前記第1のブロックに基づいて第2のブロックを選択するステップと、
    選択した前記第2のブロック内に含まれるユーザ識別子に基づいて、前記サービスプラットフォームによってサービスを実行するステップと
    を含むサービス実行方法。
  2. ノードが第1のブロックを継続的に生成し、ブロックチェーン上に前記第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対して前記ブロックチェーンを提供する、サービス実行方法であって、
    サービスプラットフォームによって、前記エンドユーザデバイスによって送られた資格取得要求を受信するステップと、
    前記資格取得要求に基づいて前記エンドユーザデバイスに前記ブロック生成規則を返し、その結果、前記エンドユーザデバイスが、前記ブロックチェーンおよび前記ブロック生成規則に基づいて第2のブロックを生成する、ステップと、
    前記ブロックチェーン上に前記第2のブロックを記憶するステップと、
    所定の条件が満たされるとの判定に応答して、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間でのブロックチェーンの少なくとも一部を取得するステップと、
    所定の瞬間に基づいて、取得した前記現瞬間でのブロックチェーンから第1のブロックを決定するステップと、
    決定した前記第1のブロックに基づいて第2のブロックを選択するステップと、
    選択した前記第2のブロック内に含まれるユーザ識別子に基づいてサービスを実行するステップと
    を含むサービス実行方法。
  3. 所定の瞬間に基づいて、取得した前記現瞬間でのブロックチェーンから第1のブロックを決定する前記ステップと、決定した前記第1のブロックに基づいて第2のブロックを選択する前記ステップが、
    前記ブロックチェーン上のすべての前記第1のブロックの生成時間を決定するステップと、
    生成時間が前記所定の瞬間に最も近い第1のブロックを決定するステップと、
    前記第1のブロックをマーク済みブロックと決定するステップと、
    取得した前記現瞬間でのブロックチェーンから、前記マーク済みブロックの後に位置する第2のブロックを選択するステップと
    を含む請求項2に記載のサービス実行方法。
  4. 取得した前記現瞬間でのブロックチェーンから、前記マーク済みブロックの後に位置する第2のブロックを選択する前記ステップが、
    前記現瞬間での前記ブロックチェーンから、前記現瞬間での前記ブロックチェーン上のブロックのランキングシーケンスにおいて、前記マーク済みブロックの後に位置する所定の数の第2のブロックを選択するステップ
    を含む請求項3に記載のサービス実行方法。
  5. ノードが第1のブロックを継続的に生成し、ブロックチェーン上に前記第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対して前記ブロックチェーンを提供する、サービス実行方法であって、
    前記エンドユーザデバイスによってサービスプラットフォームに資格取得要求を送り、その結果、前記サービスプラットフォームが前記エンドユーザデバイスに前記ブロック生成規則を返す、ステップと、
    前記ブロックチェーンおよび前記ブロック生成規則に基づいて前処理ブロックを生成するステップと、
    1つまたは複数の他のエンドユーザデバイスおよび前記ノードを使用することによって前記前処理ブロックに対してコンセンサス手順を実施するステップと、
    前記コンセンサスが達成される前記前処理ブロックを第2のブロックとして前記ブロックチェーン上に記憶するステップと、
    前記サービスプラットフォームによって送られた資格確認情報を受信したことに応答して、前記エンドユーザデバイスによって記憶されている現瞬間での前記ブロックチェーンを前記サービスプラットフォームに送り、その結果、前記サービスプラットフォームが、前記現瞬間での前記ブロックチェーン上の第1のブロックおよび第2のブロックに基づいてサービスを実行する、ステップと
    を含むサービス実行方法。
  6. 前記ブロックチェーンおよび前記ブロック生成規則に基づいて前処理ブロックを生成する前記ステップが、
    前記ブロックチェーン上の最後のブロックのブロック特徴値を決定するステップと、
    調節パラメータ、前記ブロック特徴値、およびユーザ識別子を使用することによって生成される検証すべき特徴値が前記ブロック生成規則を満たすように前記調節パラメータを決定するステップと、
    前記検証すべき特徴値、前記ブロック特徴値、前記調節パラメータ、および前記ユーザ識別子に基づいて前記前処理ブロックを生成するステップと
    を含む請求項5に記載のサービス実行方法。
  7. ノードが第1のブロックを継続的に生成し、ブロックチェーン上に前記第1のブロックを記憶し、ブロック生成規則を取得するエンドユーザデバイスに対して前記ブロックチェーンを提供する、サービス実行デバイスであって、
    前記エンドユーザデバイスによって送られた資格取得要求を受信するように構成された受信モジュールと、
    前記資格取得要求に基づいて前記エンドユーザデバイスに前記ブロック生成規則を返すように構成された返しモジュールであって、その結果、前記エンドユーザデバイスが、前記ブロックチェーンおよび前記ブロック生成規則に基づいて第2のブロックを生成し、前記ブロックチェーン上に前記第2のブロックを記憶する、返しモジュールと、
    所定の条件が満たされるとの判定に応答して、少なくとも1つのエンドユーザデバイスまたは少なくとも1つのノードから、現瞬間での前記ブロックチェーンの少なくとも一部を取得するように構成された取得モジュールと、
    所定の瞬間に基づいて、取得した前記現瞬間でのブロックチェーンから第1のブロックを決定し、決定した前記第1のブロックに基づいて第2のブロックを選択するように構成された選択モジュールと、
    選択した前記第2のブロック内に含まれるユーザ識別子に基づいてサービスを実行するように構成された実行モジュールと
    を備えるサービス実行デバイス。
  8. 前記選択モジュールが、
    前記ブロックチェーン上のすべての前記第1のブロックの生成時間を決定し、
    生成時間が前記所定の瞬間に最も近い第1のブロックを決定し、
    前記第1のブロックをマーク済みブロックと決定し、
    取得した前記現瞬間でのブロックチェーンから前記マーク済みブロックの後に位置する第2のブロックを選択する
    ように構成される請求項7に記載のサービス実行デバイス。
  9. 前記選択モジュールが、前記現瞬間での前記ブロックチェーンから、前記現瞬間での前記ブロックチェーン上のブロックのランキングシーケンスにおいて、前記マーク済みブロックの後に位置する所定の数の第2のブロックを選択するように構成される請求項8に記載のサービス実行デバイス。
  10. ノードが第1のブロックを継続的に生成し、ブロックチェーン上に前記第1のブロックを記憶し、ブロック生成規則を取得するデバイスに対して前記ブロックチェーンを提供する、サービス実行デバイスであって、
    サービスプラットフォームに資格取得要求を送るように構成された送信モジュールであって、その結果、前記サービスプラットフォームが前記デバイスに前記ブロック生成規則を返す、送信モジュールと、
    前記ブロックチェーンおよび前記ブロック生成規則に基づいて前処理ブロックを生成するように構成された生成モジュールと、
    1つまたは複数の他のエンドユーザデバイスおよび前記ノードを使用することによって前記前処理ブロックに対してコンセンサス手順を実施し、前記コンセンサスが達成される前記前処理ブロックを第2のブロックとして前記ブロックチェーン上に記憶するように構成されたコンセンサスモジュールと、
    前記サービスプラットフォームによって送られた資格確認情報を受信したことに応答して、前記デバイスによって記憶されている現瞬間での前記ブロックチェーンを前記サービスプラットフォームに送るように構成された受信モジュールであって、その結果、前記サービスプラットフォームが、前記現瞬間での前記ブロックチェーン上の第1のブロックおよび第2のブロックに基づいてサービスを実行する、受信モジュールと
    を備えるサービス実行デバイス。
  11. 前記生成モジュールが、
    前記ブロックチェーン上の最後のブロックのブロック特徴値を決定し、
    調節パラメータ、前記ブロック特徴値、およびユーザ識別子を使用することによって生成される検証すべき特徴値が前記ブロック生成規則を満たすように前記調節パラメータを決定し、
    前記検証すべき特徴値、前記ブロック特徴値、前記調節パラメータ、および前記ユーザ識別子に基づいて前記前処理ブロックを生成する
    ように構成される請求項10に記載のサービス実行デバイス。
JP2019541111A 2017-05-22 2018-05-21 サービス実行方法およびデバイス Active JP6727633B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710362074.3A CN107395664B (zh) 2017-05-22 2017-05-22 一种业务执行的方法及装置
CN201710362074.3 2017-05-22
PCT/CN2018/087601 WO2018214834A1 (zh) 2017-05-22 2018-05-21 一种业务执行的方法及装置

Publications (2)

Publication Number Publication Date
JP2020515940A true JP2020515940A (ja) 2020-05-28
JP6727633B2 JP6727633B2 (ja) 2020-07-22

Family

ID=60338964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019541111A Active JP6727633B2 (ja) 2017-05-22 2018-05-21 サービス実行方法およびデバイス

Country Status (12)

Country Link
US (1) US10554388B2 (ja)
EP (1) EP3565219B1 (ja)
JP (1) JP6727633B2 (ja)
KR (1) KR102050006B1 (ja)
CN (1) CN107395664B (ja)
ES (1) ES2875849T3 (ja)
MY (1) MY194399A (ja)
PH (1) PH12019501751A1 (ja)
PL (1) PL3565219T3 (ja)
SG (1) SG11201906901WA (ja)
TW (1) TWI664549B (ja)
WO (1) WO2018214834A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107395664B (zh) 2017-05-22 2019-09-03 阿里巴巴集团控股有限公司 一种业务执行的方法及装置
CN108648078B (zh) * 2018-05-02 2021-03-23 杭州溪塔科技有限公司 一种交易预处理方法、装置及电子设备
US11444769B2 (en) * 2018-07-02 2022-09-13 Ares Technologies, Inc. Systems, devices, and methods for signal localization and verification of sensor data
CN109218424B (zh) * 2018-09-14 2020-11-03 四川海纳仁东科技有限公司 基于区块链节点算力的任务分配方法
US11614769B2 (en) * 2019-07-15 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Asynchronous distributed coordination and consensus with threshold logical clocks
CN110598471A (zh) * 2019-09-17 2019-12-20 深圳市网心科技有限公司 基于区块链的时间戳生成方法、装置、系统及存储介质
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
CN111614968B (zh) * 2020-05-11 2021-12-17 厦门潭宏信息科技有限公司 一种直播方法、设备及存储介质
CN112162671B (zh) * 2020-10-13 2022-03-25 北京达佳互联信息技术有限公司 直播数据处理方法、装置、电子设备及存储介质
CN113765665B (zh) * 2021-11-10 2022-02-08 济南量子技术研究院 基于量子密钥的区块链网络及数据安全传输方法
CN116204110A (zh) * 2021-11-30 2023-06-02 腾讯科技(深圳)有限公司 基于区块链的区块处理方法、装置及设备、介质、产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260171A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
WO2017007806A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
JP2017091148A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496667B2 (en) * 2006-01-31 2009-02-24 International Business Machines Corporation Decentralized application placement for web application middleware
US20090138328A1 (en) * 2007-11-26 2009-05-28 Yahoo! Inc. Targeted distribution of commercial incentives
CN105096132A (zh) * 2014-05-22 2015-11-25 阿里巴巴集团控股有限公司 交易资格的控制、获取方法及装置
US9608829B2 (en) * 2014-07-25 2017-03-28 Blockchain Technologies Corporation System and method for creating a multi-branched blockchain with configurable protocol rules
CN105991731A (zh) * 2015-02-13 2016-10-05 中兴通讯股份有限公司 一种获取信息的方法、智能终端和服务端
US20160283920A1 (en) * 2015-03-28 2016-09-29 Justin Fisher Authentication and verification of digital data utilizing blockchain technology
CN108140180A (zh) * 2015-07-28 2018-06-08 雷蛇(亚太)私人有限公司 用于奖励产生分布式数字资源场的服务器及控制用于奖励产生分布式数字资源场的服务器的方法
US10402792B2 (en) 2015-08-13 2019-09-03 The Toronto-Dominion Bank Systems and method for tracking enterprise events using hybrid public-private blockchain ledgers
CN105160572A (zh) * 2015-09-30 2015-12-16 努比亚技术有限公司 控制订单生成的装置、方法及秒杀系统
US20170132615A1 (en) 2015-11-11 2017-05-11 Bank Of America Corporation Block chain alias for person-to-person payments
CN105976248A (zh) * 2016-04-29 2016-09-28 邓迪 一种众筹抽签方法及系统
US20170330159A1 (en) * 2016-05-13 2017-11-16 Bank Of America Corporation Resource allocation and transfer in a distributed network
CN106202505B (zh) * 2016-07-20 2019-09-20 北京京东尚科信息技术有限公司 数据处理方法及其系统
CN106446067B (zh) * 2016-09-06 2020-02-18 联动优势科技有限公司 一种获取交易数据的方法和装置
CN106504174A (zh) * 2016-09-27 2017-03-15 布比(北京)网络技术有限公司 基于区块链的博彩发行系统及装置
CN106411777A (zh) * 2016-09-27 2017-02-15 福建中金在线信息科技有限公司 一种处理高并发数据的方法和系统
CN106603698A (zh) * 2016-12-28 2017-04-26 北京果仁宝科技有限公司 基于dpos的区块链共识方法和节点
CN106651332B (zh) * 2016-12-29 2020-11-06 成都质数斯达克科技有限公司 一种区块链中新区块的生成方法及区块链
US11095432B2 (en) * 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof
CN107395664B (zh) * 2017-05-22 2019-09-03 阿里巴巴集团控股有限公司 一种业务执行的方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160260171A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Systems and methods for a commodity contracts market using a secure distributed transaction ledger
WO2017007806A1 (en) * 2015-07-09 2017-01-12 Ouisa, LLC Systems and methods for trading, clearing and settling securities transactions using blockchain technology
JP2017091148A (ja) * 2015-11-09 2017-05-25 日本電信電話株式会社 ブロックチェーン生成装置、ブロックチェーン生成方法、ブロックチェーン検証装置、ブロックチェーン検証方法およびプログラム

Also Published As

Publication number Publication date
SG11201906901WA (en) 2019-08-27
KR20190099317A (ko) 2019-08-26
PH12019501751A1 (en) 2019-09-16
JP6727633B2 (ja) 2020-07-22
ES2875849T3 (es) 2021-11-11
EP3565219B1 (en) 2021-03-31
TW201901502A (zh) 2019-01-01
MY194399A (en) 2022-11-30
EP3565219A4 (en) 2020-02-26
US10554388B2 (en) 2020-02-04
PL3565219T3 (pl) 2021-09-20
EP3565219A1 (en) 2019-11-06
CN107395664B (zh) 2019-09-03
TWI664549B (zh) 2019-07-01
US20190334699A1 (en) 2019-10-31
KR102050006B1 (ko) 2019-11-28
WO2018214834A1 (zh) 2018-11-29
CN107395664A (zh) 2017-11-24

Similar Documents

Publication Publication Date Title
JP6727633B2 (ja) サービス実行方法およびデバイス
KR102152556B1 (ko) 서비스 프로세싱 및 합의 방법 및 디바이스
JP7007398B2 (ja) トランザクション要求を処理するための方法及び装置
US20200160336A1 (en) Method and apparatus for consensus verification
KR102140414B1 (ko) 블록체인 합의 방법 및 디바이스
CN107392623B (zh) 一种业务执行的方法及装置
US10756901B2 (en) Blockchain-based identity authentication method, apparatus, and device
JP2020509445A (ja) ブロックチェーンコンセンサス形成の方法およびデバイス
JP2020515976A (ja) ブロックチェーンコンセンサスのための方法、装置およびシステム
CN107392611A (zh) 一种发送交易信息和共识验证的方法及装置
JP2020515197A (ja) ブロックデータ検証方法および装置
JP2020513622A (ja) 携帯装置において利用されるスキャンアンドペイ方法と装置
US11201870B2 (en) Using commit tokens to coordinate permissions submissions to address transaction conflict in blockchain systems
WO2023109520A1 (zh) 基于区块链的随机数生成方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190927

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20190927

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200625

R150 Certificate of patent or registration of utility model

Ref document number: 6727633

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250