WO2020130717A1 - 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 - Google Patents
블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 Download PDFInfo
- Publication number
- WO2020130717A1 WO2020130717A1 PCT/KR2019/018223 KR2019018223W WO2020130717A1 WO 2020130717 A1 WO2020130717 A1 WO 2020130717A1 KR 2019018223 W KR2019018223 W KR 2019018223W WO 2020130717 A1 WO2020130717 A1 WO 2020130717A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- smart contract
- candidates
- vote
- voting
- rating
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 48
- 230000004044 response Effects 0.000 claims description 17
- 230000015654 memory Effects 0.000 claims description 11
- 238000012795 verification Methods 0.000 claims description 7
- 230000000644 propagated effect Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 claims description 2
- 238000011160 research Methods 0.000 abstract description 8
- 238000005266 casting Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 10
- 241000219095 Vitis Species 0.000 description 9
- 235000009754 Vitis X bourquina Nutrition 0.000 description 9
- 235000012333 Vitis X labruscana Nutrition 0.000 description 9
- 235000014787 Vitis vinifera Nutrition 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 241000220225 Malus Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 241000220324 Pyrus Species 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000675108 Citrus tangerina Species 0.000 description 1
- 240000008790 Musa x paradisiaca Species 0.000 description 1
- 235000018290 Musa x paradisiaca Nutrition 0.000 description 1
- 235000014443 Pyrus communis Nutrition 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001684 chronic effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 235000021017 pears Nutrition 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000010902 straw Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0267—Wireless devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0212—Chance discounts or incentives
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0203—Market surveys; Market polls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0207—Discounts or incentives, e.g. coupons or rebates
- G06Q30/0225—Avoiding frauds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/34—Betting or bookmaking, e.g. Internet betting
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C13/00—Voting apparatus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
- H04L2209/463—Electronic voting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Definitions
- the present invention relates to a method and system for selecting a winner among weighted candidates based on a blockchain, and in detail, at least one or more users by voting on a platform driven by blockchain technology for weighted candidates It relates to a method and system for selecting a winner. More specifically, a method of responding to a questionnaire given after a user views an advertisement through a computer or mobile devices and selecting at least one candidate among candidates weighted by a blockchain-based vote among the collected responses And systems.
- the lottery has been practiced as a random selection method for selecting winners, selecting a group of people to perform a mission, or selecting political officials from a large group of candidates.
- Various objects such as straw, piece of paper, and wood are used as a tool for lottery.
- various types of lottery programs are also being used.
- the present invention is to solve the problems in the prior art, and according to the present invention, a method and system for selecting a winner among candidates having different weights based on a blockchain are provided.
- the weight assigned to each of the candidates is determined based on the participation and contribution of participants (users and consumers) participating in the campaign.
- a system for selecting a winner from among weighted candidates based on a blockchain includes: a server including a plurality of candidates each having their own specific weight, and a secret ballot smart contract including a table; And a digital wallet comprising an electronic identification card and configured to communicate with the server.
- the secret voting smart contract is coded to be deployed and executed in a blockchain network, and a voter who has a digital wallet accesses the server's secret voting smart contract using the digital wallet to view a plurality of candidates. You can vote on.
- the weight assigned to each of the candidates randomly selecting at least one winner by lottery among a plurality of candidates is the degree of achievement, participation, and contribution of a certain type of task provided by the server. It is decided on the basis of.
- the task according to the invention consists of a series of actions related to advertising, and in one implementation the task is presented in the form of an advertisement and a questionnaire related to advertising. The user accomplishes the task by viewing the presented advertisement and answering a series of questions recorded in the questionnaire. The series of questions consists of quizzes, surveys, and research that are directly related to advertising.
- one or more tasks may be plural, and the plurality of tasks may be the same type or category, or different types or categories.
- some missions may be quizzes, others may be research.
- some tasks may be presented in the form of a questionnaire, while others may be actionable, such as signing up for a friend.
- the weight determination may be made within the same type, or a mixture of different types may be determined.
- randomly selecting at least one winner by lottery among a plurality of candidates is determined by a blockchain-based vote.
- voting is performed using a smart contract of the Ethereum blockchain.
- Smart contracts are filled with very detailed terms, which are checked by the parties involved in the contract. This eliminates the possibility of future disputes because the conditions are thoroughly checked and all participants agree to find it in place.
- Smart contracts are explicitly coded in a detailed format, providing accuracy.
- data is secure because it is encrypted by cryptographic technology, and it is also reliable due to its transparency and stability.
- FIG. 1 is a system block diagram illustrating an exemplary network environment showing how advertisements produced by an advertiser are delivered to users through an advertisement publisher, in accordance with embodiments of the present invention.
- FIG. 2 is an exemplary diagram showing that an advertisement is displayed on a client device in the system environment of FIG. 1 according to embodiments of the present invention.
- FIG. 2A is a home screen and
- FIG. 2B is a separate screen displaying linked content.
- FIG. 3 is a system conceptual diagram showing the entire process of voting for candidates based on a blockchain according to one implementation of the present invention.
- FIG. 4A is a diagram showing how each candidate is weighted according to an embodiment of the present invention
- FIG. 4B is a diagram showing subdividing each candidate into three classes.
- 5 is a diagram showing a method of selecting at least one candidate as a winner by counting the results of voters based on the blockchain.
- FIG. 6 is a block diagram showing a method of determining one of three grades of a candidate selected according to FIG. 5.
- Figure 7 is a block diagram illustrating components of a machine in the form of a computer, capable of reading instructions from a machine (computer) readable medium and also executing one or more of the methods discussed herein, in accordance with embodiments of the present invention. to be.
- the network environment 100 includes a client device 110, a publisher content server 130, and a publisher advertisement server 140.
- the network environment 100 may further include an advertiser/agency advertisement server 120.
- the client device or user device 110 is a computing device, such as a desktop, laptop (aka laptop), tablet, smartphone and other mobile devices, and devices capable of receiving and presenting a stream of video and/or other multimedia content. It may include.
- the client device 110 can include a display (configured) or other user interface configured to display content such as processed images, web pages, documents, video content, and the like.
- the client device 110 can request content and receive content from web sites through a network 150 such as the Internet.
- the network 150 may be a public network (eg, the Internet), a private network (eg, a local area network (LAN), or a wide area network (WAN)), a wired network (eg, an Ethernet network), wireless Networks (eg, Wi-Fi networks), routers, hubs, switches, server computers, and/or combinations thereof.
- the user requests the web page to the publisher content server 130 via the network 150 by the client device 110, and in response to this request, the publisher content server 130 requests The transferred web page is transmitted to the client device 110.
- the advertising space (advertising or ad space) allocated to the web page provided by the publisher content server 130
- various types of advertisements for example, banner, pop-up and pop-under, video advertisement, etc.
- advertisements will be displayed on a web page provided by the publisher content server 130 by the advertiser/agency advertisement server 120.
- the advertisements displayed by the ad servers 120, 140 on the user's client device 110 are briefly specific web pages of the publisher or agency ad servers 120, 140 It contains only links to the Internet.
- the user's Internet browser may send the client device 110 to the publisher ad server 140 or the advertiser/agency ad server 120. You will be redirected to a specific web page to watch the clicked ad. How this process is performed will be described below using display advertising, and more specifically, banner ads, one of the representative advertisements among display ads.
- Display advertisements are advertisements on a website in a nutshell, and are provided in various formats.
- the display advertisement includes various items such as text, image, flash, video, and audio.
- Display advertisements are online advertisements in which the company's (advertiser)'s promotional messages appear on third-party sites, such as publishers or social networks, or on search engine results pages.
- Banner advertisement is one of the representative forms of display advertisement. At one time, it became the dominant type of display advertisements, but the ad connection rate declined from being dismissed by users who were fed up with the flood of advertisements, and the effectiveness of the advertisements was being questioned. However, banner advertisements still maintain its ripple effect and still remain as a major medium in the advertising market. And above all, it is a suitable example for understanding the advertisement system related to FIG. 1 of the present invention.
- Banner ads in short, are a special type of hypertext links.
- the basic role of a text link is that when a user clicks on a piece of text, a series of HTML code commands the web server to fetch a specific web page.
- a banner ad is essentially a text link, except that it is displayed as a box containing graphics (typically having literal elements) and sometimes animations instead of text.
- banner advertisements may further include files such as video and audio.
- a web page or a series of web pages provided from the publisher content server 130 typically contains a large number of advertisements from publishers or agencies. It is posted by the server (140, 120).
- Ads displayed on web pages provided by the publisher content server 130 may appear on a search engine result page in a web browser as a result of a user entering a search term, or a user enters a web address or URL. The result may appear as a new tab or window within the web browser.
- advertisements displayed on the screen of the client device 110 by searching or entering a web address are, in short, hypertext links.
- the web browser stores the clicked banner advertisement through the Internet (140 or 120 in the implementation example). Connect to and request the corresponding web page, and accordingly, the user can watch the advertisement clicked on.
- the web browser of the client device 110 pulls the desired web page from the web servers (in the example of implementation, 120, 130, 140) through the network 150, and displays it on the screen of the client device 110, that is, the browser. Will be displayed.
- the web browser interprets a group of HTML tags in the web page and displays the web page on the screen of the client device 110 in a manner that the web page creator wants to be displayed.
- Web pages have text, and HTML tags that describe how the text should be formatted when the browser displays the page on the screen.
- Tags are commands that tell the web browser what it should look like when displaying a web page.
- Tags instruct web browsers to do things like change font size or color, or place objects in columns. In other words, the web browser interprets the tags to determine how to format the text on the screen.
- advertisements may be displayed through various apps, which are run on mobile devices, provided by an advertisement publisher or other developers operating the publisher content server 130.
- the operator of the publisher content server 130 may receive advertisements from many advertisers and distribute advertisements through apps installed on the mobile client device 110.
- the advertisement will be displayed on the client device 110 through a mobile browser, which is a web browser designed for a mobile device such as a smart phone or a PDA.
- advertisements displayed on web pages provided by the publisher content server 130 are stored in the publisher ad server 140 or the advertiser/agency ad server 120 as described above. Only minimal information can be provided, including hyperlinks to specific advertising web pages. Accordingly, when an advertisement (for example, an advertisement displayed in an advertisement space, a pop-up advertisement, etc.) in a web page displayed on the mobile browser of the mobile client device 110 is clicked, the mobile browser of the client device 110 displays the publisher advertisement server ( 140) or advertiser/agency advertisement server 120 to reconnect to a specific advertisement web page. Through this process, the user watches the advertisement of his choice.
- an advertisement for example, an advertisement displayed in an advertisement space, a pop-up advertisement, etc.
- the machines, devices, or databases shown in Fig. 1 can all be realized by configuring or programming a general purpose computer to become a special purpose computer by software.
- a computer system capable of realizing one or more of the methods described herein will be described below with reference to FIG. 7.
- any two or more of the machines shown in FIG. 1 may be combined into one machine, and functions described as any one machine may be subdivided into several machines.
- FIG. 2 is an exemplary diagram showing an advertisement displayed on a client device in the system environment of FIG. 1 according to embodiments of the present invention
- FIG. 2A is a home screen
- FIG. 2B is linked through a user interface on the home screen It is a separate screen that displays content.
- the client device 110 takes the smart phone 200 among mobile devices as an example.
- the home screen of the app as shown in FIG. 2A is displayed on the smart phone 200.
- the home screen of the app consists of a prize display 210, buttons such as quiz solving and application 220, and an advertisement 215 to be displayed (for example, a video (video) advertisement) arranged in the center of the screen. Then, when the menu button 205 is touched, a description of the operation and function of the app, an ongoing campaign, and a reward for participating in a questionnaire are configured to be found.
- the advertisement content is appropriately displayed on the screen of the smart phone 200 through the process described above with reference to FIG.
- the content linked by the navigation is displayed on the next screen of the smart phone 200 (FIG. 2B).
- the next correct answer confirmation button 230 is pressed, the presence or absence of the correct answer is displayed on the screen of the smart phone 200.
- the response is transmitted from the client device 110 (here, the smart phone 200) to the advertisement management server (not shown) via the network 150 and stored.
- the response management function may be hardware configured or programmed to be processed by the publisher content server 130 or the publisher advertisement server 140 without using a separate server.
- the task is presented, for example, in the form of a questionnaire related to advertising and/or promotion.
- the questionnaire consists of quizzes directly or indirectly related to advertisements and/or public relations, research related to products or services, surveys, etc., and a combination thereof. Therefore, when a user watching an advertisement transmits a response to a quiz or research, etc. to the issuer's response management server, the response management server collects and stores responses from the users, and then when the event campaign such as advertisement ends, Select at least one winner by lottery from among the responses.
- These campaigns are executed and managed repeatedly as rounds with a fixed cycle.
- FIG. 3 is a system conceptual diagram showing the entire process of voting for candidates based on a blockchain according to one implementation of the present invention.
- Blockchain is an ever-growing list of records, called blocks, that are linked using cryptography. Each block has transaction data represented by the cryptographic hash of the previous block, a timestamp, and the Merkle tree hash of the previous block. Blockchains keep records of all data exchanges, which are called ledgers, and each data exchange is a transaction. All transactions are verified and added to the ledger as a block.
- Blockchain is defined as an open, distributed ledger that can record transactions between parties and is able to record in a permanent way. For use as a distributed ledger, the blockchain is managed by a peer-to-peer network. Once written, the data in a block cannot be changed retrospectively without changing all subsequent blocks.
- Blockchain was introduced in 2008 by Satoshi Nakamoto as the public ledger for cryptocurrency Bitcoin, the first digital currency to solve double-spending without the need for trusted authorities or central servers.
- the basic concepts to keep in mind in the blockchain are the cryptographic keys, the public key and the private key. Through their public key, others can verify and access themselves.
- the private key is used in conjunction with the public key to empower digital signatures and authenticity of actions on behalf of a digital identity.
- the public key represents a wallet address, and the private key allows for the transfer, withdrawal of digital assets such as cryptocurrencies, or authentication of other activities.
- This type of compromise is a compromise, allowing you to take advantage of blockchain technology without losing autonomy and without exposing sensitive data.
- the consortium blockchain is authoritative, but instead of being controlled by a single organization, multiple companies can operate nodes on each blockchain.
- the administrator of the consortium blockchain restricts users' reading rights, allowing only limited trusted nodes to execute the consensus protocol.
- Smart Contracts The concept of smart contracts was introduced in 1994 by lawyer and crypto expert Nick Szabo. He concluded that distributed ledgers could be used as self-executable contracts, later called smart contracts. Thoughts on smart contracts existed a long time ago, we could't rule out a trusted third-party intervention. With the introduction of blockchain, problems related to third-party intervention (e.g., security problems, deceptive behavior, increased transaction costs, etc.) have been cleared. Smart contracts are one of the most successful applications of blockchain technology. Ethereum is the most popular blockchain platform for creating smart contracts. Smart contracts can be applied in different industries, such as e-commerce, real estate, and e-voting.
- a smart contract is a set of computer code between two or more parties running on a blockchain and consists of a set of rules agreed by the parties involved. By execution, when this set of predefined rules are met, the smart contract is executed on its own to produce a result. Decentralized automatic execution is possible by facilitating, proving, and executing the contract on which this code is based.
- smart contracts are lines of code that can be executed automatically stored on a blockchain with predefined rules. When these rules are met, the code runs on its own and produces results.
- a method and a system for selecting one or more among weighted candidates based on a blockchain may use all three types of blockchain.
- the most desirable is a consortium blockchain, which allows for the overcoming and disadvantages of a single organization controlled by multiple nodes participating and interacting (communicating).
- the administrator of the consortium blockchain can limit the vested interests and accessibility of users to build a system that only trusted limited nodes can participate in the consensus process.
- a method and system for selecting one or more of weighted candidates based on a blockchain uses electronic voting based on smart contracts of the Ethereum blockchain.
- advantages may include transparency (this is an issue that has been continually contested in selecting winners by lottery), elimination of disputes, stability, and reliability due to transparency and stability.
- Smart contracts are deployed and executed in the Ethereum environment. Smart contracts can be deployed, stored and executed within the Ethereum Virtual Machine and store data. The stored data can be used to record information, facts, balances, and any other information needed to realize the logic of the contract of reality.
- smart contract authoring tools including Visual Studio, but the easiest and fastest way to develop smart contracts is to use a browser-based tool known as Remix.
- Remix provides a rich, integrated development environment for authoring, developing, deploying and dispute resolution of smart contracts written using a solidity language on a browser.
- FIG. 3 there are three types of actor roles in the system 300 for voting based on smart contracts on the Ethereum blockchain: manager, voter, and verifier.
- the administrator or server 310, initiates voting, organizes secret (non-named) voting, registers voters, determines election periods, and determines permission nodes.
- Each of the voters 340 authenticates to prove that they are eligible to vote, creates a voter wallet, accesses a smart contract to vote (345), and observes the election results.
- the validator i.e., the validator nodes 365
- a secret voting smart contract 320 is deployed in the blockchain network 360 and the validator nodes accordingly (365) (referring to nodes of the blockchain network 360 that represent the equity or authorization nodes selected by the administrator among the nodes) is allowed to access the secret voting smart contract.
- the verifier nodes 365 are ready to verify the vote data and add it as a new block to the blockchain once they reach an agreement on all votes. Lose.
- Voting process The main activities that occur during the election process are as follows.
- the manager (server) 310 starts a secret ballot using a decentralized app (dApp). Through this distributed app, interaction with the secret voting smart contract 320, that is, communication will occur.
- the manager 310 defines a candidate list (list) 325 and a table 330 in the secret voting smart contract 320 and deploys the secret voting smart contract 320 to the blockchain network 360.
- each verifier node 365 is allowed to interact with the secret ballot smart contract 320.
- the secret ballot smart contract is coded to run on a computer device, deployed and executed on the Ethereum blockchain.
- Voter Registration When a vote is initiated, the manager 310 must define a list of eligible voters. In implementations according to the present invention, an appropriate size is obtained by obtaining the consent of each member among members registered in the administrator (server) 310, for example, the issuer's member management server (not shown in FIG. 1). Members will be able to register as voters 340. (345) Once the qualifications of voters 340 have been verified by the administrator server 310, the administrator server 310 may provide electronic identification (secret ballot identification) (electronic ID). ) And the public key of the administrator server 310 is generated and transmitted to the verified voter 340. (345) A corresponding digital wallet is generated for each qualified voter 340, 345 (345), and a digital wallet Each voter must be unique.
- Voting transaction Individual voters 340 interact (communicate) with the secret ballot smart contract 320 when voting.
- the smart contract 320 communicates with the blockchain network 360 through the validator node 365 in the region where the voter himself is located, and upon reaching an agreement between most of the validator nodes 365, the The verifier node 365 attaches the table 330 to the blockchain. Qualified voters 340 and 345 can vote using a validator node 365 in their region through a digital wallet.
- a valid electronic identification must be presented to the verifier node 365. If the authentication is successful, the secret ballot smart contract 320 will appear, and the voter 340 will determine the candidate to vote among the candidates recorded in the secret ballot smart contract 320 (view candidates).
- a digital identification card is entered again to receive confirmation, and then digitally signing one's own vote 330.
- the vote 340 data is verified by the verifier node 365 with which the voter 340 communicated through the secret vote smart contract 320,
- the table 330 data is then widely propagated to the blockchain network 360 to be verified by the majority of verifier nodes 365. If consensus on the data of the table 330 is made by the majority of the verifier nodes 365, consensus on a specific table is reached. Then, the user (voter) 340 receives a transaction ID for a transaction corresponding to his or her vote 330, and the voter 340 votes for his/her vote using the transaction ID 330 Can be verified.
- Each transaction in the secret ballot smart contract 320 maintains information about the voted candidate (ie, the candidate who gave the vote) and the location of the vote 330, and once the vote is made and verification is complete, confidentiality
- the voting smart contract 320 executes a function of adding a vote to a candidate who has voted.
- the wallet weight of the voter decreases by "1", and the voter cannot vote more than once.
- the secret ballot smart contract 320 has an aggregation function, so that the table can be aggregated in the smart contract. When the voting is over, the final result of the smart contract 320 is disclosed.
- Blockchain addition All transactions will be included in the next block after it is verified, and it will be widely spread to the blockchain network 360 to proceed with the consensus process. Once the consensus is reached by the verifier nodes 365, it is added to the blockchain 380 as a new block.
- FIG. 4A is a diagram showing how each candidate is weighted according to an embodiment of the present invention
- FIG. 4B is a diagram showing subdividing each candidate into three classes.
- the candidate list 400 lists, for example, five candidates, such as apple 405, pear 410, grape 415, tangerine 420, and banana 425, each of which is unique to each other. Other weights (eg, 30 for apples, 12 for pears, etc.) are given. The order of the candidates is randomly listed regardless of the weight size.
- the candidate is a user who is directly selected by the vote of the voters 340 (exactly, referring to FIGS.
- a user is given a questionnaire-type mission after viewing an advertisement, which may be related to only one advertisement, or multiple advertisements It may be related.
- an advertisement-related task eg, a questionnaire
- items in the questionnaire may be a task by mixing quiz, research, and research.
- the user can arbitrarily respond to two or more advertisements displayed on his/her client devices 110 and 200, and tasks associated with each of the two or more advertisements, that is, two or more questionnaires.
- Some users can only respond to one task, for example, a quiz, others can respond only to a part, and others to an entire task (all questionnaires).
- the user may contribute by performing a completely different type of mission from the questionnaire format, for example, events such as membership registration according to acquaintance invitation or content creation by user participation.
- the candidates meant in the implementations of the present invention can be measured by the number of achievements of the task, that is, the number of responses to quizzes or research presented in the questionnaire. This may be treated as related to the completion of the mission.
- tasks such as membership registration may be categorized according to the contribution to the ecosystem implemented in the present invention. Therefore, in the embodiments of the present invention, the candidate is related to a'grouping' or a category that combines the completion of the mission and the contribution to the ecosystem.
- the apple candidate 405 has the largest weight of 30 points, and then the grape candidate 415 has the weight of 25 points, respectively, which are the apple candidate 405 and the grape candidate 415, respectively. It means that 30 points and 25 points are the sum of the completeness and contribution of. In other words, respondents (responses) having a weight of 30 points belong to the apology candidate 405, and respondents (responses) having a weight of 25 points to the grape candidate 415. will be.
- the vote on the rating list 450 presented in FIG. 4B is conducted with a time difference after at least one candidate among the candidates 400 is voted on the candidate list 400 of FIG. 4A.
- the recommendation 5 is a diagram showing a method of selecting at least one candidate as a winner by counting the results of voters based on the blockchain.
- the vote of the voters 340 is executed to show the aggregated result.
- the apology candidate 405 has the largest weight with 30 points, but only 1 vote is obtained, so the sum is 30.
- the candidate 410 received 2 votes with a weight of 12 points and got 24 points, and the candidate grape 415 got 3 votes with a weight of 25 points and got a total score of 75 points. Compared with the remaining candidates, the total number of grape candidates 415 is the highest, so the grape candidate 415 is selected as the final winner.
- FIG. 6 is a block diagram showing a method of determining one of three grades of a candidate selected according to FIG. 5.
- FIG. 6 shows that as a result of performing a grade vote on the grape candidate 415 selected according to FIG. 5, the top grade 460 obtained two, and the bottom grade 470 obtained three, so the final winner is the grape candidate 415 ).
- FIG. 7 is a block diagram illustrating components of a machine in the form of a computer, capable of reading instructions from a machine (computer) readable medium and also executing one or more of the methods discussed herein, in accordance with embodiments of the present invention. to be.
- FIG. 7 is a schematic representation of a machine in the form of an exemplary computer system, within which instructions 800 that enable the machine 800 to execute any one or more of the methodologies discussed herein. (Eg, software) can be executed.
- the machine 800 can operate as a standalone device, or can be connected (eg, networked) to other machines on a LAN, intranet, extranet, or the Internet.
- Machine 800 may operate as a server or client machine in a server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
- the machine 800 may be a server computer, client computer, personal computer (PC), tablet computer, set-top box (STB), personal digital assistant (PDA), cellular telephone, web appliance, network router, switch or bridge. Or any machine capable of executing a set of instructions (sequentially or otherwise) specifying the actions to be taken by the machine.
- PC personal computer
- PDA personal digital assistant
- STB set-top box
- PDA personal digital assistant
- cellular telephone web appliance
- network router switch or bridge.
- machine includes any collection of machines that individually or jointly execute instructions 824 to perform any one or more of the methodologies discussed herein. It should also be considered.
- the machine 800 includes a processor 802, a main memory 804 (e.g., read only memory (ROM), flash memory, synchronous DRAM (SDRAM) or dynamic random access memory (DRAM) such as a Rambus DRAM (RDRAM)) ), and static memory 806 (eg, flash memory, static random access memory (SRAM), etc.), which are configured to communicate with each other via bus 808.
- main memory 804 e.g., read only memory (ROM), flash memory, synchronous DRAM (SDRAM) or dynamic random access memory (DRAM) such as a Rambus DRAM (RDRAM)
- static memory 806 eg, flash memory, static random access memory (SRAM), etc.
- Processor 802 represents one or more general-purpose processing devices, such as microprocessors, central processing units, and the like. More specifically, the processor 802 is a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets, or It may be processors that implement a combination of instruction sets.
- the processor 802 may also be one or more special purpose processing devices, such as an application specific integrated circuit (ASIC) circuit, field programmable gate array (FPGA), digital signal processor (DSP), network processor, or the like.
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- DSP digital signal processor
- Processor 802 is configured to execute instructions 824 to perform the operations and steps discussed herein.
- the machine 800 further includes a graphic display 810 (eg, plasma display panel (PDP), LED display, LCD).
- Machine 800 also includes an alphanumeric input device 812 (eg, keyboard), cursor control device 814 (eg, mouse, touchpad, joystick, or other pointing tool), storage device 816 ), a signal generating device 818 (eg, a speaker), and a network interface device 820.
- a graphic display 810 eg, plasma display panel (PDP), LED display, LCD
- Machine 800 also includes an alphanumeric input device 812 (eg, keyboard), cursor control device 814 (eg, mouse, touchpad, joystick, or other pointing tool), storage device 816 ), a signal generating device 818 (eg, a speaker), and a network interface device 820.
- the storage device 816 stores a machine (computer) readable storage medium 822 having instructions 824 (eg, software) embodying any one or more of the methodologies or functions discussed herein. It can contain. Instructions 824 also reside completely (all) or at least partially within main memory 804 and/or within processor 802 (eg, within the processor's cache memory) while instructions are being executed by machine 800. Main memory 804 and processor 802 also constitute a machine-readable medium. Instructions 824 may be further transmitted or received over network 826 via network interface device 820.
- instructions 824 eg, software embodying any one or more of the methodologies or functions discussed herein. It can contain. Instructions 824 also reside completely (all) or at least partially within main memory 804 and/or within processor 802 (eg, within the processor's cache memory) while instructions are being executed by machine 800. Main memory 804 and processor 802 also constitute a machine-readable medium. Instructions 824 may be further transmitted or received over network 826 via network interface device 820.
- machine-readable storage medium 822 is shown as a single medium in an exemplary implementation, the term “machine (computer) readable storage medium” refers to a single medium or multiple media (eg, a set of one or more instructions). Centralized or distributed database, and/or associated caches and servers).
- the term “machine-readable storage medium” should also be treated as including any medium that can store, encode, or convey a set of instructions executed by a machine (eg, machine 800), instructions These, when executed by one or more processors of a machine (eg, processor 802), cause the machine to execute any one or more of the methodologies described herein.
- the term “computer-readable storage medium” should be treated as including, but not limited to, solid-state memories, optical media, and magnetic media.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Tourism & Hospitality (AREA)
- General Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템은, 각각 자신의 특유한 가중치를 갖는 복수의 후보들, 및 표를 포함하는 비밀투표 스마트 계약을 포함하는 서버; 및 전자 신분증을 포함하며 상기 서버와 소통할 수 있도록 구성된 디지털 지갑을 포함한다. 비밀투표 스마트 계약은 블록체인 네트워크에서 전개되고 실행되기 적합하게 코딩되며, 디지털 지갑을 소지한 투표자는 상기 디지털 지갑을 이용하여 상기 서버의 비밀투표 스마트 계약에 접근하여 복수의 후보들을 열람하고, 상기 표에 투표할 수 있다. 후보들 각각에 대해 부여되는 가중치는 서버에 의해 제공되는 일정 유형의 임무의 달성 정도, 참여도, 기여도에 근거하여 결정된다. 바람직하게는, 본 발명에 따른 임무는 광고와 관련된 일련의 행위들로 이루어지며, 임무는 광고 및 광고와 관련된 설문지 형식으로 제시된다. 사용자는 제시된 광고를 시청한 후 설문지에 기록된 일련의 질문들에 응답함으로써 임무가 달성된다. 일련의 질문들은 광고와 직접적으로 관련된 퀴즈, 조사, 리서치 등으로 구성된다.
Description
본 발명은 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템에 관한 것으로, 상세히는 가중치를 갖는 후보들에 대해서 블록체인 기술에 의해 구동되는 플랫폼에서 사용자들의 투표에 의해 적어도 한 명 이상의 우승자를 선택하는 방법 및 시스템에 관한 것이다. 더욱 상세히는 컴퓨터나 모바일 장치들을 통해 사용자가 광고를 시청한 후 주어지는 설문지에 대해 응답을 하고, 모집된 응답들 가운데 블록체인에 기반한 투표에 의해 가중치를 갖는 후보들 중에서 적어도 한 명 이상의 후보를 선택하는 방법 및 시스템에 관한 것이다.
오랜 세월 동안 추첨은, 수상자를 선정하거나, 한 무리 사람들 가운데서 임무를 수행할 자를 선택하거나, 큰 집단의 후보들 가운데 정치적 공직자를 선택하기 위한 무작위선택 방법으로서 실행되어 왔다. 추첨을 위한 도구로 짚, 종잇조각, 나무 등 여러 가지 물건들이 사용되고 있다. 최근에는 컴퓨터 프로그램의 발달로 여러 유형의 추첨 프로그램들도 시용되고 있는 것으로 파악된다.
추첨과 관련하여 고질적으로 문제 제기되는 것은 불공정성이다. 어떠한 형태의 추첨 방법이든 그곳에는 추첨과 관련된 사람들의 영향력이 작용할 가능성이 존재하기 때문이다.
본 발명은 이와 같은 종래기술에서의 문제점을 해결하기 위한 것으로, 본 발명에 따르면, 블록체인에 기반하여 서로 다른 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템이 제공된다. 후보들 각각에 대해 부여되는 가중치는 캠페인에 참여하는 참여자(사용자, 소비자)의 참여도, 기여도에 근거하여 결정된다.
본 발명에 따르면, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 시스템은, 각각 자신의 특유한 가중치를 갖는 복수의 후보들, 및 표를 포함하는 비밀투표 스마트 계약을 포함하는 서버; 및 전자 신분증을 포함하며 상기 서버와 소통할 수 있도록 구성된 디지털 지갑을 포함한다. 비밀투표 스마트 계약은 블록체인 네트워크에서 전개되고 실행되기 적합하게 코딩되며, 디지털 지갑을 소지한 투표자는 상기 디지털 지갑을 이용하여 상기 서버의 비밀투표 스마트 계약에 접근하여 복수의 후보들을 열람하고, 상기 표에 투표할 수 있다.
본 발명의 한 특징에 따르면, 복수의 후보들 가운데서 추첨에 의해 무작위로 적어도 하나 이상의 우승자를 선택하게 되는 후보들 각각에 대해 부여되는 가중치는 서버에 의해 제공되는 일정 유형의 임무의 달성 정도, 참여도, 기여도에 근거하여 결정된다. 바람직하게는, 본 발명에 따른 임무는 광고와 관련된 일련의 행위들로 이루어지며, 일 구현에서 임무는 광고 및 광고와 관련된 설문지(questionnaire) 형식으로 제시된다. 사용자는 제시된 광고를 시청한 후 설문지에 기록된 일련의 질문들에 응답함으로써 임무가 달성된다. 일련의 질문들은 광고와 직접적으로 관련된 퀴즈, 조사(survey), 리서치(research) 등으로 구성된다.
본 발명의 다른 특징에 따르면, 임무는 하나 이상 복수일 수 있으며, 복수의 임무들은 서로 같은 유형이나 범주일 수 있으며, 또는 서로 다른 유형이나 범주일 수 있다. 예를 들면, 어떤 임무들은 퀴즈들일 수 있으며, 다른 임무들은 리서치일 수 있다. 또는 어떤 임무들은 설문지의 형식으로 제시될 수 있으며, 다른 임무들은 친구 소개 등 회원 가입과 같은 실행형일 수 있다. 임무가 복수일 경우, 가중치 결정은 같은 유형 내에서 이루어질 수도 있으며, 아니면 서로 다른 유형들을 혼합하여 결정될 수도 있다.
본 발명의 한 특징에 따르면, 복수의 후보들 가운데서 추첨에 의해 무작위로 적어도 하나 이상의 우승자를 선택하는 것은 블록체인에 기반한 투표에 의해 정해진다. 본 발명에 따른 구현들에서, Ethereum 블록체인의 스마트 계약(smart contract)을 이용하여 투표가 실행된다.
Ethereum 블록체인의 스마트 계약을 이용한 전자 투표를 블록체인에서 전개할 경우 여러가지 이점들을 얻을 수 있는데, 먼저 투명성이다. 스마트 계약은 아주 자세한 조건들로 채워지는데, 이 조건들은 계약에 관여하는 당사자들에 의해 점검된다. 이로 인해 조건들은 철저히 점검되고 모든 참여자들이 동의할 때 제자리를 찾기 때문에 나중에 분쟁이 발생할 가능성이 제거된다.
스마트 계약은 명시적으로 상세한 형식으로 코딩되므로 정확성을 제공한다. 스마트 계약에서 데이터는 암호기술에 의해 암호화되기 때문에 안전하며, 또한 투명성과 안정성으로 인해 신뢰성이 있다.
도1은 본 발명의 실시 예들에 따라, 어떻게 광고주에 의해 제작된 광고가 광고 발행자를 통해 사용자들에게 전달되는지를 보여주는 예시적 네트워크 환경을 도해하고 있는 시스템 블록도이다.
도2는 본 발명의 실시 예들에 따라, 도1의 시스템 환경에서 광고가 클라이언트 디바이스에 표시되는 것을 보여주는 예시적 도면으로서, 도2a는 홈 화면이고 도2b는 링크된 콘텐츠를 표시하는 별개 화면이다.
도3은 본 발명의 일 구현에 따라, 블록체인에 기반하여 후보들에 대한 투표가 진행되는 전체 과정을 보여주는 시스템 개념도이다.
도4a는 본 발명의 일 구현에 따라, 어떻게 후보들 각각에 가중치가 부여되는 지를 보여주는 도면이고, 도4b는 각각의 후보를 3가지 등급으로 세분하는 것을 나타내는 도면이다.
도5는 블록체인에 기반하여 투표자들이 투표한 결과를 집계하여 적어도 하나의 후보를 우승자로 선택하는 방법을 보여주는 도면이다.
도6은 도5에 따라 선택된 후보의 3가지 등급 가운데 한 등급을 결정하는 방법을 보여주는 블록도이다.
도7은 본 발명의 실시 예들에 따라, 기계(컴퓨터) 판독 가능 매체로부터 명령어들을 읽을 수 있고 또한 본 발명에서 논의되는 하나 이상의 방법들을 실행할 수 있는, 컴퓨터 형태의 기계의 구성 요소들을 도해하는 블록도이다.
이하 첨부된 도면들을 참조하여 본 발명에 대해 상세히 설명한다.
도1은 본 발명의 실시 예들에 따라, 어떻게 광고주에 의해 제작된 광고가 광고 발행자를 통해 사용자들에게 전달되는지를 보여주는 예시적 네트워크 환경을 도해하고 있는 시스템 블록도이다. 네트워크 환경(100)은 클라이언트 디바이스(110), 발행자 콘텐츠 서버(130), 및 발행자 광고 서버(140)를 포함한다. 광고의 배포가 광고주에 의해 직접적으로 이루어질 때에는 네트워크 환경(100)은 광고주/대행사 광고 서버(120)를 더 포함할 수 있다.
클라이언트 디바이스 즉 사용자 디바이스(110)는 데스크 탑, 랩탑(일명 노트북), 태블릿, 스마트폰 및 다른 모바일 장치들, 및 비디오 및/또는 다른 멀티미디어 콘텐츠의 스트림을 수신하고 표현할 수 있는 장치들과 같은 컴퓨팅 디바이스들을 포함할 수 있다. 클라이언트 디바이스(110)는 처리된 이미지들, 웹 페이지들, 문서들, 비디오 콘덴츠들 등등과 같은 콘텐츠를 표시할 수 있도록 구성된(환경설정된) 디스플레이 또는 다른 사용자 인터페이스를 포함할 수 있다.
클라이언트 디바이스(110)는 인터넷과 같은 네트워크(150)를 통해 웹 사이트들에 콘텐츠를 요청하고 그들로부터 콘텐츠를 수신할 수 있다. 네트워크(150)는, 공중 네트워크(예를 들어, 인터넷), 사설 네트워크(예를 들어, 로컬 영역 네트워크(LAN), 또는 광역 네트워크(WAN)), 유선 네트워크(예를 들어, 이더넷 네트워크), 무선 네트워크(예를 들어, Wi-Fi 네트워크), 라우터들, 허브들, 스위치들, 서버 컴퓨터들, 및/또는 이들의 조합을 포함할 수 있다.
몇몇 구현들에서, 사용자는 클라이언트 디바이스(110)에 의해 네트워크(150)를 경유하여 발행자 콘텐츠 서버(130)에 찾고자 하는 웹 페이지를 요청하게 되며, 이 요청에 부응하여 발행자 콘텐츠 서버(130)는 요청된 웹 페이지를 클라이언트 디바이스(110)에 전송하게 된다. 이때 발행자 콘텐츠 서버(130)에 의해 제공되는 웹 페이지에 할당된 광고 공간(advertising or ad space)에는 다양한 유형의 광고들(예를 들면, 배너, 팝업 및 팝 언더, 비디오 광고 등)이 발행자 광고 서버(140)에 실행되어 표시된다. 광고주 사이트가 직접 광고를 배포하거나 광고 대행사에 업무를 위임한 경우에는 광고주/대행사 광고 서버(120)에 의해 발행자 콘텐츠 서버(130)가 제공하는 웹 페이지에 광고들이 게재될 것이다.
광고 서버들(120, 140)에 의해 사용자의 클라이언트 디바이스(110)에 표시되는 광고들(비디오 광고를 포함하여) 가운데 많은 수는 간략히 말해서 발행자나 대행사 광고 서버들(120, 140)의 특정한 웹 페이지들로 연결되는 링크들을 포함하고 있는 것에 불과하다. 이런 유형의 광고들에 대해서 사용자가 클라이언트 디바이스(110)의 화면에 표시된 광고를 클릭하면, 사용자의 인터넷 브라우저가 클라이언트 디바이스(110)를 발행자 광고 서버(140)나 광고주/대행사 광고 서버(120)의 특정 웹 페이지로 연결시키게 되어 클릭된 광고를 시청하게 된다. 어떻게 이러한 과정이 이루어지는지 이하에서 디스플레이 광고(display advertising), 더욱 상세히는 디스플레이 광고 가운데 대표적 광고의 하나인 배너 광고(banner ads)를 예로 삼아 설명을 진행하겠다.
디스플레이 광고는 간략히 말하자면 웹 사이트 상에서 이루어지는 광고인데, 여러 가지 형식으로 제공된다. 디스플레이 광고는 문자, 이미지, 플래쉬, 비디오, 및 오디오와 같은 다양한 항목들을 포함하고 있다. 디스플레이 광고는 회사(광고자)의 홍보 메시지가 광고 발행인이나 소셜 네트워크와 같은 제3자의 사이트에 또는 검색 엔진 결과 페이지에 나타나게 되는 온라인 형식의 광고이다.
배너 광고는 디스플레이 광고의 대표적인 형식 중 하나이다. 한때는 디스플레이 광고의 주종을 이루었지만 쏟아지는 광고의 홍수에 식상한 사용자들로부터 외면당하면서부터 광고 연결률이 떨어지게 되고 그러면서 그 실효성에 의문이 제기되고 있는 실정이다. 그렇지만 배너 광고는 아직은 그 파급력을 유지하면서 광고 시장의 주요한 매체로서 여전히 자리매김하고 있다. 그리고 무엇보다 본 발명의 도1과 관련된 광고 시스템을 이해하는데 적절한 예이다.
배너 광고는 간략히 말하자면 특별한 유형의 하이퍼텍스트 링크 (hypertext links) 이다. 텍스트 링크의 기본적인 역할은 사용자가 일정한 텍스트의 일부를 클릭하면 일련의 HTML 코드가 웹 서버에게 명령하여 특정 웹 페이지를 가져오게 된다. 배너 광고도 텍스트 대신에 그래픽(통상 문자적 요소를 가진다)과 때로는 애니메이션을 포함하는 박스(box)로서 표시된다는 것을 제외하고는 본질적으로는 텍스트 링크와 같은 것이다. 물론 배너 광고에는 이밖에도 비디오, 오디오 등의 파일들이 더 포함될 수 있다.
사용자가 클라이언트 디바이스(110)에서 구동되는 웹 브라우저를 통해 웹 서핑을 할 때, 발행자 콘텐츠 서버(130)로부터 제공되는 웹 페이지 또는 일련의 웹 페이지들에는 통상적으로 많은 수의 광고들이 발행자나 대행사의 광고 서버(140, 120)에 의해 게재된다. 이러한 발행자 콘텐츠 서버(130)에 의해 제공되는 웹 페이지들에 표시되는 광고들은, 사용자가 검색어를 입력한 결과로서 웹 브라우저 내의 검색 엔진 결과 페이지에 나타날 수도 있으며, 또는 사용자가 웹 주소나 URL을 입력한 결과 웹 브라우저 내에서 새 탭(tab)이나 새 창(window)으로 나타날 수도 있다. 앞에서도 언급했듯이, 검색이나 웹 주소 입력에 의해 클라이언트 디바이스(110)의 화면에 표시되는 광고들은 간략히 말해 하이퍼텍스트 링크들이다. 사용자가 클라이언트 디바이스(110)에 나타난 광고들 가운데 자신의 관심을 끄는 배너 광고 하나를 클릭하게 되면, 웹 브라우저가 인터넷을 통해서 클릭된 배너 광고가 저장되어 있는 웹 서버(구현 예에서, 140 또는 120)로 연결시켜 해당 웹 페이지를 요청하게 되고, 그에 따라 사용자는 자신이 클릭한 광고를 시청할 수 있게 된다.
이러한 과정을 통해서 클라이언트 디바이스(110)의 웹 브라우저는 웹 서버들(구현 예에서, 120, 130, 140)로부터 원하는 웹 페이지를 네트워크(150)를 통해 끌어와서 클라이언트 디바이스(110)의 화면 즉 브라우저에 표시하게 된다.
또한 웹 브라우저는 웹 페이지 내에 있는 한 무리의 HTML 태그(HTML tags)를 해석하여 웹 페이지 생성자가 표시되기를 원하는 방식으로 웹 페이지를 클라이언트 디바이스(110)의 화면에 표시한다. 웹 페이지는 텍스트, 및 브라우저가 화면에 페이지를 표시할 때 어떻게 텍스트가 포맷되어야 하는 지를 기술하고 있는 HTML 태그를 가지고 있다. 태그는 웹 브라우저가 웹 페이지를 표시할 때 어떠한 모습이어야 하는 지를 지시하는 명령어들이다. 태그는 글꼴 크기나 색깔을 변경하거나 사물들을 컬럼에 배치하는 것과 같은 일들을 하도록 웹 브라우저에게 지시한다. 바꾸어 말하면, 웹 브라우저는 텍스트를 화면에 어떻게 포맷해야 하는 지를 결정하기 위해 태그들을 해석한다.
지금까지 어떻게 브라우저 즉 웹 브라우저를 통해서 사용자가 클라이언트 디바이스(110)에서 배너 광고를 포함한 다양한 유형의 광고들을 볼 수 있는 지에 대해서 설명하였다.
물론, 데스크 탑이나 랩탑과는 달리, 발행자 콘텐츠 서버(130)를 운영하는 광고 발행자나 다른 개발자들이 제공하는, 모바일 장치들에서 구동되는, 여러 가지 앱(app)을 통해서 광고가 디스플레이될 수도 있다. 예를 들면, 발행자 콘텐츠 서버(130)의 운영자는 많은 광고주들로부터 광고를 수주하여 모바일 클라이언트 디바이스(110)에 설치된 앱들을 통하여 광고를 배포할 수도 있다. 모바일 장치에서 구동되는 앱을 통한 광고 배포의 경우에는 스마트 폰이나 PDA와 같은 모바일 장치에 적합하게 설계된 웹 브라우저인 모바일 브라우저를 통해 광고가 클라이언트 디바이스(110)에 표시될 것이다.
모바일 앱들을 이용한 광고의 경우에도, 발행자 콘텐츠 서버(130)에 의해 제공되는 웹 페이지들에 표시되는 광고들에는, 앞에서 설명했듯이, 발행자 광고 서버(140)나 광고주/대행사 광고 서버(120)에 저장되어 있는 특정 광고 웹 페이지로 연결하는 하이퍼링크를 포함한 최소한의 정보만이 제공될 수 있다. 따라서, 모바일 클라이언트 디바이스(110)의 모바일 브라우저에 표시된 웹 페이지 내에 있는 광고(예를 들면, 광고 공간에 표시된 광고, 팝업 광고 등)를 클릭하게 되면 클라이언트 디바이스(110)의 모바일 브라우저가 발행자 광고 서버(140)나 광고주/대행사 광고 서버(120)의 특정 광고 웹 페이지로 재연결시킨다. 이와 같은 과정을 거쳐서 사용자는 자신이 선택한 광고를 시청하게 된다.
도1에 도시된 기계들, 장치들, 또는 데이터베이스들은 모두 범용 컴퓨터를 소프트웨어에 의해 특수 목적 컴퓨터가 되도록 구성하거나 프로그램함으로써 실현될 수 있다. 여기서 기술된 방법들 가운데 하나 이상을 실현할 수 있는 컴퓨터 시스템은 아래에서 도7과 관련하여 설명될 것이다. 또한, 도1에 도시된 기계들 가운데 임의의 둘 이상은 하나의 기계로 결합될 수 있으며, 어떤 하나의 기계로 기술된 기능들은 여러 기계들로 세분될 수 있다.
도2는 본 발명의 실시 예들에 따라, 도1의 시스템 환경에서 광고가 클라이언트 디바이스에 표시되는 것을 보여주는 예시적 도면으로서, 도2a는 홈 화면이고 도2b는 홈 화면에서의 사용자 인터페이스를 통해 링크된 콘텐츠를 표시하는 별개 화면이다. 도2의 구현 예에서, 클라이언트 디바이스(110)는 모바일 장치들 가운데 스마트 폰(200)을 예로 들었다. 사용자가 클라이언트 디바이스 즉 스마트 폰(200)의 홈 화면에 나타난 아이콘들 가운데 광고 발행자의 앱을 클릭하거나 터치하게 되면 스마트 폰(200)에는 도2a와 같은 앱의 홈 화면이 표시된다. 앱의 홈 화면은 상금 표시(210)와 퀴즈 풀고 응모하기(220)와 같은 버튼들, 및 화면 중앙에 배치되는 디스플레이될 광고(215) (예로서, 비디오(동영상) 광고)등으로 구성된다. 그리고 메뉴 버튼(205)을 터치하게 되면 앱의 동작 및 기능에 관한 설명, 진행되는 캠페인, 및 설문지에 참여했을 때 주어지는 보상 등에 관한 설명을 찾아볼 수 있게 구성된다.
사용자가 광고(215)의 재생 버튼을 누르면, 도1을 참조하여 앞에서 설명한 과정을 거쳐 광고 콘텐츠가 스마트 폰(200)의 화면에 적절하게 디스플레이 된다. 사용자가 광고 시청 후 퀴즈 풀고 응모하기 버튼을 누르면, 내비게이션에 의해 링크된 콘텐츠가 스마트 폰(200)의 다음 화면으로 표시된다.(도2b) 사용자가 설문지의 일 형식으로 제시된 퀴즈(225)를 푼 다음 정답 확인 버튼(230)을 누르면, 정답 유무가 스마트 폰(200)의 화면에 표시된다. 퀴즈에 대한 응답이 정답이면 그 응답은 클라이언트 장치(110) (여기서는 스마트 폰(200))으로부터 네트워크(150)를 거쳐 광고 발행자의 응답 관리 서버(도시 않음)로 전송되어 저장된다. 여기서 응답 관리 기능은 별도의 서버를 이용하지 않고 발행자 콘텐츠 서버(130)나 발행자 광고 서버(140)에서 처리하도록 하드웨어 구성하거나 프로그램할 수도 있을 것이다.
본 발명의 구현들에서, 임무는 예를 들면 광고 및/또는 홍보와 관련된 설문지의 형식으로 제시된다. 설문지는 광고 및/또는 홍보와 직간접적으로 관련된 퀴즈들, 제품이나 서비스와 관련된 리서치, 조사(survey) 등으로 구성되며, 또한 이들의 조합으로 구성된다. 그러므로, 광고를 시청한 사용자가 퀴즈나 리서치 등에 대하여 응답을 발행자의 응답 관리 서버로 전송하게 되면, 응답 관리 서버는 사용자들로부터의 응답들을 모아 분류, 저장한 다음 광고 등 행사 캠페인이 종료하게 되면 이들 응답들 가운데서 추첨에 의해 적어도 1명 이상의 당첨자를 선택한다. 이러한 캠페인은 일정한 주기를 가진 회차(round)로서 반복적으로 시행되고 관리된다.
도3은 본 발명의 일 구현에 따라, 블록체인에 기반하여 후보들에 대한 투표가 진행되는 전체 과정을 보여주는 시스템 개념도이다.
블록체인 : 블록체인은, 암호기법(cryptography)을 사용하여 연결되는, 블록이라 불리는, 계속 증가하는 레코드(record) 목록이다. 각 블록은 이전 블록의 암호기법적 해쉬, 타임스탬프(timestamp), 및 이전 블록의 머클 트리 해쉬(Merkle tree hash)로 표현되는 거래 데이터를 가진다. 블록체인(blockchain)은 모든 데이터 교환에 대한 기록을 보관하는데, 이 기록을 원장(ledger)이라 하며, 각 데이터 교환은 거래(transaction)이다. 모든 거래는 검증되어 블록으로서 원장에 추가된다. 블록체인은 당사자 사이의 거래들을 증명 가능하며 항구적 방법으로 기록할 수 있는 공개된 분산 원장으로 정의되고는 한다. 분산 원장으로 사용하기 위해서, 블록체인은 피어-투-피어(peer-to-peer) 네트워크에 의해 관리된다. 일단 기록되면, 어떤 블록 안에 있는 데이터는 후속하는 모든 블록들을 변경함이 없이는 소급적으로 변경될 수 없다. 블록체인은 2008년에 Satoshi Nakamoto에 의해 암호화폐 Bitcoin의 공개 거래 원장으로서 도입되었는데, 이는 신뢰 있는 당국이나 중앙 서버의 필요 없이 이중지출(double-spending)을 해결한 최초의 디지털 화폐였다.
블록체인에서 유념해야 할 기본 개념은 암호기법적 키로서 공개 키(public key)와 개인 키(private key)가 그것이다. 자신의 공개키를 통해서 다른 사람들이 자신을 확인하고 접근할 수 있게 된다. 개인 키는 공개 키와 함께 사용하여 디지털 신분을 대표하여 행위들에 전자 서명 및 인증할 수 있는 힘을 부여한다. 암호화폐 세계에서, 공개 키는 지갑 주소(wallet address)를 나타내며, 개인 키는 암호화폐와 같은 디지털 자산을 이전, 철회하거나 다른 행위들을 인증할 수 있도록 한다.
블록체인에서 모든 거래는 증명되어야 하며(예를 들면, 악의적 거래 여부, 이중 지출 등), 새로운 블록으로서 기존의 블록체인에 추가되기 위해서는 합의(consensus) 과정을 거쳐야 한다. 합의 알고리즘은 블록체인의 처리 속도와 밀접히 관련되어 있는데, Bitcoin 블록체인에서는 작업증명(Proof-of-Work) 알고리즘을, Ethereum에서는 지분증명(Proof-of-Stake) 알고리즘을 사용하려 한다. 블록체인의 유형은 현재 공개 블록체인(public blockchain), 비공개(사적) 블록체인(private blockchain), 컨소시엄 블록체인(consortium blockchain)의 3가지 유형으로 나뉜다. 공개 블록체인은 이무런 접근 제한이 없으며, 인터넷에 접속된 사용자는 누구나 거래를 생성할 수 있으며 또한 증명자(validator)가 될 수 있다. 이 유형은 대부분 암호화폐에 사용된다.(Bitcoin, Ethereum) 비공개 블록체인은 네트워크 관리자에 의해 허가 받아야만 참여할 수 있고 증명자가 될 수 있다. 이 유형은 일종의 절충안으로서 자율성을 잃지 않고 또한 민감한 데이터를 노출시키는 위험 없이 블록체인 기술의 이점을 취할 수 있도록 한다. 컨소시엄 블록체인은 허가적이지만 단일 조직이 통제하는 대신 다수의 기업들이 각자 블록체인에서 노드(node)를 운영할 수 있다. 컨소시엄 블록체인의 관리자는 사용자들의 가독권(reading rights)을 제한하여 한정된 신뢰 있는 노드들만이 합의 프로토콜을 실행하도록 허용한다.
스마트 계약(Smart Contracts) : 스마트 계약 개념은 법학자며 암호 전문가인 Nick Szabo에 의해 1994년에 소개되었다. 그는 분산 원장을 자율 실행적 계약(self-executable contracts)으로 사용할 수 있다고 결론 지었는데, 이것을 나중에 스마트 계약이라고 칭하게 되었다. 스마트 계약에 대한 생각은 오래 전에 존재했지만, 신뢰 받는 제3자의 개입을 말끔히 배제할 수는 없었다. 블록체인의 도입과 함께 제3자 개입과 관련된 문제점들(예를 들면, 보안 문제, 기만적 행위, 거래 비용 증가 등)이 깨끗이 해소되었다. 스마트 계약은 블록체인 기술을 가장 성공적으로 적용한 것 중 하나이다. Ethereum은 스마트 계약을 생성하기 위한 가장 인기 있는 블록체인 플랫폼이다. 스마트 계약은 전자 상거래, 부동산, 전자 투표(e-voting)와 같은 상이한 산업 분야에서 응용될 수 있다.
스마트 계약은 블록체인에서 구동되는 둘 이상의 당사자 사이의 한 세트의 컴퓨터 코드이며 관련 당사자들에 의해 동의되는 한 세트의 규칙으로 이루어진다. 실행에 의해, 이 한 세트의 미리 정의된 규칙들이 충족되면, 스마트 계약은 스스로 실행되어 결과를 산출한다. 이 코드가 바탕에 깔려있는 계약을 용이하게 하고 증명하고 실행함으로써 분산화된 자동 실행이 가능하게 된다. 다시 말해서, 스마트 계약은, 미리 정해진 규칙들을 가지는 블록체인에 저장된 자동적으로 실행될 수 있는 코드 행들(lines of code) 이다. 이러한 규칙들이 충족되면 코드는 스스로 실행되어 결과를 산출한다.
본 발명에서의 구현 : 본 발명에 따른 구현들에서, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 하나 이상을 선택하는 방법 및 시스템은 3가지 유형의 블록체인을 모두 이용할 수 있을 것이다. 그렇지만, 가장 바람직한 것은 컨소시엄 블록체인인데, 이것은 허가적이면서도 다수의 노드들이 참여하여 상호작용(소통)함으로써 단일 조직이 통제하는 경우의 단점들을 극복할 수 있게 된다. 무엇보다 컨소시엄 블록체인의 관리자는 사용자들의 기득권, 접근성을 제한하여 신뢰 있는 제한된 노드들만이 합의 과정에 참여할 수 있게 시스템을 구축할 수 있다는 점이다.
어떤 합의 알고리즘을 사용하느냐는 것은 블록체인의 효율성 및 확장성과 밀접히 관련되어 있다. Bitcoin의 경우 작업증명을 이용하는데, 이는 거래와 블록들을 증명하기 위해 엄청난 양의 컴퓨터 자원과 전기를 소비한다. 이와는 달리, 지분증명 알고리즘은 대부분의 지분을 가진 블록체인 참여자들에게 블록을 증명할 권한을 주도록 선택하는 방식이다. 현재 Ethereum이 이 방식을 채택하고 있다. 지분증명 뒤에 깔린 가정은, 지분을 더 많이 가지면 가질수록 시스템 유지에 대한 이해는 그만큼 더 크다는 것이다. 그렇지만, 지분증명의 가장 큰 취약점은 지분의 크기가 같더라도 소유자가 다르면 다르게 평가될 수 있다는 것이다. 예를 들면, 김씨다는 블록체인 기술을 일찍부터 받아들여 디지털 자산에 대한 큰 범위의 포트폴리오를 가지고 있지만, 박가네는 초보자로서 최근 생겨난 토큰만을 채굴한다고 하자. 둘 다 가상적 네트워크, Milcle의 토큰을 1,000 MC 씩 동일한 지분을 소유하고 있다고 예를 들어 보자. 따로따로 보면, 김씨다와 박가네는 Milcle의 성공에 똑같이 이해를 가지고 있다고 가정할 수 있을 것이다. 그렇지만, 각자의 다른 자산을 고려할 때, 1,000 MC는 김씨다에게는 전체 자산 중 1%만을 차지할 수 있으며, 반면 박가네에게는 50%를 차지할 수 있다. 권한증명(Power of Authority: POA) 알고리즘은 지분증명의 변형 형태로서, 여기서는 금전적 가치를 가지는 지분 대신 증명자의 신분이 지분의 역할을 한다. 권한증명의 경우, 아주 깨끗한 명성을 유지함으로써 거래를 증명할 권한을 얻게 되는 것이다.
본 발명에 따른 구현들에서, 블록체인에 기반하여 가중치를 갖는 후보들 중에서 하나 이상을 선택하는 방법 및 시스템은 Ethereum 블록체인의 스마트 계약에 기반한 전자 투표를 이용한다. 스마트 계약을 이용한 전자 투료를 블록체인에서 전개할 경우 여러 가지 이점들을 얻을 수 있게 된다. 이러한 이점들로서는 투명성(이는 추첨에 의한 우승자 선택에 있어 줄곧 시비가 제기되는 사항이다), 분쟁 발생 가능성의 배제, 안정성, 투명성과 안정성으로 인한 신뢰성 등을 열거할 수 있을 것이다.
스마트 계약은 Ethereum 환경에서 전개되고 실행된다. 스마트 계약은 이더리움 가상 기계(Ethereum Virtual Machine) 내에서 전개되고 저장되고 실행되며, 데이터를 저장할 수 있다. 저장되는 데이터는, 정보, 사실, 잔고(balance), 및 현실의 계약에 대한 논리(logic)를 실현하는데 필요한 어떤 다른 정보를 기록하기 위해 사용될 수 있다. Visual Studio를 포함하여 다수의 스마트 계약 저작 도구들(authoring tools)이 있지만, 스마트 계약을 개발하는 가장 손쉽고 빠른 방법은 Remix로 알려진 브라우저 기반 도구를 사용하는 것이다. Remix는, 브라우저 상에서 솔리더티 언어(Solidity language)를 사용하여 작성된 스마트 계약의 저작, 개발, 전개 및 분쟁해결을 위한 풍부한 통합 개발 환경을 제공한다.
이제 도3을 참조하면, Ethereum 블록체인의 스마트 계약에 기반한 투표를 위한 시스템(300)에서 3가지 유형의 행위자 역할이 있다: 관리자, 투표자, 및 검증자.
관리자 즉 서버(310)는 투표를 개시하고, 비밀(무기명)투표를 구성하고, 투표자들을 등록하고, 선거 기간을 결정하고, 허가 노드들을 결정한다.
투표자(340) 각각은 투표 적격자임을 증명하기 위해 인증하고, 투표자 지갑을 생성하고, 스마트 계약에 접근하여 투표하고(345), 선거 결과를 관찰한다.
검증자(validator) 즉 검증자 노드들(nodes)(365)은 관리자(310)가 투표를 개시하면, 비밀투표 스마트 계약(320)이 블록체인 네트워크(360)에서 전개되고 그에 따라 검증자 노드들(365) (블록체인 네트워크(360)를 이루는 노드들 가운데 관리자에 의해 선정된 지분증명 또는 권한증명의 노드들을 칭한다)은 비밀투표 스마트 계약에 접근하는 것이 허용된다. 투표자들(340)이 비밀투표 스마트 계약(320)을 통해 투표하면, 검증자 노드들(365)은 투표 데이터를 검증하고 모든 투표에 대해 합의에 도달하면 블록체인에 새로운 블록으로서 추가할 준비가 마쳐지게 된다.
투표 과정 : 선거 과정에서 발생하는 주요 행위들을 살펴보면 다음과 같다.
선거 개시 : 관리자(서버)(310)는 분산 앱(decentralized app: dApp)을 사용하여 비밀투표를 시작한다. 이 분산 앱을 통해 비밀투표 스마트 계약(320)과 상호작용 즉 소통하게 된다. 관리자(310)는 비밀투표 스마트 계약(320)에 후보 명단(목록)(325)과 표(330)를 정의하고, 이 비밀투표 스마트 계약(320)을 블록체인 네트워크(360)에 전개한다. 투표가 개시되면, 각각의 검증자 노드들(365)은 비밀투표 스마트 계약(320)과 상호작용하도록 허용된다. 비밀투표 스마트 계약은 컴퓨터 장치에서 실행되기 적합하게 코딩되며, Ethereum 블록체인에서 전개되고 실행된다.
투표자 등록 : 투표가 개시되면, 관리자(310)는 자격 있는 투표자들의 명단을 규정해야 한다. 이는 본 발명에 따른 구현들에서, 관리자(서버)(310), 예를 들면 발행자의 회원 관리 서버(도시 않음. 도1 참조)에 등록되어 있는 회원들 가운데서 회원들 각자의 동의를 얻어 적절한 크기의 회원들을 투표자(340)로 등록할 수 있을 것이다.(345) 일단 투표자(340)의 자격이 관리자 서버(310)에 의해 증명되면, 관리자 서버(310)는 전자 신분증(비밀투표 신분증) (electronic ID) 및 관리자 서버(310)의 공개 키를 생성하여 검증된 투표자(340)에게 전송한다.(345) 자격 있는 투표자(340, 345) 각각에 대해서 상응하는 디지털 지갑이 생성되며(345), 디지털 지갑은 투표자마다 독특해야 한다.
투표 거래(vote transaction) : 개별 투표자(340)는 투표할 때 비밀투표 스마트 계약(320)과 상호작용(소통)하게 된다. 이 스마트 계약(320)은 투표자 자신이 위치한 지역의 검증자 노드(365)를 통해 블록체인 네트워크(360)와 소통하며, 검증자 노드들(365) 대부분 사이에서 합의에 도달하면 투표자가 위치한 지역의 검증자 노드(365)는 표(330)를 블록체인에 첨부한다. 자격 있는 투표자(340, 345)는 디지털 지갑을 통하여 자신이 위치한 지역의 검증자 노드(365)를 이용하여 투표할 수 있다. 투표자(340)가 자신을 인증하려면, 정당한 전자 신분증을 검증자 노드(365)에 제시해야 한다. 인증에 성공하면, 비밀투표 스마트 계약(320)이 뜨게 되고, 투표자(340)는 비밀투표 스마트 계약(320)에 기록된 후보들 가운데서 투표할 후보를 결정하게 된다.(후보 열람) 그 다음 투표자(340)가 투표하기 위해서는 다시 디지털 신분증을 입력하여 확인을 받은 다음 자신의 표(330)에 디지털 서명한다.
투표자(340)가 자신의 표(330)에 서명한 다음에는, 투표자(340)가 비밀투표 스마트 계약(320)을 통해 소통한 검증자 노드(365)에 의해 표(330) 데이터가 검증되고, 이어서 표(330) 데이터는 대다수의 검증자 노드들(365)에 의해 검증되기 위해 블록체인 네트워크(360)에 널리 전파된다. 만약 검증자 노드들(365) 가운데 대다수에 의해 표(330) 데이터에 대한 합의가 이루어지면, 특정한 표에 대한 합의에 도달하게 된다. 그러면, 사용자(투표자)(340)는 자신의 표(330)에 상응하는 거래에 대해 거래 ID(transaction ID)를 받게 되며, 투표자(340)는 거래 ID를 이용하여 자신이 투표한 표(330)를 검증할 수 있게 된다. 비밀투표 스마트 계약(320)에 있는 각각의 거래는 투표한 후보(즉 표를 준 후보), 그리고 표(330)의 위치에 관한 정보를 유지하고 있으며, 일단 투표가 이루어지고 검증이 완료되면, 비밀투표 스마트 계약(320)은 투표한 후보에게 한 표를 추가하는 기능을 실행한다. 투표자(340)가 투표를 하면, 투표자의 지갑 가중치가 "1"만큼 감소하게 되어 한 번 이상 투표할 수 없게 된다.
집계(tallying) : 비밀투표 스마트 계약(320)은 집계 기능을 가지고 있어 스마트 계약에서 표를 집계할 수 있다. 투표가 끝나면 스마트 계약(320)의 최종 결과가 공개된다.
블록체인 추가 : 모든 거래(transactions)는 검증된 다음 블록에 포함되게 되고, 블록체인 네트워크(360)에 널리 전파되어 합의 과정이 진행된다. 검증자 노드들(365)에 의해 합의에 이르게 되면 새로운 블록으로서 블록체인(380)에 추가된다.
도4a는 본 발명의 일 구현에 따라, 어떻게 후보들 각각에 가중치가 부여되는 지를 보여주는 도면이고, 도4b는 각각의 후보를 3가지 등급으로 세분하는 것을 나타내는 도면이다. 후보 목록(400)에는 예를 들면, 사과(405), 배(410), 포도(415), 귤(420) 및 바나나(425)의 다섯 후보들이 열거되어 있고, 각각의 후보들에는 각자에게 특유한 서로 다른 가중치(예로서, 사과는 30점, 배는 12점 등)가 부여되어 있다. 후보들의 배열 순서는 가중치 크기와는 무관하게 무작위로 열거된다. 여기서 후보는 투표자들(340)의 투표에 의해 직접적으로 선택되는 사용자(정확하게는, 도1, 2를 참조하면, 클라이언트 디바이스(110, 200)의 사용자들 가운데 설문서에 응답한 사용자들 중 선택되는 자)를 의미하는 것이 아니라, 임무의 완성도와 관련된 개념이다. 다시 말해서, 도1, 2를 함께 참조하면, 본 발명의 바람직한 구현들에서, 사용자에게는 광고 시청 후 설문지 형식의 임무가 부여되는데, 이 임무는 하나의 광고에만 관련된 것일 수도 있고, 아니면 다수의 광고와 관련된 것일 수도 있다. 하나의 광고와 관련된 임무(예로서, 설문지)라 하더라도 성질상 상이한 것일 수도 있는데, 예를 들면 설문지의 항목들은 퀴즈와 리서치와 조사의 혼합에 의한 임무일 수 있다. 따라서, 사용자는 자신의 클라이언트 디바이스(110, 200)에 디스플레이 되는 둘 이상의 광고, 그리고 이 둘 이상의 광고 각각과 관련된 임무 즉 둘 이상의 설문지에 대해 임의로 대응할 수 있다. 어떤 사용자는 하나의 임무 즉 예로, 퀴즈에만 응답할 수 있고, 다른 사용자는 일부에 대해서만, 또 다른 사용자는 전체 임무(설문지 전체)에 대해 응답할 수 있다.
한편, 사용자는 설문지 형식과는 전혀 상이한 유형의 임무를 수행하여 기여할 수도 있는데, 예를 들면 지인 초대에 따른 회원 가입이나 사용자의 참여에 의한 콘텐츠 생성과 같은 행사(events)를 들 수 있을 것이다.
이와 같이 본 발명의 구현들에서 의미하는 후보는 한편으로는 임무의 달성 갯수, 즉 설문지에 제시된 퀴즈나 리서치 등에의 응답 수로 측정될 수 있는 것이다. 이것은 임무의 완성도와 관련된 것으로 취급할 수 있을 것이다. 다른 한편으로는, 회원 가입과 같은 임무는 본 발명에서 구현하고 있는 생태계에의 기여도에 따른 유형으로 분류할 수 있을 것이다. 그러므로, 본 발명의 구현 예들에서, 후보는 임무의 완성도와 생태계에의 기여도를 합한 '그룹으로 나눔(grouping)' 내지는 범주(category)에 관한 것이다.
그러므로, 도4a에서, 사과 후보(405)는 30점의 가장 큰 가중치를, 그 다음으로 포도 후보(415)는 25점의 가중치를 각각 갖는데, 이는 사과 후보(405)와 포도 후보(415) 각각의 완성도와 기여도를 합한 것이 각각 30점, 25점 이라는 의미이다. 다시 말해서, 사과 후보(405)에는 30점의 가중치의 무게를 가지는 응답자들(응답들)이 속하게 되고, 포도 후보(415)는 25점의 가중치의 무게를 가지는 응답자들(응답들)이 속하게 되는 것이다.
도4b를 참조하면, 도4a에서와 같이 후보들 중에서 어느 한 후보가 선택된 때에, 그 선택된 후보 중에서 상, 중, 하의 3등급 가운데 하나를 선택하기 위한 것이다. 이것은 앞에서 설명했듯이, 후보의 개념이 그룹으로 나눔 내지는 범주에 관한 것이기 때문이다. 즉 도4a에서 제시된 후보 목록(400)에 대해서 투표가 실시되고, 그 결과 한 후보가 선택되었을 때, 그 후보의 범주에는 다수의 응답자들(응답들)이 속하기 때문에 이들 가운데 다시 우승자를 선택할 필요가 있기 때문이다. 그러므로 도4b에서 제시된 등급 목록(450)에 대한 투표는 도4a의 후보 목록(400)에 대한 투표가 실시되어 그 중 적어도 하나의 후보가 결정된 후에 시간차를 두고 실시하게 된다.
도5는 블록체인에 기반하여 투표자들이 투표한 결과를 집계하여 적어도 하나의 후보를 우승자로 선택하는 방법을 보여주는 도면이다. 투표자들(340)의 투표가 실행되어 집계 결과를 보여주는 것으로, 사과 후보(405)는 가중치가 30점으로 가장 크지만 1표만을 얻었으므로 그 합은 30 이다. 배 후보(410)는 12점의 가중치에 2표를 얻어 24점을 획득했고, 포도 후보(415)는 25점 가중치에 3표를 얻어 75점의 총점을 얻었다. 나머지 후보들과 비교하여됴 포도 후보(415)의 총점이 가장 높으므로 포도 후보(415)를 최종적인 우승자로 선택하게 된다.
도6은 도5에 따라 선택된 후보의 3가지 등급 가운데 한 등급을 결정하는 방법을 보여주는 블록도이다. 도6은 도5에 따라 선택된 포도 후보(415)에 대해서 등급 투표를 실시한 결과 상 등급(460)은 2개를 얻었고, 하 등급(470)은 3개를 얻었으므로, 최종 우승자는 포도 후보(415) 중에서 하 등급(470)이 된다.
도7은 본 발명의 실시 예들에 따라, 기계(컴퓨터) 판독 가능 매체로부터 명령어들을 읽을 수 있고 또한 본 발명에서 논의되는 하나 이상의 방법들을 실행할 수 있는, 컴퓨터 형태의 기계의 구성 요소들을 도해하는 블록도이다. 도7은 예시적 컴퓨터 시스템 형태의 기계(machine)를 도식적으로 표현한 것으로, 이 기계 내부에서 기계(800)가 여기서 논의된 방법론들 가운데 임의의 하나 또는 그 이상을 실행할 수 있게 해주는 명령어들(824) (예, 소프트웨어)이 실행될 수 있다. 대안적인 구현 예들에서, 기계(800)는 독립적 장치로 동작할 수 있으며, 또는 LAN, 인트라넷, 엑스트라넷이나 인터넷에서 다른 기계들에 연결(예를 들어, 네트워킹)될 수 있다. 기계(800)는 서버-클라이언트 네트워크 환경에서는 서버 또는 클라이언트 기계로서, 또는 피어-투-피어 (또는 분산형) 네트워크 환경에서는 피어 기계로서 동작할 수 있다. 기계(800)는 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 셋톱 박스(STB), PDA(Personal Digital Assistant), 셀 방식 전화기, 웹 어플라이언스(web appliance), 네트워크 라우터, 스위치 또는 브리지, 또는 해당 기계에 의해 취해질 작용들을 명시하는 명령어들의 집합(순차적으로 또는 다른 식으로)을 실행할 수 있는 임의의 기계일 수 있다. 또한, 단일 기계만이 도시되지만, 용어 "기계"는 본 명세서에서 논의하는 방법론들 중 어느 하나 이상을 수행하기 위해 명령어들(824)을 개별적으로 또는 공동으로 실행하는 기계들의 임의의 모음을 포함하는 것으로도 간주되어야 할 것이다.
기계(800)는 프로세서(802), 주 메모리(804) (예를 들어, 판독 전용 메모리(ROM), 플래시 메모리, 동기식 DRAM(SDRAM) 또는 램버스 DRAM(RDRAM)과 같은 동적 랜덤 액세스 메모리(DRAM)), 및 정적 메모리(806) (예를 들어, 플래시 메모리, 정적 랜덤 액세스 메모리(SRAM) 등)를 포함하는데, 이들은 버스(808)를 경유해 서로 통신하도록 구성된다.
프로세서(802)는 마이크로프로세서, 중앙 처리 장치 등과 같은 하나 이상의 범용 처리 장치를 나타낸다. 더 구체적으로는, 프로세서(802)는 CISC(complex instruction set computing) 마이크로프로세서, RISC(reduced instruction set computing) 마이크로프로세서, VLIW(very long instruction word) 마이크로프로세서, 또는 그외의 명령어 집합들을 구현하는 프로세서 또는 명령어 집합들의 조합을 구현하는 프로세서들일 수 있다. 프로세서(802)는 또한 ASIC (application specific integrated circuit) 회로, FPGA(field programmable gate array), DSP(digital signal processor), 네트워크 프로세서 등과 같은 하나 이상의 특수 목적 처리 장치들일 수 있다. 프로세서(802)는 본 명세서에서 논의하는 동작 및 단계를 수행하기 위해 명령어들(824)을 실행하도록 구성된다.
기계(800)는 그래픽 디스플레이(810) (예를 들면, 플라즈마 디스플레이 패널(PDP), LED 디스플레이, LCD)를 더 포함한다. 기계(800)는 또한 문자수자 입력장치(alphanumeric input device) (812) (예로, 키보드), 커서 제어 장치(814) (예로, 마우스, 터치패드, 조이스틱, 혹은 다른 포인팅 도구), 저장 장치(816), 신호 발생 장치(818) (예로, 스피커), 및 네트워크 인터페이스 장치(820)를 포함한다.
저장 장치(816)는, 본 명세서에서 논의되는 방법론들 또는 기능들 중 어느 하나 이상을 구체화하는 명령어들(824) (예로, 소프트웨어)이 저장되어 있는 기계(컴퓨터) 판독가능 저장 매체(822)를 포함할 수 있다. 명령어들(824)은 또한 기계(800)에 의해 명령어들이 실행되는 동안 완전히(전부) 또는 적어도 부분적으로 주 메모리(804) 내에 및/또는 프로세서(802) 내에 (예로, 프로세서의 캐시 메모리 내에) 상주할 수 있으며, 따라서 주 메모리(804) 및 프로세서(802)는 기계 판독가능 매체를 또한 구성한다. 명령어들(824)은 네트워크 인터페이스 장치(820)를 경유해 네트워크(826)를 통해 추가로 송신되거나 수신될 수 있다.
기계 판독가능 저장 매체(822)가 예시적 구현에서 단일 매체인 것으로 도시되어 있지만, "기계(컴퓨터) 판독가능 저장 매체"라는 용어는 하나 이상의 명령어들의 집합을 저장하는 단일 매체 또는 다중 매체(예컨대, 중앙집중식 또는 분산형 데이터베이스, 및/또는 연관 캐시들 및 서버들)를 포함하는 것으로 간주되어야 한다. "기계 판독 가능 저장 매체"라는 용어는 또한, 기계(예로, 기계(800))에 의해 실행되는 명령어들의 집합을 저장하고, 인코딩하고 또는 전달할 수 있는 임의의 매체를 포함하는 것으로 취급되어야 하는데, 명령어들은, 기계의 하나 이상의 프로세서(예로, 프로세서(802))에 의해 실행될 때, 기계가 여기서 기술된 방법론들 중 어느 하나 이상을 실행하게끔 한다. 따라서, "컴퓨터 판독 가능 저장 매체"라는 용어는 고체 상태 메모리들(solid-state memories), 광 매체, 및 자기 매체를 포함하지만, 이들에만 한정되지는 않는 것으로 취급되어야 한다.
본 발명은 이상에서 개시된 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.
Claims (21)
- 블록체인에 기반하여 가중치를 갖는 후보들에게 투표하기 위한 시스템으로서:프로세서를 포함하는 서버; 및상기 프로세서에 의해 실행될 때, 오퍼레이션들을 수행하는 실행가능한 명령어들을 저장하는 메모리를 포함하며,상기 오퍼레이션들은 다음을 포함하는 것:컴퓨터 장치들에서 실행되기 적합하게 코딩되고 블록체인 네트워크에서 전개되고 실행되는 비밀투표 스마트 계약을 준비하는 것, 여기서, 상기 스마트 계약은 각각에게 특유한 가중치를 갖는 복수의 후보들을 포함하는 후보 명단, 및 투표자의 디지털 서명에 의해 투표가 행사되는 표를 포함하며;투표자들의 명단을 규정하는 것, 여기서, 상기 투표자들 각각은 각각에 독특한 디지털 지갑을 포함하며, 상기 디지털 지갑은 전자 신분증과 상기 서버의 공개 키를 포함하며, 그리고 상기 투표자들 각각은 상기 블록체인 네트워크에 전개된 상기 스마트 계약을 통해 상기 표에 투표하며;검증자 노드들을 선정하는 것, 여기서, 상기 검증자 노드들 각각은 상기 블록체인 네트워크를 통해 상기 스마트 계약에 접근할 수 있으며, 여기서, 상기 블록체인 네트워크를 통해 어떤 투표자와 소통이 된 검증자 노드는 그 어떤 투표자가 상기 스마트 계약을 통해 상기 표에 투표하면 투표된 표를 투표 거래로서 검증하고 또한 다른 검증자 노드들의 검증을 위해 상기 투표된 표를 상기 블록체인 네트워크를 통해 널리 전파하며, 여기서, 상기 검증자 노드들 각각은 상기 투표자들에 의해 투표된 표들 중에서 상기 검증자 노드들 사이에서 검증된 투표된 표들을 블록에 포함시키고, 또한 상기 검증자 노드들 각각은 합의에 도달한 블록을 새로운 블록으로서 블록체인에 추가하기 위해서 상기 검증자 노드들 사이에서 합의 알고리즘에 따라 상기 검증된 투표된 표들을 포함하는 블록에 대해 합의를 진행하는 것.
- 제1항에 있어서,상기 복수의 후보들 각각의 가중치가 상기 서버에 의해 제시되는 적어도 하나 이상의 설문형 임무에 대해 클라이언트 디바이스를 통해 응답한 응답들의 수에 의해 정해지는, 시스템.
- 제2항에 있어서,상기 복수의 후보들 각각의 가중치가 상기 서버에 의해 진행되는 지인 초대에 의한 회원 가입이나 콘텐츠 생성과 같은 행사형 임무에의 참여에 따른 분류를 더 포함하는, 시스템.
- 제1항에 있어서,상기 오퍼레이션들은,상기 표에 투표 행사하기 위해 상기 투표자들 각각이 상기 검증자 노드들 가운데 하나에 상기 블록체인 네트워크를 통해 상기 전자 신분증을 제시하는 것;상기 전자 신분증 제시에 의해 인증에 성공함에 따라, 상기 비밀투표 스마트 계약의 상기 복수의 후보들을 열람하는 것; 및상기 표에 투표를 행사하는 것을 더 포함하는 시스템.
- 제1항에 있어서,상기 투표자들의 명단 규정이 상기 서버에 등록되어 있는 회원들 가운데서 동의를 얻은 적절한 크기의 회원들로 구성되는, 시스템.
- 제1항에 있어서,상기 합의 알고리즘이 지분증명인, 시스템.
- 제1항에 있어서,상기 오퍼레이션들은,상기 투표자들이 투표 행사함에 따라 상기 후보들 각각의 특유한 가중치에 상기 후보들 각각이 얻은 투표의 수를 곱하여 상기 후보들 각각의 점수를 계산하는 것; 및상기 후보들 각각이 얻은 상기 점수들에 대해 높은 점수 순위에 따라 적어도 한 명 이상의 우승 후보를 결정하는 것;을더 포함하는, 시스템.
- 블록체인에 기반하여 가중치를 갖는 후보들에게 투표하기 위한 시스템으로서:프로세서를 포함하는 서버; 및상기 프로세서에 의해 실행될 때, 오퍼레이션들을 수행하는 실행가능한 명령어들을 저장하는 메모리를 포함하며,상기 오퍼레이션들은 다음을 포함하는 것:컴퓨터 장치들에서 실행되기 적합하게 코딩되고 블록체인 네트워크에서 전개되고 실행되는 비밀투표 스마트 계약을 준비하는 것, 여기서, 상기 비밀투표 스마트 계약은 각각에게 특유한 가중치를 갖는 복수의 후보들을 포함하는 후보 명단, 및 투표자의 디지털 서명에 의해 투표가 행사되는 표를 포함하며;컴퓨터 장치들에서 실행되기 적합하게 코딩되고 블록체인 네트워크에서 전개되고 실행되는 등급투표 스마트 계약을 준비하는 것, 여기서, 상기 등급투표 스마트 계약은 상기 복수의 후보들 각각을 복수의 등급들로 분류하는 등급 목록, 및 투표자의 디지털 서명에 의해 투표가 행사되는 등급표를 포함하며;상기 비밀투표 스마트 계약 및 상기 등급투표 스마트 계약의 투표 선후를 결정하는 것, 여기서, 상기 비밀투표 스마트 계약의 상기 표에 대한 투표를 실시하여 적어도 한 명 이상의 후보를 결정하고, 그 다음에 상기 결정된 한 명 이상의 후보에 대해 상기 등급투표 스마트 계약의 상기 등급표에 대한 투표가 실시되며;투표자들의 명단을 규정하는 것, 여기서, 상기 투표자들 각각은 각각에 독특한 디지털 지갑을 포함하며, 상기 디지털 지갑은 전자 신분증과 상기 서버의 공개 키를 포함하며, 그리고 상기 투표자들 각각은 상기 블록체인 네트워크에 전개된 상기 비밀투표 스마트 계약 및 상기 등급투표 스마트 계약을 통해 상기 표 및 상기 등급표에 각각 투표하며;검증자 노드들을 선정하는 것, 여기서, 상기 검증자 노드들 각각은 상기 블록체인 네트워크를 통해 상기 비밀투표 스마트 계약 및 상기 등급투표 스마트 계약에 접근할 수 있으며, 여기서, 상기 블록체인 네트워크를 통해 어떤 투표자와 소통이 된 검증자 노드는 그 어떤 투표자가 상기 비밀투표 스마트 계약 또는 상기 등급투표 스마트 계약을 통해 상기 표나 상기 등급표에 투표하면 투표된 표나 등급표를 각각 투표 거래로서 검증하고 또한 다른 검증자 노드들의 검증을 위해 상기 투표된 표나 등급표를 상기 블록체인 네트워크를 통해 널리 전파하며, 여기서, 상기 검증자 노드들 각각은 상기 투표자들에 의해 투표된 표들 또는 등급표들 중에서 상기 검증자 노드들 사이에서 검증된 투표된 표들 또는 등급표들을 블록에 포함시키고, 그리고 상기 검증자 노드들 각각은 합의에 도달한 블록을 새로운 블록으로서 블록체인에 추가하기 위해서 상기 검증자 노드들 사이에서 합의 알고리즘에 따라 상기 검증된 투표된 표들 또는 등급표들을 포함하는 블록에 대해 합의를 진행하는 것.
- 제8항에 있어서,상기 복수의 후보들 각각의 가중치가, 상기 서버에 의해 제시되는 적어도 하나 이상의 설문형 임무에 대해 클라이언트 디바이스를 통해 응답한 응답들의 수에 의해 정해지는, 시스템.
- 제8항에 있어서,상기 투표자들의 명단 규정이 상기 서버에 등록되어 있는 회원들 가운데서 동의를 얻은 적절한 크기의 회원들로 구성되는, 시스템.
- 제8항에 있어서,상기 오퍼레이션들은,상기 투표자들이 투표 행사함에 따라 상기 후보들 각각의 특유한 가중치에 상기 후보들 각각이 얻은 투표의 수를 곱하여 상기 후보들 각각의 점수를 계산하는 것; 및상기 후보들 각각이 얻은 상기 점수들에 대해 높은 점수 순위에 따라 적어도 한 명 이상의 우승 후보를 결정하는 것;을더 포함하는, 시스템.
- 프로세서를 포함하는 서버에서 구현되는, 다음을 포함하는 방법:컴퓨터 장치들에서 실행되기 적합하게 코딩되고 블록체인 네트워크에서 전개되고 실행되는 비밀투표 스마트 계약을 준비하는 단계, 여기서, 상기 스마트 계약은 각각에게 특유한 가중치를 갖는 복수의 후보들을 포함하는 후보 명단, 및 투표자의 디지털 서명에 의해 투표가 행사되는 표를 포함하며;투표자들의 명단을 규정하는 단계, 여기서, 상기 투표자들 각각은 각각에 독특한 디지털 지갑을 포함하며, 상기 디지털 지갑은 전자 신분증과 상기 서버의 공개 키를 포함하며, 그리고 상기 투표자들 각각은 상기 블록체인 네트워크에 전개된 상기 스마트 계약을 통해 상기 표에 투표하며;검증자 노드들을 선정하는 단계, 여기서, 상기 검증자 노드들 각각은 상기 블록체인 네트워크를 통해 상기 스마트 계약에 접근할 수 있으며, 여기서, 상기 블록체인 네트워크를 통해 어떤 투표자와 소통이 된 검증자 노드는 그 어떤 투표자가 상기 스마트 계약을 통해 상기 표에 투표하면 투표된 표를 투표 거래로서 검증하고 또한 다른 검증자 노드들의 검증을 위해 상기 투표된 표를 상기 블록체인 네트워크를 통해 널리 전파하며, 여기서, 상기 검증자 노드들 각각은 상기 투표자들에 의해 투표된 표들 중에서 상기 검증자 노드들 사이에서 검증된 투표된 표들을 블록에 포함시키고, 또한 상기 검증자 노드들 각각은 합의에 도달한 블록을 새로운 블록으로서 블록체인에 추가하기 위해서 상기 검증자 노드들 사이에서 합의 알고리즘에 따라 상기 검증된 투표된 표들을 포함하는 블록에 대해 합의를 진행하는 것.
- 제12항에 있어서,상기 복수의 후보들 각각의 가중치가 상기 서버에 의해 제시되는 적어도 하나 이상의 설문형 임무에 대해 클라이언트 디바이스를 통해 응답한 응답들의 수에 의해 정해지는, 방법.
- 제13항에 있어서,상기 복수의 후보들 각각의 가중치가 상기 서버에 의해 진행되는 지인 초대에 의한 회원 가입이나 콘텐츠 생성과 같은 행사형 임무에의 참여에 따른 분류를 더 포함하는, 방법.
- 제12항에 있어서,상기 투표자들의 명단 규정이 상기 서버에 등록되어 있는 회원들 가운데서 동의를 얻은 적절한 크기의 회원들로 구성되는, 방법.
- 제12항에 있어서,상기 합의 알고리즘이 지분증명인, 방법.
- 제12항에 있어서,상기 투표자들이 투표 행사함에 따라 상기 후보들 각각의 특유한 가중치에 상기 후보들 각각이 얻은 투표의 수를 곱하여 상기 후보들 각각의 점수를 계산하는 단계; 및상기 후보들 각각이 얻은 상기 점수들에 대해 높은 점수 순위에 따라 적어도 한 명 이상의 우승 후보를 결정하는 단계;를더 포함하는, 방법.
- 프로세서를 포함하는 서버에서 구현되는, 다음을 포함하는 방법:컴퓨터 장치들에서 실행되기 적합하게 코딩되고 블록체인 네트워크에서 전개되고 실행되는 비밀투표 스마트 계약을 준비하는 단계, 여기서, 상기 비밀투표 스마트 계약은 각각에게 특유한 가중치를 갖는 복수의 후보들을 포함하는 후보 명단, 및 투표자의 디지털 서명에 의해 투표가 행사되는 표를 포함하며;컴퓨터 장치들에서 실행되기 적합하게 코딩되고 블록체인 네트워크에서 전개되고 실행되는 등급투표 스마트 계약을 준비하는 단계, 여기서, 상기 등급투표 스마트 계약은 상기 복수의 후보들 각각을 복수의 등급들로 분류하는 등급 목록, 및 투표자의 디지털 서명에 의해 투표가 행사되는 등급표를 포함하며;상기 비밀투표 스마트 계약 및 상기 등급투표 스마트 계약의 투표 선후를 결정하는 단계, 여기서, 상기 비밀투표 스마트 계약의 상기 표에 대한 투표를 실시하여 적어도 한 명 이상의 후보를 결정하고, 그 다음에 상기 결정된 한 명 이상의 후보에 대해 상기 등급투표 스마트 계약의 상기 등급표에 대한 투표가 실시되며;투표자들의 명단을 규정하는 단계, 여기서, 상기 투표자들 각각은 각각에 독특한 디지털 지갑을 포함하며, 상기 디지털 지갑은 전자 신분증과 상기 서버의 공개 키를 포함하며, 그리고 상기 투표자들 각각은 상기 블록체인 네트워크에 전개된 상기 비밀투표 스마트 계약 및 상기 등급투표 스마트 계약을 통해 상기 표 및 상기 등급표에 각각 투표하며;검증자 노드들을 선정하는 단계, 여기서, 상기 검증자 노드들 각각은 상기 블록체인 네트워크를 통해 상기 비밀투표 스마트 계약 및 상기 등급투표 스마트 계약에 접근할 수 있으며, 여기서, 상기 블록체인 네트워크를 통해 어떤 투표자와 소통이 된 검증자 노드는 그 어떤 투표자가 상기 비밀투표 스마트 계약 또는 상기 등급투표 스마트 계약을 통해 상기 표나 상기 등급표에 투표하면 투표된 표나 등급표를 각각 투표 거래로서 검증하고 또한 다른 검증자 노드들의 검증을 위해 상기 투표된 표나 등급표를 상기 블록체인 네트워크를 통해 널리 전파하며, 여기서, 상기 검증자 노드들 각각은 상기 투표자들에 의해 투표된 표들 또는 등급표들 중에서 상기 검증자 노드들 사이에서 검증된 투표된 표들 또는 등급표들을 블록에 포함시키고, 그리고 상기 검증자 노드들 각각은 합의에 도달한 블록을 새로운 블록으로서 블록체인에 추가하기 위해서 상기 검증자 노드들 사이에서 합의 알고리즘에 따라 상기 검증된 투표된 표들 또는 등급표들을 포함하는 블록에 대해 합의를 진행하는 것.
- 제18항에 있어서,상기 복수의 후보들 각각의 가중치가 상기 서버에 의해 제시되는 적어도 하나 이상의 설문형 임무에 대해 클라이언트 디바이스를 통해 응답한 응답들의 수에 의해 정해지는, 방법.
- 제18항에 있어서,상기 투표자들의 명단 규정이 상기 서버에 등록되어 있는 회원들 가운데서 동의를 얻은 적절한 크기의 회원들로 구성되는, 방법.
- 제18항에 있어서,상기 투표자들이 투표 행사함에 따라 상기 후보들 각각의 특유한 가중치에 상기 후보들 각각이 얻은 투표의 수를 곱하여 상기 후보들 각각의 점수를 계산하는 단계; 및상기 후보들 각각이 얻은 상기 점수들에 대해 높은 점수 순위에 따라 적어도 한 명 이상의 우승 후보를 결정하는 단계;를더 포함하는, 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/417,034 US20220076518A1 (en) | 2018-12-21 | 2019-12-20 | Blockchain-based method and system for selecting winner from among weighted candidates |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0167488 | 2018-12-21 | ||
KR1020180167488A KR20200078002A (ko) | 2018-12-21 | 2018-12-21 | 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020130717A1 true WO2020130717A1 (ko) | 2020-06-25 |
Family
ID=71102626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2019/018223 WO2020130717A1 (ko) | 2018-12-21 | 2019-12-20 | 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220076518A1 (ko) |
KR (1) | KR20200078002A (ko) |
WO (1) | WO2020130717A1 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112053155A (zh) * | 2020-09-07 | 2020-12-08 | 杭州复杂美科技有限公司 | 社群决策方法、设备和存储介质 |
US11119734B2 (en) * | 2019-11-06 | 2021-09-14 | International Business Machines Corporation | Software detection and modification |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12019615B2 (en) * | 2021-11-30 | 2024-06-25 | Ciena Corporation | Proof of asset value for transaction validator election |
US20230022024A1 (en) * | 2022-10-01 | 2023-01-26 | Bishwadeep Bhattacharyya | Post-election automatic handover of position and administrative privileges |
WO2024190790A1 (ja) * | 2023-03-15 | 2024-09-19 | 京セラ株式会社 | 通信システム、ノード、及びプログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS643177B2 (ko) * | 1982-05-04 | 1989-01-19 | Nippon Zeon Co | |
KR20100109001A (ko) * | 2009-03-31 | 2010-10-08 | 장준현 | 고유식별부호를 제공받아 자신의 표결을 확인하는 전자식 투표시스템 |
CN107395665A (zh) * | 2017-05-22 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链业务受理及业务共识方法及装置 |
KR101837170B1 (ko) * | 2016-12-29 | 2018-04-19 | 주식회사 코인플러그 | 영지식 증명 알고리즘을 사용하여 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버 |
KR101908677B1 (ko) * | 2017-09-29 | 2018-10-16 | 숭실대학교산학협력단 | 블록체인을 이용한 전자투표 관리 시스템 및 방법 |
-
2018
- 2018-12-21 KR KR1020180167488A patent/KR20200078002A/ko active IP Right Grant
-
2019
- 2019-12-20 US US17/417,034 patent/US20220076518A1/en not_active Abandoned
- 2019-12-20 WO PCT/KR2019/018223 patent/WO2020130717A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS643177B2 (ko) * | 1982-05-04 | 1989-01-19 | Nippon Zeon Co | |
KR20100109001A (ko) * | 2009-03-31 | 2010-10-08 | 장준현 | 고유식별부호를 제공받아 자신의 표결을 확인하는 전자식 투표시스템 |
KR101837170B1 (ko) * | 2016-12-29 | 2018-04-19 | 주식회사 코인플러그 | 영지식 증명 알고리즘을 사용하여 블록체인 기반 비밀 전자 투표 서비스를 제공하기 위한 방법, 및 이를 이용한 투표 코인 발행 서버, 투표 토큰 분배 서버 및 투표 지원 서버 |
CN107395665A (zh) * | 2017-05-22 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种区块链业务受理及业务共识方法及装置 |
KR101908677B1 (ko) * | 2017-09-29 | 2018-10-16 | 숭실대학교산학협력단 | 블록체인을 이용한 전자투표 관리 시스템 및 방법 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11119734B2 (en) * | 2019-11-06 | 2021-09-14 | International Business Machines Corporation | Software detection and modification |
CN112053155A (zh) * | 2020-09-07 | 2020-12-08 | 杭州复杂美科技有限公司 | 社群决策方法、设备和存储介质 |
CN112053155B (zh) * | 2020-09-07 | 2024-03-19 | 天津星微软件开发有限公司 | 社群决策方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20220076518A1 (en) | 2022-03-10 |
KR20200078002A (ko) | 2020-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020130717A1 (ko) | 블록체인에 기반하여 가중치를 갖는 후보들 중에서 우승자를 선택하는 방법 및 시스템 | |
Lewandowsky et al. | Technology and democracy: Understanding the influence of online technologies on political behaviour and decision-making | |
Howard | New media campaigns and the managed citizen | |
Pym et al. | Status and technology in the professionalisation of translators. Market disorder and the return of hierarchy | |
Wightman | Crowdsourcing human-based computation | |
Liu et al. | Drawing on mobile crowds via social media: Case UbiAsk: image based mobile social search across languages | |
Jia et al. | Discovery of behavioral patterns in online social commerce practice | |
Wagner et al. | Harnessing the power of social media for creativity support: A three-pronged approach | |
Bhanye et al. | Social Media in the African Context: A Review Study on Benefits and Pitfalls | |
Bouke et al. | Overcoming the challenges of data lack, leakage, and dimensionality in intrusion detection systems: a comprehensive review | |
Frechette | Keeping media literacy critical during the post-truth crisis over fake news | |
Memon et al. | Transformation towards Cyber Democracy: A study on Contemporary Policies, Practices and Adoption Challenges for Pakistan | |
Eyal | Digital fit as a leg-up for nongovernmental organizations’ media and political success | |
Messing et al. | How social media introduces biases in selecting and processing news content | |
Kura et al. | Youth Political Participation in Sokoto: Breaking the Stronghold and Creating Pathways | |
Chen | E-engagement: A guide for Public Sector Managers | |
CN110990742A (zh) | 一种智能测试和学习系统 | |
Lubis et al. | Marketing Strategies Design for Crowdsourcing Application in Indonesia | |
Zhao et al. | Extending the research on digital China: the transnational lens | |
Wijaya | THE INFLUENCE OF PROMOTION STRATEGIES THROUGH SOCIAL MEDIA AND WORD OF MOUTH MARKETING ON SCHOOL SELECTION DECISIONS (CASE STUDY AT SMK MUHAMMADIYAH PARAKAN) | |
Erni et al. | Ethnic Minority Youth as Digital Cultural Participants: Toward a Critical Indicator Study | |
Smith | Modern day propaganda: characteristics of fake news and psychological effects on the public | |
Fajardo | Filipino students’ competency in evaluating digital media content credibility:‘Beginning’to ‘emerging’levels | |
Ndolo | Technology integration and transformation of elections in Africa: An evolving modality | |
Υφαντής | Cutting-edge computational systems and emerging technologies applied to e-government and virtual environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19901240 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19901240 Country of ref document: EP Kind code of ref document: A1 |