Top crypto generator 1 bitcoinday2017 by anonymous 0213
Automated fuzz-testing for IT security experts and developers. Python script to explore exploits from exploit-db. Linux Penetration Testing Framework. A simple intrusion detection system that detects anomalous IP payload. The latest version of scanner for IIS short file name 8. Remote thread injected DLL libraries, support for windows bit and bit platforms. Open Source Security tool to audit stored and hashed password.
Jboss verify and Exploitation Tool. Multi-Boot Security Suite Released. Exploit scanner for Joomla and WordPress. Mozilla InvestiGator released; is a real-time digital forensics and incident response of modern infrastructures. Implementation of some concepts in Security and Exploiting. Framework for Man-In-The-Middle attacks.
This is the ultimate tool for taking control of any website. Man on the Side Attack — experimental packet injection and detection. Global Rate Limit Considered Dangerous. Brute — a bruteforce p ftp connection handler to bypass strange corporate firewalls.
PowerShell for penetration testing and offensive security. Gives you one-liners that aids in penetration testing operations. Oracle Database 12c password brute forcer. A tool for embedding XXE exploits into oxml documents.
A penetration testing tool for searching and recording parameters within forms and urls for a target web application. Post Exploitation Linux Toolkit. A web interface for various penetration testing tools. A simple POst-Exploitation Tool.
Self contained phish endpoint generator and web server. Java library for static malware analysis of Portable Executable files. Fuzz testing framework for network protocols. Hexadecimal strings test tool. Multithreaded Proxy Enumeration Utility. Pivoting from Windows to Linux in a penetration test. Free web-application vulnerability and version scanner.
Semi-complex webshell manager, quasi-http botnet. Sleepy Autumn — unix-like reverse engineering framework and commandline tools. Reverse shell via file upload exploit. DNS Records Brute force. Penetration Test Suite for Smartphones. A python based https remote access trojan for penetration testing. The offline distribution module 72 removes the private keys 79 of the Bitcoin address 80 of the vault The offline distribution module 72 also removes the private key 79 of the Bitcoin address 80 within the local storage The wallet 42 has a plurality of Bitcoin addresses 74 , 76 and 78 associated therewith.
Each Bitcoin address 74 , 76 and 78 has a respective value and a respective private key. The local controller 58 transfers the entire value of the Bitcoin addresses 76 and 78 into the vault The value relating to the Bitcoin address 74 is not transferred into the vault The local controller 58 calculates the total value of the Bitcoin addresses 76 and 78 that have been transferred into the vault 64 and records the total value in the local storage 56 in association with the Bitcoin address The private key 79 is only held in a split and encrypted form at the distributed locations where the offline distribution module 72 in FIG.
Unless access can be gained to the private key 79 that has now been split and distributed, it is not possible to access the value of the Bitcoin addresses 76 and It is now possible for a user to which the wallet 42 is registered to use the Bitcoin address 74 for transacting with another user via the wallet management module 44 in FIG. The Bitcoin addresses 76 and 78 are not usable by the wallet management module 44 for purposes of transacting with another user at this time because their values, within the wallet 42 , have been removed.
Components that are provided for restoration include a plurality of restoration interfaces 82 , 84 and 86 , one or more decryption algorithms 88 , 90 and 92 and an assembler The holder of the first encrypted code Encrypted Code 1 is called upon to enter the encrypted code into the restoration interface The restoration interface 82 may for example be a web page with a field for entry of the first encrypted code.
Alternatively, the restoration interface 82 may be an application programmable interface API and the first encrypted code can be entered into the API with or without human involvement. In the given example, the second, third, fifth and sixth encrypted codes are not received at this time. The fourth and seventh encrypted codes are received through the restoration interfaces 84 and 86 , similar to the first encrypted code.
The decryption algorithm 88 decrypts the first encrypted code Encrypted Code 1 into the first code Code 1. In the given example, the decryption algorithms 90 and 92 decrypt the fourth and seventh encrypted codes Encrypted Code 4 and Encrypted Code 7 into the fourth and seventh codes Code 4 and Code 7 respectively.
In the given example, three codes are the minimum number of codes that are required in order to reassemble the private key The minimum number of codes required for reassembly in FIG. The assembler 94 assembles the private key 79 when the minimum number of codes has been received. The private key 79 of the Bitcoin address 80 in the local storage 56 is used to access the vault The local controller 58 then restores the private key 79 from the local storage into the vault for association with the Bitcoin address.
The block chain will know whether the private key 79 that has been restored is the same private key 79 that was previously associated with the Bitcoin address. Only upon confirmation from the block chain will it be possible to transfer the value from the vault 64 to the local register The local controller 58 restores the respective value of the Bitcoin addresses 76 and 78 in the vault 64 to the Bitcoin addresses 76 and 78 in the wallet Because the values have been restored to the Bitcoin addresses 76 and 78 in the wallet 42 they are usable for transacting with other users.
The local storage 56 has first, second and third Bitcoin addresses 80 A to 80 C for first, second and third vaults 64 A to 64 C, respectively. The Bitcoin addresses 76 and 78 form a first transfer set that is selected for cold storage.
The Bitcoin addresses 74 and 98 form a first transacting set. The private key of the Bitcoin address 80 A of the first vault 64 A is then transferred into the local storage 56 and is stored in association with the first Bitcoin address 80 A. As hereinbefore described with reference to FIG. As hereinbefore described with reference to FIGS. It is then not possible for a user of the wallet 42 to use the Bitcoin address 76 and 78 for transacting with another user.
The user can still transact with another user using the Bitcoin addresses 74 and 98 of the first transacting set because their values are still associated with them within the wallet The private key of the Bitcoin address 80 B of second vault 64 B is transferred into the local storage 56 and associated with the second Bitcoin address 80 B within the local storage The private key of the second Bitcoin address 80 B in the local storage 56 is split and distributed and then removed from the local storage The Bitcoin address 98 is selected as part of a second transfer set of one or more Bitcoin addresses.
The value of the Bitcoin address 98 within the wallet 42 is thus removed. The user of the wallet 42 can now not use the Bitcoin address 98 for purposes of transacting with another user because the value of the Bitcoin address 98 has been removed from the wallet The Bitcoin address 74 forms part of a second transacting set that may include one or more Bitcoin addresses that can be used for transacting with another user.
At this stage it may be desirable to restore the values of the Bitcoin addresses 76 and The private key of the first Bitcoin address 80 A within the local storage 56 is restored to the vault 64 as hereinbefore described with reference to FIG.
The respective values of the Bitcoin addresses 76 and 78 are then restored from the vault 64 A to the Bitcoin addresses 76 and 78 in the wallet Because the values of the Bitcoin addresses 76 and 78 are restored within the wallet 42 , the Bitcoin addresses 76 and 78 of the first transfer set can, at least for the time being, be used together with the second transacting set for transacting with another user.
The same Bitcoin addresses 74 , 76 , 78 and 98 that are shown in FIG. It should be understood that the Bitcoin addresses may change between the figures. The system allows for the value that was previously associated with one Bitcoin address to be restored to another Bitcoin address if necessary.
The first Bitcoin address 80 A within the local storage 56 and the first vault 64 A will never be used again. The Bitcoin address 78 is selected as a third transfer set. The private key of the Bitcoin address 80 C of the third vault 64 C is transferred into the local storage 56 and stored in association with a third Bitcoin address 80 C.
The value of the Bitcoin address 78 is transferred from the wallet 42 to the third vault 64 C. The user of the wallet 42 can now not use the Bitcoin address 78 for transacting with another user. The Bitcoin address 76 forms part of a third transacting set that could include one or more Bitcoin addresses.
The Bitcoin address 76 can be used by the user of the wallet 42 for transacting with another user because the value of the Bitcoin address 76 is associated therewith within the wallet The second and third transacting sets can thus be used by the user for transacting with another user.
The second and third transfer sets are unusable for transacting with another user because their private keys have been removed. At , the values of the first transacting set are transferred from the wallet 42 as described with reference to FIG. At , the user transacts with some of the Bitcoin addresses and the total value within the wallet 42 of the Bitcoin addresses that are hot is reduced.
At , the values of the second transfer set are removed from the wallet 42 as described with reference to FIG. At , the values of the first transfer set are restored as described with reference to FIG. At , the user transacts and gains further Bitcoin addresses for additional value within their wallet At , values of the third transfer set are transferred out of the wallet 42 as described with reference to FIG.
It can thus be seen that the local controller 58 in FIGS. The wallet 42 A is that same as the wallet 42 as described above. The wallet 42 B has bitcoin addresses , , and associated therewith. The wallet 42 C has bitcoin addresses , , and associated therewith. The merchant computer system has an online store and a website The customer computer system has a browser A customer at the customer computer system can use the browser to access the website over the Internet The website is then displayed on the browser The website allows for the customer to make purchase on the online store The customer may, for example, purchase real goods, virtual goods or services from the online store The first host computer system 14 includes an application programmable interface API , a reference code generator , a transaction processor , a currency converter and merchant, and customer and host wallets , and The wallets , and may be of the kind as hereinbefore described.
The API call includes a request for payment. When the first host computer system 14 receives the API call at , the reference code generator generates a unique reference code for the specific order. The reference code is thus uniquely generated for each API call. The first host computer system 14 then stores the reference code in its database. At , the first host computer system 14 responds to the API call received at to transmit the reference code to the merchant computer system The merchant computer system then receives the reference code as reference code The merchant computer system stores the reference code as reference code within its accounting system and associates the reference code with the particular order shown in the shopping cart.
The merchant computer system also creates a URL The first host computer system 14 creates a URL that includes a reference code The reference code and the reference code are the same. The merchant computer system at redirects the browser FIG. The browser is then redirected to the URL of the first host computer system The landing page, iFrame or modal window presents checkout options to the customer, including to pay with the customer wallet if one exists, to pay with bitcoin using an external account, or to create a wallet at the first host computer system 14 for purposes of completing the purchase.
In a different embodiment, instead of being automatically redirected by the merchant computer system to the first computer system 14 , the customer may be redirected to a different page at the merchant computer system , which will then contain a link for the customer to navigate to the landing page, iFrame or modal window When the browser of the customer computer system downloads the landing page, iFrame or modal window , the first host computer system 14 automatically generates a bitcoin address specifically for the customer's order within the merchant wallet The graph illustrates a fluctuating bitcoin to dollar exchange rate.
In the present example, the exchange rate at minute 0 is used at to calculate the exchange rate. The price of 0. The customer may not wish to immediately send the bitcoin, but may do so at any time before the price resets at minute 10 and the exchange rate remains locked in and the bitcoin price thus remains unchanged at 0.
An option is displayed to the customer to send the bitcoin together with the price in bitcoin at minute 0. When the customer selects the option to send the bitcoin, the customer computer system transmits a send instruction to the first host computer system The first host computer system 14 receives and at detects the send instruction. The customer may for example request to send bitcoin from the customer wallet or via another path as hereinbefore described. The first host computer system 14 responds to the send instruction to transmit an order status message that includes the reference code for the transaction to the merchant computer system The merchant computer system receives the reference code as reference code The merchant computer system then matches the reference code to the reference code within its accounting system and marks the transaction as complete.
In the present example, the send instruction is processed at minute 6. The exchange rate has in the present example changed between minute 0 and minute 6. Should the bitcoin price of 0. The difference between the original price at minute 0 and minute 6 represents either a loss or a gain for the first host computer system The loss and gain is used to calculate bitcoin replacement costs on a periodic basis. In the present example the first computer system 14 responds to the send instruction received at to transmit 0.
When the bitcoin reaches the bitcoin address , the first host computer system 14 , at , immediately purchases the bitcoin from the merchant wallet , resulting in a transfer of the bitcoin from the merchant wallet to the host wallet The first host computer system 14 purchases the bitcoin at the exchange rate locked in at minute 0.
Periodically, for example daily, the first host computer system 14 calculates the total amount of bitcoin sold by the merchant wallet that day at the locked in prices.
The first host computer system 14 has a bank transfer module that, at , transmits a payment instruction to a bank for the first host computer system The bank for the first host computer system 14 communicates with a bank of the merchant computer system Such communication, at , results in transfer of funds from a host bank account to a merchant bank account In the present example, the customer uses their customer wallet to transfer funds in the form of bitcoin from the customer wallet to the merchant wallet and the funds are then transferred in the form of bitcoin from the merchant wallet to the host wallet In another embodiment, the merchant wallet can be bypassed such that the customer transfers funds in the form of bitcoin from the customer wallet directly into the host wallet In either embodiment the funds that are received by the host wallet are used as a basis for calculating the amount of money in local currency that is transferred by the bank transfer module , minus a fee that is held back by the first host computer system 14 for purposes of processing the transaction.
Referring again to FIG. The currency converter is responsible for receiving and maintaining exchange rate for bitcoin to local currency and for calculating the bitcoin price based on the local currency price and the exchange rate at any particular moment in time. The transaction processor is responsible for transferring funds in the form of bitcoin or local currency from one wallet or bank account to another.
In the embodiment above, the exchange rate is locked in when the customer accesses the landing page, iFrame or modal window and is locked for ten minutes. Selection of the button by the customer results from the process described above wherein the customer is directed to the landing page, iFrame or modal window When the user hits the landing page the exchange rate is locked.
Another embodiment is used in white-label solutions. In these instances, the user is not directed away from the merchant domain to a landing page such as the landing page, frame or modal window to complete payment.
Instead, the checkout information that would have otherwise shown on the landing page is displayed inside the merchant's browser checkout tool. The merchant then displays the checkout information to the user—i. This embodiment differs in that: At , the user already has an account that the user can log into using a website. The account has a first email electronic communication address. The first email address may be john.
The account also has a phone number associated therewith and one or more wallets as herein before described. The website provides the user with a link to create a vault. At , the user is provided an option to create an individual vault or a group vault. In an individual vault the user will be required to respond to two emails in order to transfer bitcoin out of the vault. In a group vault multiple users are required to respond to emails in order for the user of the account represented at to transfer the bitcoin out of the vault.
The user may, at , select an individual vault. At , an interface of the website is presented with a field for the user to enter a second email address. The second email address may for example be john.
The user enters the second email address and selects a button to transmit the second email address from their device to the first host computer system When the first host computer system 14 receives the second email address, the first host computer system 14 , at , transmits a confirmation email with a confirmation link to the second email address. The purpose of the email that is transmitted at is to confirm the second email address.
At , the first host computer system 14 waits for the confirmation. The first host computer system 14 does not proceed to create a vault if the confirmation is not received.
At , the user selects the confirmation link, which causes transmission of the confirmation from the device of the user to the first host computer system When the first host computer system 14 receives the confirmation, the first host computer system 14 proceeds at to register a vault within the same account shown at The vault includes the first and second email addresses.
The vault also includes the phone number of the account. At , the first host computer system 14 updates the interface of the website to provide a summary. The summary indicates that, in order to transfer bitcoin out of the vault, emails will be sent to the first and second email addresses, and the summary includes the phone number associated with the vault and that the bitcoin will not be transferred out of the vault for a period of 48 hours.
The vault looks like a wallet, but has a security feature that limits transfer of bitcoin out of the vault. The user may, at , select a group vault. At , the first host computer system 14 provides the user with an option whether 2 out of 3 confirmations are required or 3 out of 5 confirmations are required. If the user selects that 2 out of 3 confirmations are required, then the user is required to enter two email addresses in addition to their own email address shown in the account at If the user selects that 3 out of 5 confirmations are required, then the user is required to enter four email addresses in addition to their email address shown in the account at At , the interface of the website is updated to request the additional email addresses from the user.
The interface typically includes fields for the user to enter the additional email addresses. At , the first host computer system 14 makes a determination whether all the additional email addresses are associated with other accounts within the first host computer system If all the additional email addresses are associated with other accounts, then the first host computer system 14 proceeds at to update the account represented at with a vault that includes the first email address, the additional email addresses and the phone number associated therewith.
If one or more of the additional email addresses are not associated with any accounts within the first host computer system 14 , then the first host computer system 14 , at , transmits an email to the additional email address that is not associated with an account to create an account.
A user receiving the email transmitted at can proceed at to create an account with the second email address associated with the account. Only after all the additional email addresses are associated with accounts does the first host computer system 14 , at , proceed to register a vault.
The first host computer system 14 then at provides a summary through the interface of the website. The summary shows that in order to transfer bitcoin, emails will be sent to and confirmations will be required from the first email address and the minimum of the additional email addresses. The summary also includes the phone number associated with the vault and states the waiting period before the bitcoin is transferred.
At , the user first transfers bitcoin into the vault. The user may transfer the bitcoin from one of their wallets associated with their account into the vault or may transfer the bitcoin into the vault from an external source.
The bitcoin is then stored within the vault. At , the user requests a transfer out of the vault using the website. The user includes the amount of bitcoin to be transferred, the reason for the transfer and selects a wallet to which the bitcoin is to be transferred. The user also includes a two-factor code which the user may obtain through a mobile application or via SMS communication with the first host computer system At , the first host computer system 14 determines whether the two-factor code is correct.
If the two-factor code is incorrect, then the first host computer system 14 , at , makes no change to the website interface. If the determination is made at that the two-factor code is correct, then the first host computer system 14 proceeds at to transmit all emails. In the case of an individual vault, emails are sent to the first and second email addresses represented in the account at in FIG.
In the case of a group vault, then emails are transmitted to the first email address and the additional email addresses represented in the account at in FIG.
At , the first host computer system 14 updates the transaction list within the website to represent that approval is being awaited. Each one of the emails has a respective link that can be selected by a recipient. At , a user receiving one of the emails reacts to the email by clicking on the link.
Selection of the link causes an authorization instruction to be transmitted from a device of the respective user to the first host computer system At , the first host computer system 14 detects the authorization instruction received in response to one of the emails that have been transmitted.
Selection of the link on the email opens a browser on the recipient's device and displays a message that the authorization has been successfully approved. At , the recipient of a second one of the emails reacts to the email by clicking the link on the second email to send an authorization instruction. At , the first host computer system 14 detects the authorization instruction transmitted at and displays a web page indicating that the authorization has been successfully approved.
When all the predetermined approvals have been received, the first host computer system 14 proceeds, at , to update the transaction list to indicate that clearance is being awaited. At , only if the minimum number of approvals are detected, the first host computer system 14 starts a countdown timer and sends an email to the user of the account informing the user that the bitcoin will be transferred after 48 hours. Block represents the transmission of three email reminders to the user during the 48 hour waiting period.
Each email includes the time remaining before the 48 hours will have elapsed and the amount of bitcoin that will be transferred out of the vault. The cancel instruction will cancel the transfer of the bitcoin and therefore the request that was transmitted at At , the first host computer system 14 detects an end of the time period.
The first host computer system 14 then transfers the amount of bitcoin out of the vault and in to the destination selected at The first host computer system 14 also updates the transaction list on the website to indicate that the transaction has been cleared. The vault establishment wizard is programmed to execute the establishment of the vault as described with reference to FIG. The vault management module is programmed to manage the vault as described with reference to FIG. A user accesses the website and downloads an interface so as to interact via the website with the vault establishment wizard and the vault management module The vault management module provides instructions to the transaction processor to transfer the bitcoin out of the vault.
Email addresses are used in the exemplary embodiment for electronic communication via email. Another embodiment may make use of other electronic communication addresses such as text messages to phone numbers or messages through social networks.
A secondary electronic communication address may be an individual address or a group address. At , a user at the first user device 18 transmits a request for a user-controlled vault to the first host computer system At , the first host computer system 14 responds to the request to initiate key generation. At , the first host computer system 14 generates a seed for a master key. At , the first host computer system 14 uses the seed generated at to generate a master key.
The master key includes a public key for the master key and a private key for the master key. At , the first host computer system 14 stores the public key for the master key and, at , stores the private key for the master key. The combination of the keys stored at and form a master key set A generation script initially resides on the first host computer system At , the first host computer system 14 transmits the generation script to the first user device The first user device 18 receives the generation script , which is executable on the first user device At , the generation script generates a seed for a shared key.
The generation script includes a key generation algorithm. At , the key generation algorithm uses the seed generated at to generate a shared key.
The shared key includes a public key and a private key. The private key for the shared key is shown at The generation script also includes an interface with a field for a user to enter a password via a keyboard. At , the user enters the password into the interface. The generation script also includes an encryption algorithm. At , the encryption algorithm generates an encrypted seed from the private key shown at and the password entered at At and , the key generation algorithm and encryption algorithm respectively send the public key of the shared key and the encrypted seed to the first host computer system At , the first host computer system 14 stores the public key for the shared key and, at , stores the encrypted seed for the shared key.
The public key stored at and the encrypted seed can be viewed as a shared key set Additionally, the private key shown at forms part of the shared key set The private key shown at is however never transmitted from the first user device 18 to the first host computer system At , the generation script further generates a seed for a user key.
At , the key generation algorithm uses the seed generated at to generate a user key. The user key includes a public key for the user key and a private key for the user key. At , the key generation algorithm transmits only the public key for the user key to the first host computer system At , the first host computer system 14 stores the public key for the user key.
At , the generation script displays the private key for the user key to the user. The user can then store the private key manually on the first user device 18 or write it down for later use. The first user device 18 never transmits the private key displayed at to the first host computer system The combination of the public key for the user key stored at and the private key for the user key displayed at form a user key set At , the user of the first user device 18 creates and transmits a request to transact using bitcoin of the user-controlled vault.
At , the request reaches the transaction processor hereinbefore described. At , the first host computer system 14 creates an authorization for the transaction. The master key set , shared key set and user key set are replicated from FIG. It should however be understood that these keys are stored or displayed in FIG. At , the first host computer system 14 signs the authorization with the private key for the master key.
Such signature then allows for an authorization to transact at As shown in , two out of three authorizations are required in order to transact and the authorization provided at may form one of the two authorizations.
A verification script initially resides on the first host computer system At , the first host computer system 14 initiates key collection by transmitting the verification script to the first user device The verification script is executable on the first user device Both the generation script in FIG. The encrypted seed stored at on the first host computer system 14 is transmitted together with the verification script and is received at by the first user device The verification script further includes an interface with a field for entering a password.
At , the user enters the same password that the user entered at in FIG. The verification script further includes a decryption algorithm. At , the decryption algorithm uses the encrypted seed and the password to decrypt the encrypted seed and obtain the private key.
The encryption at in FIG. The authorization is transmitted together with the verification script to the first user device The verification script further has a signature algorithm. At , the signature algorithm signs the authorization with the private key. The signature algorithm then transmits the signed authorization together with the signature to the first host computer system The first host computer system 14 has a verification module.
As will be commonly understood as those skilled in the art, a verification module is an algorithm that verifies a signature that was created with a private key using a public key. At , the verification module verifies the signature using the same public key stored at for the shared key in the shared key set that also includes the encrypted seed stored at At , the verification module determines whether the signature is correct.
If the signature is not correct, then the first computer system 14 returns to where the encrypted key is received and the user enters a password. If, at , a determination is made that the signature is correct, then the first host computer system 14 proceeds to to provide an authorization due to the signature being correct. The authorization at may be one of the authorizations required at in order to authorize the transaction. The verification script further includes an interface for entering the private key of the user key that was previously displayed at to the user.
At , the user enters the private key into the field provided therefor. At , a signature algorithm forming part of the verification script signs the authorization with the private key that has been entered by the user. At , a verification module verifies the signature using the public key that was stored at If the signature is incorrect, then the first host computer system 14 instructs the verification script to return to where the user is again asked for the private key for the user key.
If the signature is correct, then the first host computer system 14 proceeds to to provide an authorization for the transaction due to the signature being correct. The authorization provided at may be one of the authorizations required at What should be noted this time is that the password entered at is never transmitted to the first host computer system Similarly, the private key entered at is never transmitted to the first host computer system The user's control over the password and private key effectively disallows the transaction from being processed outside of the user's control.
After two out of the three authorizations have been received at , the first host computer system 14 proceeds at to authorize the transaction with the transaction processor A master key seed , shared key seed and user key seed are generated.
The master key seed is used to generate a master public key and a master private key The shared key seed is used to generate a shared public key and a shared private key The user key seed is used to generate a user public key and user private key The shared keys at each level may then be combined to generate an address. The address Address 0 may for example be the bitcoin address for the transaction. The further addresses may be generated to create further bitcoin addresses of for other purposes.
The receiver computer system includes a receiver browser The partner computer system has a website, in the present example a blog with a blog post that has a blog post URL At , a user of the receiver computer system uses the receiver browser to create the blog post The first host computer system 14 has a wallet in the form of receiver account , an embedded code generator and a button ID generator At , the user of the receiver computer system creates the receiver account The receiver account has login details and a receiver account identifier ID At , the user of the receiver computer system logs into the receiver account and enters the blog post URL through the user interface 36 FIG.
The blog post URL is then stored in association with the particular receiver account with the wallet management module 44 FIG. At , the first host computer system 14 provides the blog post URL to the embedded code generator and button ID generator The embedded code generator then generates an embedded code and, at , transmits the embedded code to the receiver browser The embedded code includes the blog post URL , receiver account ID and a startup caller The blog post on the partner computer system has a frame for pasting the embedded code due to prior agreement between operators of the first host computer system 14 and the partner computer system At , the user of the receiver computer system copies the embedded code received at and pastes the embedded code into the frame of the blog post A blog post is used herein to describe the invention by way of example.
It should however be understood that the invention may have broader application. A URL of a page may for example have a video, song or news article. Such a page will typically have a frame for pasting the embedded code Alternatively, media content such as a video may not have a separate frame for pasting the embedded code. Instead, another manner of activating payment features of the invention may be provided, such as a separate URL link, voice activation, detection of human gestures of a user, etc.
The button ID generator see generates a unique button ID. At , the button ID generator stores the button ID as button ID within a data store of the first host computer system Multiple receiver accounts may exist within the first host computer system In addition, a receiver account may have multiple blog post URL's associated therewith.
The sender computer system has a sender browser not shown. At , the sender browser downloads the blog post from the partner computer system The startup caller is a script, e. At , the startup caller retrieves all sender cookies on the sender computer system The startup caller , at , transmits a startup call to the first host computer system The first host computer system 14 includes a startup call responder that receives the startup call The startup call responder , at , uses the blog post URL and receiver account ID received in the startup call to identify the particular button ID The button ID in storage may have bits representing all payments made in association with the button ID At , the startup call responder retrieves the bits associated with the button ID from the data store.
At , the startup call responder transmits a startup call response to the sender computer system The startup call response transmitted at is in response to the startup call received at The startup call response includes a button , the bits , a session script and the button ID A display of the sender computer system displays the blog post The embedded code has added the button and the bits to the blog post The button is a two-dimensional button that is selectable by a user of the sender computer system The session script is associated with the button so as to be executable when the user selects the button The embedded code , at , stores the button ID within the sender cookies The button ID stored within the sender cookies can now be used to identify the button ID within the first host computer system The session script , at , retrieves the sender cookies and, at , makes a session call to the first host computer system The session call includes the cookies The first host computer system 14 includes a session responder that receives the session call At , the session responder checks all data for the button ID that has been received in the session call The data associated with the button ID may include a bitcoin address , although no bitcoin address may be included within the cookies of the session call At , the session responder determines whether a bitcoin address was received in the cookies of the session call If no bitcoin address was received, the first host computer system 14 executes a bitcoin address generator The bitcoin address generator then generates a bitcoin address and, at , stores the bitcoin address in association with the button ID The newly saved bitcoin address is represented as bitcoin address At , the session responder transmits the bitcoin address that has been generated by the bitcoin address generator to the sender computer system At , the session script stores the bitcoin address in association with the button ID within the sender cookies Upon a browser refresh, the process started at in FIG.
At , the session responder determines whether the sender computer system is signed into a sender account. The determination is made based on whether a signed-in cookie is found among the cookies transmitted in the session call If no signed-in cookie is found, then the session responder proceeds to At , the session responder sends a sign-in panel , a sign-in script , a listen code , a third party payment script , and a pull code to the sender computer system The session script creates an overlay window that includes the sign-in panel with a sign-in button having the sign-in script associated therewith.
The user can select the sign-in button which, at , initiates the sign-in script The sign-in script creates and opens a further window not shown that allows the sender of the sender computer system to enter login details of a sender account At , the sign-in script signs the sender computer system into the sender account using the login details The sign-in script , at , stores a signed-in cookie within the sender cookies The sign-in panel further includes two payment selections, including a third party wallet button , and a Quick Response QR code The third party payment script is stored in association with the third party wallet button The listen code and pull code are stored in an executable manner within the sender computer system The session script retrieves the bitcoin address from the sender cookies and displays the bitcoin address within the sign-in panel At , the session responder transmits a signed-in panel , the listen code , the third party payment script , the pull code and a host account payment script to the sender computer system The signed-in panel is the same as the sign-in panel with the exception that it includes a host account button instead of the sign-in button The host account payment script is stored in association with host account button