Zero-knowledge blockchain attribution

By using zero-knowledge blockchain technology, content publishers and merchants transfer token value to users without jeopardizing user privacy and transferring them to measurement companies for calculations, solving the problem that existing systems are difficult to accurately calculate marketing attribution and improvement, achieving high precision and privacy protection effects.

CN113728584BActive Publication Date: 2025-03-25SHIKE TECHNOLOGY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202080029549.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-04-16
Filing Date
2020-04-09
Publication Date
2025-03-25
Estimated Expiration
2040-04-09

AI Technical Summary

Technical Problem

Existing systems have difficulty accurately computing marketing attributions and enhancements while maintaining user privacy, especially under the standards of third-party tracking and new browsers/operating systems preventing user data from being shared across sites.

Method used

Using zero-knowledge blockchain technology to calculate attribution and enhance results, and by transferring impression token value to users through content publishers and merchants, and recording these transfers on zero-knowledge blockchain, users can transfer tokens to measurement companies for calculations.

Benefits of technology

It realizes accurate calculation of marketing attribution and improvement results without jeopardizing user privacy, solving the problems of existing systems in privacy protection and calculation accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113728584B_ABST
    Figure CN113728584B_ABST
Patent Text Reader

Abstract

The content publisher may transfer an impression token value to the user in response to the content publisher displaying the merchant's advertisement to the user. The content publisher may record the transfer on the zero-knowledge blockchain. The merchant may transfer a conversion token value to the user in response to the user making a purchase from the merchant. The merchant may record the transfer on the zero-knowledge blockchain. The user may transfer the impression token value and the conversion token value to the measurement company. The measurement company may calculate attribution and lift results for the advertisement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to the field of computer technology, and more particularly to attribution for conversions.

[0002] background

[0003] Computer systems use various software programs and methods to assess marketing attribution and lift. Attribution describes how different actions and events contribute to the success of marketing and sales efforts. For example, cookies can be used to track users' online actions. HTTP cookies (also known as web cookies, Internet cookies, browser cookies, or simply cookies) are small pieces of data sent from a website and stored on a user's computer by the user's web browser while the user is browsing. Cookies allow a website to remember stateful information (such as items added to a shopping cart in an online store) or to record a user's browsing activities (including clicking buttons, logging in, or recording which pages have been visited in the past).

[0004] Cookies can cause a user's actions to be stored in log files, and when a user makes a purchase, log files can indicate what ads and content the user previously viewed. However, many users and content publishers who are concerned about user privacy are hesitant to allow cookies to track an individual's online activities, especially when the tracking is performed by a third party. In addition, many newer browsers and operating systems implement standards that prevent cross-site sharing of user data. Existing systems have difficulty accurately calculating marketing attribution and uplift while maintaining adequate user privacy.

[0005] Overview

[0006] This article describes systems and methods for calculating attribution and promotion results without compromising user privacy using a zero knowledge blockchain. In response to a content publisher displaying a merchant's advertisement to a user, the content publisher can transfer an impression token value to the user. The content publisher can record the transfer on the zero knowledge blockchain. In response to a user making a purchase from a merchant, the merchant can transfer a conversion token value to the user. The merchant can record the transfer on the zero knowledge blockchain. The user can transfer the impression token value and the conversion token value to a measurement company. The measurement company can calculate the attribution and promotion results of the advertisement.

[0007] In some embodiments, the listed components can perform actions including: transmitting advertisements by a content publisher to a client device; transferring impression token value by the content publisher to the client device based on the transmission of the advertisements; and publishing an impression block by the content publisher to a zero-knowledge blockchain, wherein the impression block records the transfer of impression token value.

[0008] In some embodiments, the merchant transfers the conversion token value to the client device. The client device can transfer the impression token value and the conversion token value to the measurement company. The action can include storing a copy of the zero-knowledge blockchain by the content publisher. The copy of the zero-knowledge blockchain can include an impression block, a conversion block that records the transfer of the conversion token value from the merchant to the client device, and a measurement block that records the transfer of the impression token value and the conversion token value from the client device to the measurement company. The action can include receiving the results of the attribution calculation or the boost calculation from the measurement company by the content publisher. The action can include generating a zero-knowledge proof by the content publisher to verify the transfer of the impression token value.

[0009] The features and advantages described in the specification are not all-inclusive, and in particular, many additional features and advantages will be apparent to those of ordinary skill in the art in view of the drawings, description and claims. It should also be noted that the language used in the specification is primarily selected for readability and teaching purposes, and may not be selected to describe or limit the inventive subject matter. BRIEF DESCRIPTION OF THE DRAWINGS

[0011] Figure 1 is a block diagram of a system for calculating marketing attribution and uplift using a zero-knowledge blockchain, according to an embodiment.

[0012] Figure 2 is a block diagram of a content publisher according to an embodiment.

[0013] Figure 3 is a block diagram of a blockchain subsystem for a content publisher according to an embodiment.

[0014] Figure 4 is an example portion of a zero-knowledge blockchain according to an embodiment.

[0015] Figure 5 is a flow chart illustrating a method of calculating attribution using a zero-knowledge blockchain according to an embodiment.

[0016] Figure 6 is a flow chart illustrating a method for computing boost using a zero-knowledge blockchain according to an embodiment.

[0017] The accompanying drawings depict embodiments of the present disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods shown herein may be employed without departing from the principles of the present invention described herein.

[0018] Detailed Description

[0019] Figure 1 A detailed view of a system 100 for calculating attribution and boost using a zero-knowledge blockchain is shown. The system 100 may include a content publisher 110, a merchant system 120, a measurement company 130, and one or more client devices 140. These various components will now be described in additional detail.

[0020] The content publisher 110 may include one or more computers, servers and / or databases configured to generate digital content (e.g., a website or application) that can be accessed through a network. The content publisher 110 may be configured to transmit advertisements to the client device 140 on behalf of a third-party advertiser (e.g., a merchant system 120). The content publisher 110 provides impressions of advertisements to the client device 140. A single instance of a content item supplied (e.g., provided or "published") to the client device 140 is referred to herein as an impression. In some embodiments, impressions are counted (i.e., recordable impression information is generated) only when the content item is fully displayed, displayed for more than a threshold amount (e.g., at least 80% of the surface area of ​​an image or at least 50% of the duration of a video), displayed for at least a threshold amount of time (e.g., one second), when a user participates in a content item, when a user initiates a purchase in response to a content item, or based on one or more other conditions or a combination of conditions. Impression level data (also referred to as impression data) is data describing personal impressions. In some embodiments, an impression is generated when content is transmitted, and the impression level data includes data describing the extent of the content presented (e.g., in terms of display area or time), the user's interaction with the content, etc. The impression level data may include an identity of the recipient of the impression (e.g., client device 140 or a user of client device 140), the time or approximate time of the impression, and the identity of the content.

[0021] The content publisher 110 may provide content directly to the client device 140, such as through an application or website provided by the content publisher 110. In addition, the content publisher 110 may arrange with one or more additional content publishers to provide content to the client device 140. For example, the content publisher 110 may provide advertisements to another content publisher (such as a website or application provider), which displays advertisements to the client device 140 that accesses the web page or application of the content publisher 110. The content publisher 110 may be configured to store log files of actions performed by the client device 140, such as URLs accessed by the client device 140 and advertisements displayed to the client device 140. The content publisher 110 may store demographic information of users who maintain accounts at the content publisher 110.

[0022] Merchant system 120 may include one or more computers, servers, and / or databases configured to generate digital content (e.g., a website or application) that can be accessed through a network. Merchant system 120 may be operated by a merchant that sells goods or services. Merchants may advertise on third-party websites or applications (e.g., those provided by content publisher 110). Merchant system 120 may be configured to store log files of actions performed by client device 140 (e.g., URLs accessed by client device 140 and purchases made by client device 140).

[0023] The measurement company 130 may include one or more computers, servers, and / or databases configured to calculate attribution and lift. In some embodiments, the measurement company 130 may be a subsystem of or controlled by the content publisher 110 or merchant system 120. In some embodiments, the measurement company 130 may be operated by an independent third party and charge the merchant system 120 or the measurement company 130 a fee for its services.

[0024] The client device 140 is one or more computing devices capable of receiving user input and transmitting and / or receiving data via the network 150. In one embodiment, the client device 140 is a conventional computer system, such as a desktop or laptop computer. Alternatively, the client device 140 may be a device with computer functionality, such as a personal digital assistant (PDA), a mobile phone, a smart phone, or other suitable device. The client device 140 is configured to communicate via the network 150. In one embodiment, the client device 140 executes an application that allows a user of the client device 140 to interact with the content publisher 110. For example, the client device 140 executes a browser application to enable interaction between the client device 140 and the content publisher 110 via the network 150. In another embodiment, the client device 140 communicates with the content publisher 110 via a native operating system of the client device 140 (e.g., or ANDROID TM ) to interact with content publisher 110.

[0025] The network 150 may include any combination of local area networks and / or wide area networks using wired and / or wireless communication systems. In one embodiment, the network 150 uses standard communication technologies and / or protocols. For example, the network 150 includes communication links using technologies such as Ethernet, 802.11, Worldwide Interoperability for Microwave Access (WiMAX), 3G, 4G, Code Division Multiple Access (CDMA), Digital Subscriber Line (DSL), etc. Examples of network protocols for communicating through the network 150 include Multi-Protocol Label Switching (MPLS), Transmission Control Protocol / Internet Protocol (TCP / IP), Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), and File Transfer Protocol (FTP). The data exchanged through the network 150 may be represented using any suitable format, such as Hypertext Markup Language (HTML) or Extensible Markup Language (XML). In some embodiments, all or some of the communication links of the network 150 may be encrypted using any suitable one or more technologies.

[0026] Figure 2 is a block diagram of the architecture of the content publisher 110 . Figure 2 The illustrated content publisher 110 includes a user profile storage 205, a content storage 210, an action recorder 215, an action log 220, a blockchain subsystem 230, and a web server 235. In other embodiments, the content publisher 110 may include additional, fewer, or different components for various applications. Additional components, such as network interfaces, security functions, load balancers, failover servers, management and network operation consoles, etc., are not shown so as not to obscure the details of the system architecture.

[0027] Each user of the content publisher 110 is associated with a user profile stored in the user profile storage 205. The user profile includes declarative information about the user that is explicitly shared by the user, and may also include profile information inferred by the content publisher 110. In one embodiment, the user profile includes multiple data fields, each of which describes one or more attributes of the corresponding system user. Examples of information stored in the user profile include biographical, demographic, and other types of descriptive information, such as work experience, educational history, gender, hobbies or preferences, location, etc. The user profile may also store other information provided by the user, such as images or videos. In some embodiments, the user's image may be marked with information identifying the system user displayed in the image, with information identifying the image (where the user is marked) stored in the user profile of the user. The user profile in the user profile storage 205 may also maintain references to actions performed by the corresponding user on the content items in the content storage 210 and stored in the action log 220.

[0028] Although the user profile in the user profile storage 205 is often associated with an individual, allowing the individual to interact with each other via the content publisher 110, the user profile can also be stored for an entity such as a business or organization. This allows the entity to establish a presence on the content publisher 110 for connecting with other system users and exchanging content. The entity can use the brand page associated with the user profile of the entity to publish (post) information about itself, about its products, or provide other information to the users of the content publisher 110. Other users of the content publisher 110 can be connected to the brand page to receive information published to the brand page or receive information from the brand page. The user profile associated with the brand page can include information about the entity itself, which provides background or information data about the entity to the user.

[0029] Content storage 210 stores objects, each of which represents various types of content. Examples of content represented by objects include page posts, status updates, photos, videos, links, shared content items, game application achievements, check-in events of local businesses, brand pages, or any other types of content. System users can create objects stored by content storage 210, such as status updates, photos, events, groups, or applications that are marked by users as being associated with other objects in content publisher 110. In some embodiments, objects are received from third-party applications or third-party applications separated from content publisher 110. In one embodiment, the objects in content storage 210 represent single pieces of content or content "items". Therefore, system users are encouraged to communicate with each other by publishing text and content items of various types of media to content publisher 110 via various communication channels. This increases the amount of interaction between users and each other, and increases the frequency of user interaction within content publisher 110.

[0030] One or more content items included in the content storage 210 include advertisements for presentation to the user and bid amounts. The advertisement may include a content item, which includes content presented to the user, such as text, images, audio, video, or any other suitable data. In various embodiments, the content also specifies a content page. For example, the content item includes a landing page that specifies the network address of the content page to which the user is directed when the content item is accessed. The bid amount is included in the content item by the user and is used to determine the expected value, such as monetary compensation, provided by the advertiser to the content publisher 110 in exchange for the impression of the content item. For example, the bid amount included in the content item specifies: if the client device 140 receives the impression of that content item, the monetary amount received by the content publisher 110 from the merchant or other third-party system that provides the content item to the content publisher 110. In some embodiments, the expected value of presenting content from the content item to the content publisher 110 can be determined by multiplying the bid amount by the probability that the content of the content item is accessed (e.g., clicked) by the user.

[0031] In various embodiments, the content item includes various components that can be identified and retrieved by the content publisher 110. Example components of the content item include: a title, text data, image data, audio data, video data, a landing page, a user associated with the content item, or any other suitable information. In some embodiments, the content publisher 110 can retrieve one or more specific components of the content item for presentation. For example, the content publisher 110 can identify a title and an image from the content item and provide the title and the image for presentation, rather than providing the entire content item for presentation.

[0032] Various content items may include identifying the purpose of the interaction that a user associated with the content item expects other users to perform when presented with content included in the content item. Example purposes include: purchasing goods or services from a merchant, installing an application associated with the content item, indicating a preference for the content item, sharing the content item with other users, interacting with an object associated with the content item, or performing any other suitable interaction. When content from the content item is presented to a system user, content publisher 110 records the interaction between users presented with the content item or an object associated with the content item. In addition, when a system user performs an interaction with the content item that satisfies the purpose included in the content item, content publisher 110 receives compensation from a user associated with the content item. In some embodiments, impression level data include data describing any one of these purposes.

[0033] In addition, the content item may include one or more targeting criteria specified by the user providing the content item to the content publisher 110. The targeting criteria included in the content item request specifies one or more characteristics of the user who is eligible to be presented with the content item. For example, the targeting criteria is used to identify users with user profile information, edges, or actions that meet at least one targeting criterion. Therefore, the targeting criteria allows the user to identify users with specific characteristics, simplifying the subsequent distribution of content to different users.

[0034] In one embodiment, the positioning criteria may specify the type of action or connection between a user of the content publisher 110 and another user or object. The positioning criteria may also specify interactions between users and objects performed outside the content publisher 110. For example, the positioning criteria identifies users who have taken a specific action (e.g., sending a message to another user, using an application, joining a group, leaving a group, attending an event, generating an event description, using an online marketplace to purchase or review a product or service, installing an application, or performing any other suitable action). Including actions in the positioning criteria allows the user to further refine the users who are eligible to be presented with content items. As another example, the positioning criteria identifies users who have a connection with another user or object or have a specific type of connection with another user or object.

[0035] The action recorder 215 receives communications about user actions inside and / or outside the content publisher 110, and populates the action log 220 with information about the user actions. Examples of actions include adding a connection with another user, sending a message to another user, uploading an image, reading a message from another user, viewing content associated with another user, and attending an event published by another user. In addition, actions can involve objects and one or more specific users, so these actions are also associated with specific users and stored in the action log 220.

[0036] The action log 220 can be used by the content publisher 110 to track user actions on the content publisher 110, as well as actions on third-party systems that deliver information to the content publisher 110. Users can interact with various objects provided by the content publisher 110, and information describing these interactions is stored in the action log 220. Examples of interactions with objects include: commenting on posts, sharing links, checking-in at physical locations via the client device 140, accessing content items, and any other suitable interactions. In addition, the action log 220 can record the user's interactions with advertisements provided by the content publisher 110 and with other applications operating on the content publisher 110. In some embodiments, data from the action log 220 is used to infer the user's interests or preferences, thereby enhancing the interests included in the user's user profile and allowing a more complete understanding of the user's preferences.

[0037] The blockchain subsystem 230 receives data reflecting the activities of participating entities (e.g., content publishers 110, merchant systems 120, and client devices 140) and adds such data to the blockchain. In particular, the blockchain subsystem 230 creates tokens, collects impression data, calculates token values, creates impression blocks representing transfers of one or more tokens to users, and adds impression blocks to a zero-knowledge blockchain. A zero-knowledge blockchain can be a blockchain on which cryptocurrency transfers are recorded. A blockchain can record shielded transactions that can be fully encrypted on the blockchain yet still be verified as valid under the consensus rules of the network using proofs such as zero-knowledge succinct non-interactive proofs of knowledge (“zk-SNARK”) proofs. Zero-knowledge proofs allow a prover to prove to a verifier that a statement is true without revealing any information beyond the validity of the statement itself. The blockchain subsystem 230 can store a copy of the blockchain. The blockchain can also include blocks added by one or more additional parties. About Figure 3 The blockchain subsystem 230 is described in more detail.

[0038] The web server 235 links the content publisher 110 to one or more client devices 140 and to the merchant system 120 and the measurement company 130 via the network 150. The web server 235 provides web pages and other content, such as XML, etc. The web server 235 can receive and route messages between the content publisher 110 and the client device 140, such as instant messages, queued messages (e.g., emails), text messages, short message service (SMS) messages, or messages sent using any other suitable messaging technology. A user can send a request to the web server 235 to upload information (e.g., images or videos) stored in the content storage 210. In addition, the web server 235 can provide application programming interface (API) functions to send data directly to the local client device operating system, such as ANDROID TM or BlackberryOS.

[0039] Figure 3 1 is a block diagram of a blockchain subsystem 230 of a content publisher 110 according to an embodiment. The blockchain subsystem 230 includes a key storage 305, a token generator 310, an impression recorder 315, an impression blocker 320, and a copy of the blockchain 330. In other embodiments, the blockchain subsystem 230 includes Figure 3 Those elements shown may be fewer, additional, or alternative elements. In some embodiments, Figure 1 Each entity shown - including content publisher 110, merchant system 120 and client device 140 - includes a Figure 3 The blockchain subsystem 230 is shown as a blockchain subsystem.

[0040] The key storage 305 can store keys that can be used by the blockchain subsystem 230. The keys can include a spending key for a control address, a proving key for generating a proof that an input is valid, and a verifying key for checking the proof. As further described herein, the keys can be received from an initial setup ceremony.

[0041] The token generator 310 may be configured to generate tokens. The token generator 310 may send a visible blockchain transaction authenticating the value of those tokens. The token generator 310 may then perform a second transaction that converts the visible tokens into an anonymous note.

[0042] The impression recorder 315 receives data describing impressions provided by or on behalf of the content publisher 110. The impression recorder 315 records this received data in an impression log. The impression recorder 315 records, for each impression, an identifier of the user or client device 140 to which the impression was delivered and the time at which the impression was provided.

[0043] The impression blocker 320 assigns a token value to the impression. The impression blocker 320 writes data representing the transfer of the token value to the user based on the impression data to the blockchain 330. The impression blocker 320 uses zk-SNARKs to prove that the conditions for a valid transaction have been met without revealing any key information about the addresses or values ​​involved. The impression blocker 320 constructs a proof to show that: (1) for each shielded transfer, the input values ​​add up to the output value, (2) the blockchain subsystem 230 has the private spend key of the input instrument, which gives the blockchain subsystem 230 the authority to spend, and (3) the private spend key of the input instrument is cryptographically linked to the signature on the entire transaction, making the transaction impossible to modify by a party that does not know these private keys.

[0044] The impression block data is published to the blockchain. The blockchain subsystem 230 includes a copy of the blockchain 330. The blockchain 330 stores blocks published by the blockchain subsystem 230. The blockchain subsystem 230 may also receive impression blocks, conversion blocks, and measurement blocks published by other systems, such as blocks published by merchant systems, client devices, other content publishers, or other online systems. The blockchain subsystem 230 also stores these blocks on its copy of the blockchain 330. In some embodiments, multiple blockchains or branches of a blockchain are created by the blockchain subsystem 230 and / or other participants in the blockchain.

[0045] Figure 1 and Figure 2 The various components shown (e.g., merchant system 120, measurement company 130, and client device 140) may each include a blockchain subsystem similar to blockchain subsystem 230 that allows the respective entities to store a copy of the blockchain, create new transactions and blocks, and verify existing transactions and blocks.

[0046] Figure 4 is an example portion of a blockchain 400 including an impression block 410, a transformation block 420, and a measurement block 430. A common reference string (also referred to as a public parameter of the blockchain) shared between the prover and the verifier may be generated in the initial setup phase of the blockchain, as is known in existing zero-knowledge blockchains. The public parameters may be generated in a multi-party ceremony that may involve one or more participants of the system 100. The multi-party ceremony may generate a spending key for controlling an address, a proof key for generating proof that an input is valid, and a verification key for checking the proof. The keys may be distributed among the participants in the blockchain.

[0047] In general, each block in a blockchain is formed by combining the hash of the previous block in the blockchain with the transaction data of the block being added. The block may also include a timestamp when the block is added to the blockchain. One or more transactions on the blockchain may be shielded. One or more transactions on the blockchain may use shielded addresses. Each party may generate an unlimited number of tokens that can be transferred between parties. Tokens may be generated by sending visible blockchain transactions that authenticate the value of these tokens. The token issuer may then perform a second transaction that converts the visible tokens into anonymous bills. These anonymous bills may then be transferred from the issuer to others in secret and forwarded among the participants of the blockchain. The transfer may be recorded by the nodes of the blockchain. The transfer of multiple types of currencies may be recorded on the blockchain.

[0048] A blockchain node may store spendable transactions called commitments. To spend a commitment, the sender may reveal a nullifier. A blockchain node may store a list of all commitments that have been created and all nullifiers that have been revealed. Commitments and nullifiers may be stored as hashes to maintain privacy. For each new note created by a shielded payment, a commitment may be published. The commitment may include a hash of at least one of the amount sent, the address of the recipient, a number unique to the note, a rho, or a random nonce.

[0049] When a shielded transaction is spent, the sender uses their spending key to publish a nullifier that is the hash of the rho from an existing commitment that has not yet been spent. The sender can provide a zero-knowledge proof that proves the sender is authorized to spend the transaction.

[0050] The first block in the example portion of blockchain 400 is impression block 410. Impression block 410 may include a previous block (in Figure 4 The impression block 410 may be generated by a content publisher in response to displaying an advertisement to a user. The impression block 410 may record the transfer of impression tokens from the content publisher to the user. The impression blocker 320 uses the proof key to generate a zero-knowledge proof 414 that verifies that the input is valid. The zero-knowledge proof 414 verifies that: for each input ticket, the revealed commitment exists; the nullifier and ticket commitment are calculated correctly; and it is infeasible for the nullifier of the output node to collide with the nullifier of any other ticket.

[0051] The second block in the example portion of blockchain 400 is a conversion block 420. Conversion block 420 may include a hash 422 of impression block 410 and a zero-knowledge proof 424 of validity. Conversion block 420 may be generated by a merchant system in response to a user performing an action. In one embodiment, the action may include a user purchasing a good or service from a merchant. In other embodiments, the action may include a user selecting a link, interacting with an object, watching a video, or visiting a web page provided by a merchant system. In response to the user performing an action, the merchant system may transmit a conversion token value to the user. In one embodiment, the conversion token value may be based on a specific action performed by the user. For example, the conversion token value may be proportional to the cost of an item purchased by the user from the merchant system. Conversion block 420 may record the transfer of conversion tokens from the merchant system to the user. The merchant system may use a proof key to generate a zero-knowledge proof 424 that verifies that the input is valid. The merchant system may use their spending key to publish the transfer as a shielded transaction so that other parties cannot see the details of the transaction.

[0052] The third block in the example portion of blockchain 400 is measurement block 430. Measurement block 430 may include a hash 432 of conversion block 420 and a zero-knowledge proof of validity 434. Measurement block 430 may be generated by a client device in response to a request from a merchant system. For example, if a user agrees to transfer impression tokens and conversion tokens to a measurement company, the merchant system may offer a discount on a purchase to the user. In response to the user accepting the offer, for example by clicking on a link, the client device may initiate the transfer and generate measurement block 430. In one embodiment, a browser or operating system on a client device may be programmed to automatically transfer impression tokens and conversion tokens in response to an action taken on the client device (e.g., a user purchasing goods or services from a merchant). In other embodiments, the action may include a user selecting a link, interacting with an object, watching a video, or visiting a web page provided by a merchant system. In response to a merchant request or a user performing an action, the client device may transfer impression tokens and conversion tokens to a measurement company. The merchant system may publish or transmit a list of tokens that the merchant system is willing to accept for a particular purchase. For example, a merchant system may accept tokens issued by a merchant for advertising of related products. The merchant system may also publish the number of tokens the merchant is willing to accept and what discount the merchant may offer in exchange for the user transferring the tokens. The client device may select available tokens to transfer by comparing the tokens received by the client device with the tokens the merchant system is willing to accept. In some embodiments, the client device may prompt the user to select the tokens to transfer.

[0053] The measurement block 430 may record the transfer of tokens from the user to the measurement company. The client device may use the proof key to generate a zero-knowledge proof 434 that verifies that the input is valid. The client device may use its spending key to publish the transfer as a shielded transaction so that parties other than the user and the measurement company cannot see the details of the transaction.

[0054] Figure 5 is a flow chart illustrating a method 500 for calculating attribution using a zero-knowledge blockchain. In other embodiments, the process may include Figure 5 In addition, in various embodiments, the steps of method 500 may be combined with Figure 5 The order in which they are described is different from the order in which they are executed.

[0055] The content publisher receives a request for content from a client device (step 501). For example, a user may use a browser on a client device to access a website provided by the content publisher, a user may open a mobile application provided by the content publisher, or a user may use a voice personal assistant to acquire skills. In one embodiment, the client device may transmit an HTTP request to the content publisher to access a web page. In response to the request, the content publisher may transmit the requested content to the client device.

[0056] The content publisher may transmit advertisements to the client device on behalf of the merchant (step 502). One or more of the provided advertisements may be advertisements for the merchant. For example, the advertisement may provide an offer for a product sold by the merchant, and the advertisement may include a link to visit a website provided by the merchant. The content publisher may store impression data describing the presentation of the advertisement to the user.

[0057] The content publisher may transfer the impression token value to the user (step 503). In some embodiments, the user may provide the content publisher with a payment address in conjunction with a request for content from the content publisher. In some embodiments, the content publisher may provide the user with a private key that controls the address with the token, and the user may optionally transfer the token to an account unknown to the content publisher. The content publisher may generate an impression block on the zero-knowledge blockchain that records the transfer of the impression token value to the user. The impression blocker adds the impression block to the blockchain (step 504). The impression blocker uses the proof key to generate a zero-knowledge proof of validity and publishes a new block to the blockchain.

[0058] The client device may transmit a request for content to the merchant (step 505). For example, the user may open a mobile app, select a link, or type a URL on the client device. The user may perform an action, such as purchasing a good or service from the merchant, watching a video provided by the merchant, or creating an account at the merchant. In response to the purchase or other action, the merchant may transfer the conversion token value to the user (step 506). The merchant adds the conversion block to the blockchain. The merchant may use the merchant's proof key to generate a zero-knowledge proof of validity, and the merchant may publish a new conversion block to the blockchain. The merchant may instruct the user to transfer the impression and conversion token value to the measurement company. In one embodiment, if the user agrees to transfer the impression and conversion token value to the measurement company, the merchant may offer the user a discount on the purchase. In one embodiment, the merchant may instruct the user that, as a condition of the purchase, the user agrees to transfer the impression and conversion token value to the measurement company. The merchant may transmit the wallet address of the measurement company to the client device to help the user transfer the impression and conversion token value to the measurement company.

[0059] The client device may transfer the impression token value and the conversion token value to the measurement company (step 507). The client device may generate a measurement block on the zero-knowledge blockchain that records the transfer of the impression token value and the conversion token value to the measurement company. The client device adds the measurement block to the blockchain. The client device uses the proof key to generate a zero-knowledge proof of validity and publishes a new block to the blockchain. The zero-knowledge proof may expose relevant timing information to the measurement company. For example, the zero-knowledge proof may provide a specific time at which any impression token value is received by the user and a specific time at which any conversion token value is received by the user. The user may have received impression tokens from multiple different content publishers, and the impression tokens may have been generated by the corresponding content publisher and traceable back to the corresponding content publisher. In some embodiments, the user may transfer the impression and conversion token values ​​to a merchant or content publisher, and the merchant or content publisher may then transfer the impression and conversion token values ​​to the measurement company.

[0060] The measurement company may evaluate the impression token value and the conversion token value and calculate the attribution results (step 508). For example, the measurement company may receive impression tokens generated by only one content publisher, and the measurement company may determine that the conversion is attributable to the advertisement provided by the content publisher. In one embodiment, the measurement company may receive impression tokens generated by multiple content publishers, and the measurement company may attribute the conversion to the content publisher that transferred the impression token to the user closest in time to the transfer of the conversion token from the merchant to the user. Those skilled in the art will recognize that many complex attribution algorithms are known in the art that can assign attribution to multiple parties, and the measurement company may use any suitable known attribution scheme in order to calculate the attribution results.

[0061] The measurement company can transmit the attribution results to the content publisher or merchant. The content publisher and merchant can use the attribution results to better inform future advertising campaigns, or calculate the payment that the merchant owes to the content publisher in exchange for the content publisher transmitting advertisements to the client device.

[0062] Figure 6 6 is a flow chart illustrating a method 600 for calculating lift using a zero-knowledge blockchain. Lift refers to an increase in conversions in response to a marketing campaign. In particular, lift refers to an increase in the likelihood that a user will purchase a good or service in response to viewing an advertisement. In some embodiments, the process may include: Figure 6 In addition, in various embodiments, the steps of method 600 may be combined with Figure 6 The order in which they are described is different from the order in which they are executed.

[0063] A content publisher can generate multiple currencies. For example, a content publisher can generate an impression currency of exposure that the content publisher transfers to users who view an ad, and a content publisher can generate a control impression currency that the content publisher transfers to users who do not view an ad or view a different ad. Transfers of both currency types can be recorded on the same zero-knowledge blockchain.

[0064] A content publisher receives a request for content from a first client device (step 601). For example, a user may open a mobile application, select a link, or type a URL on a client device. The content publisher may transmit one or more content items to the first client device. The content publisher may transmit an advertisement to the first client device on behalf of a merchant (step 602). The content publisher may store impression data describing the presentation of the advertisement to the user. The content publisher may transfer an exposed impression token value to the user (step 603). The content publisher may transfer the exposed impression token value to multiple users who viewed the advertisement.

[0065] The content publisher may receive a request for content from a second client device (step 604). The content publisher does not display an advertisement to the second client device. In some embodiments, the content publisher may display a different advertisement to the second client device. The content publisher may transmit a control impression token value to the second client device. The content publisher may transmit a control impression token value to multiple client devices that did not receive the advertisement or viewed a different advertisement.

[0066] The content publisher may generate an impression block on the zero-knowledge blockchain that records the impression token value exposed and controls the transfer of the impression token value to the user (step 605). The various transfers may be recorded in the same block, or each transfer may be recorded in its own block. The content publisher adds the impression block to the blockchain. The content publisher uses the proof key to generate a zero-knowledge proof of validity and publishes a new block to the blockchain.

[0067] The subset of users who receive the exposed impression token value and the subset of users who receive the control impression token value can transmit a request for content to the merchant (step 606). For example, the user can open a mobile application, select a link, or type a URL on a client device. The user can perform an action, such as purchasing a good or service from a merchant, watching a video provided by a merchant, or creating an account at a merchant. In response to the purchase or other action, the merchant can transfer the conversion token value to the user (step 607). The merchant adds the conversion block to the blockchain. The merchant can use the merchant's proof key to generate a zero-knowledge proof of validity, and the merchant can publish a new conversion block to the blockchain. The merchant can instruct the user to transfer the impression and conversion token value to the measurement company. In one embodiment, if the user agrees to transfer the impression and conversion token value to the measurement company, the merchant can offer the user a discount on the purchase. In one embodiment, the merchant can instruct the user that as a condition of the purchase, the user agrees to transfer the impression and conversion token value to the measurement company. The merchant can transmit the wallet address of the measurement company to the client device to help the user transfer the impression and conversion token value to the measurement company.

[0068] The client device may transmit the impression token value and the conversion token value to the measurement company (step 608). The client device may generate a measurement block on the zero-knowledge blockchain that records the transfer of the impression token value and the conversion token value to the measurement company. The client device adds the measurement block to the blockchain. The client device uses the proof key to generate a zero-knowledge proof of validity and publishes a new block to the blockchain. The zero-knowledge proof may expose relevant timing information to the measurement company. For example, the zero-knowledge proof may provide the specific time at which any impression token value was received by the user and the specific time at which any conversion token value was received by the user. The user may have received impression tokens from multiple different content publishers, and the impression tokens may have been generated by the corresponding content publishers and traceable back to the corresponding content publishers.

[0069] The measurement company may evaluate the impression token value and the conversion token value and calculate the lift results (step 609). For example, the measurement company may determine that a user who viewed an ad for a merchant is 10% more likely to purchase from the merchant than a user who did not view the ad. Those skilled in the art will recognize that many complex lift algorithms are known in the art, and the measurement company may use any suitable known lift scheme in order to calculate the attribution results.

[0070] The measurement company may transmit the lift results to the content publisher or merchant. In embodiments where the measurement company is a subsystem of the merchant or content publisher, the merchant or content publisher may receive impression tokens and conversion tokens directly from the user, and the merchant or content publisher may calculate attribution and lift results. The content publisher and merchant may utilize the attribution and lift results to better inform future advertising campaigns, or to calculate the payment that the merchant owes to the content publisher in exchange for the content publisher transmitting advertisements to the client device.

[0071] in conclusion

[0072] The foregoing description of the embodiments is presented for the purpose of illustration; it is not intended to be exhaustive or to limit the patent rights to the precise form disclosed. Those skilled in the relevant art will recognize that many modifications and variations are possible in light of the above disclosure.

[0073] Some parts of this specification describe embodiments in terms of algorithms and symbolic representations of operations on information. Those skilled in the art of data processing typically use these algorithmic descriptions and representations to effectively communicate the essence of their work to other technicians in the field. Although these operations are described functionally, computationally, or logically, it should be understood that they will be implemented by computer programs or equivalent circuits, microcodes, etc. In addition, it sometimes proves to be convenient to refer to these arrangements of operations as modules without loss of generality. The described operations and their associated modules can be embodied in software, firmware, hardware, or any combination thereof.

[0074] Any steps, operations or processes described herein may be performed or implemented using one or more hardware or software modules alone or in combination with other devices. In one embodiment, the software modules are implemented using a computer program product including a computer readable medium, the computer readable medium containing computer program code, which may be executed by a computer processor to perform any or all of the steps, operations or processes described.

[0075] Embodiments may also relate to apparatus for performing the operations described herein. The apparatus may be specially constructed for the desired purpose, and / or it may include a general-purpose computing device selectively activated or reconfigured by a computer program stored in a computer. Such a computer program may be stored in a non-transitory, tangible computer-readable storage medium that may be coupled to a computer system bus, or any type of medium suitable for storing electronic instructions. In addition, any computing system mentioned in the specification may include a single processor, or may be an architecture that employs a multi-processor design to increase computing power.

[0076] Embodiments may also relate to products produced by the computing processes described herein. Such products may include information obtained from the computing processes, wherein the information is stored on a non-transitory, tangible computer-readable storage medium and may include any embodiment of a computer program product or other data combination described herein.

[0077] Finally, the language used in the specification is selected primarily for readability and instructional purposes, and it may not be selected to describe or limit patent rights. Therefore, it is intended that the scope of patent rights is not limited by this detailed description but rather by any claims issued on an application based thereon. Therefore, the disclosure of the embodiments is intended to illustrate, but not to limit, the scope of the patent rights set forth in the appended claims.

Claims

1. A computer-implemented method comprising: transmitting advertisements to client devices by content publishers; transferring, by the content publisher to the client device, an impression token value of an impression token based on the transmission of the advertisement, the impression token value being transferred in response to the content publisher transmitting the advertisement to the client device; publishing, by the content publisher, an impression block to a zero-knowledge blockchain, wherein the impression block records the transfer of the impression token value and is stored as one or more hashes in the zero-knowledge blockchain to maintain privacy; receiving, by the content publisher, a conversion block published to the zero-knowledge blockchain by a merchant in response to a purchase performed using the client device, the conversion block recording a transfer of a conversion token value of a conversion token from the merchant to the client device in response to the purchase; receiving, by a measurement company, the impression token value and the conversion token value from the client device and associated timing information from the client device, the client device publishing a measurement block to the zero-knowledge blockchain, the measurement block recording the transfer of the impression token value and the conversion token value from the client device to the measurement company, wherein the associated timing information is exposed to the measurement company via a proof generated by the client device, the associated timing information indicating a first time when the client device received the impression token value and a second time when the client device received the conversion token value; and The purchase is attributed to the content publisher by the measurement company based on the first time and the second time indicated in the associated timing information and the transfer of the impression token value and the conversion token value recorded in the measurement block.

2. The computer-implemented method of claim 1 , wherein: The impression token is generated by the content publisher.

3. The computer-implemented method of claim 1 , wherein: The conversion token is generated by the merchant.

4. The computer-implemented method of claim 1 , further comprising storing, by the content publisher, a copy of the zero-knowledge blockchain.

5. The computer-implemented method of claim 4, wherein: The copy of the zero-knowledge blockchain includes the impression block, the conversion block, and the measurement block recording the transfer of the impression token value and the conversion token value from the client device to the measurement company.

6. The computer-implemented method of claim 5 further includes calculating, by the content publisher, a lift calculation based at least in part on the associated timing information of the client device, the lift calculation indicating an increase in the likelihood that a user will convert the advertisement in response to viewing the advertisement.

7. The computer-implemented method of claim 1 , further comprising generating, by the content publisher, a zero-knowledge proof verifying the transfer of the impression token value.

8. A non-transitory computer-readable storage medium comprising instructions executable by a processor, the instructions, when executed, causing the processor to perform actions comprising: transmitting, by the processor, an advertisement to a client device; transferring, by the processor, an impression token value of an impression token to the client device based on the transmission of the advertisement, the impression token value being transferred in response to a content publisher transmitting the advertisement to the client device; publishing, by the processor, an impression block to a zero-knowledge blockchain, wherein the impression block records the transfer of the impression token value and is stored as one or more hashes in the zero-knowledge blockchain to maintain privacy; receiving, by the processor, a conversion block published by a merchant to the zero-knowledge blockchain in response to a purchase performed using the client device, the conversion block recording a transfer of a conversion token value of a conversion token from the merchant to the client device in response to the purchase; receiving, by the processor, the impression token value and the conversion token value from the client device and associated timing information from the client device, the client device publishing a measurement block to the zero-knowledge blockchain, the measurement block recording the transfer of the impression token value and the conversion token value from the client device to a measurement company, wherein the associated timing information is exposed to the measurement company via a proof generated by the client device, the associated timing information indicating a first time when the client device receives the impression token value and a second time when the client device receives the conversion token value; and The processor attributes the purchase to the content publisher based on the first time and the second time indicated in the associated timing information and the transfer of the impression token value and the conversion token value recorded in the measurement block.

9. The non-transitory computer-readable storage medium of claim 8, wherein: The impression token is generated by the content publisher.

10. The non-transitory computer-readable storage medium of claim 8, wherein: The conversion token is generated by the merchant.

11. The non-transitory computer-readable storage medium of claim 8, the actions further comprising storing, by the processor, a copy of the zero-knowledge blockchain.

12. The non-transitory computer-readable storage medium of claim 11, wherein: The copy of the zero-knowledge blockchain includes the impression block, the conversion block, and the measurement block recording the transfer of the impression token value and the conversion token value from the client device to a measurement company.

13. The non-transitory computer-readable storage medium of claim 12, the action further comprising calculating, by the content publisher, a lift calculation based at least in part on the associated timing information of the client device, the lift calculation indicating an increase in the likelihood that a user will convert the advertisement in response to viewing the advertisement.

14. The non-transitory computer-readable storage medium of claim 8, the actions further comprising generating, by the processor, a zero-knowledge proof verifying the transfer of the impression token value.

15. A computer system comprising: Computer processors; as well as A non-transitory computer-readable storage medium comprising instructions that, when executed by the computer processor, cause the computer system to perform actions comprising: transmitting, by the computer system, an advertisement to a client device; transferring, by the computer system, an impression token value of an impression token to the client device based on the transmission of the advertisement, the impression token value being transferred in response to a content publisher transmitting the advertisement to the client device; publishing, by the computer system, an impression block to a zero-knowledge blockchain, wherein the impression block records the transfer of the impression token value and is stored as one or more hashes in the zero-knowledge blockchain to maintain privacy; receiving, by the computer system, a conversion block published by a merchant to the zero-knowledge blockchain in response to a purchase performed using the client device, the conversion block recording a transfer of a conversion token value of a conversion token from the merchant to the client device in response to the purchase; receiving, by the computer system, the impression token value and the conversion token value from the client device and associated timing information from the client device, the client device publishing a measurement block to the zero-knowledge blockchain, the measurement block recording the transfer of the impression token value and the conversion token value from the client device to a measurement company, wherein the associated timing information is exposed to the measurement company via a proof generated by the client device, the associated timing information indicating a first time when the client device receives the impression token value and a second time when the client device receives the conversion token value; and The purchase is attributed by the computer system to the content publisher based on the first time and the second time indicated in the associated timing information and the transfer of the impression token value and the conversion token value recorded in the measurement block.

16. The computer system of claim 15, wherein: The impression token is generated by the content publisher.

17. The computer system according to claim 15, wherein: The conversion token is generated by the merchant.

18. The computer system of claim 15, the actions further comprising storing, by the computer system, a copy of the zero-knowledge blockchain.

19. The computer system of claim 18, wherein: The copy of the zero-knowledge blockchain includes the impression block, the conversion block, and the measurement block recording the transfer of the impression token value and the conversion token value from the client device to a measurement company.

20. The computer system of claim 19, the actions further comprising calculating, by the content publisher, a lift calculation based at least in part on the associated timing information of the client device, the lift calculation indicating an increase in the likelihood that a user will convert the advertisement in response to viewing the advertisement.

Citation Information

Patent Citations

  • Advertisement communication method and system for stimulating user attention based on block chain

    CN107563817A