If I do a certain amount of computational work for another party, how do I prove I did it?
It was the Bitcointalk forum that inspired us to create Bitcointalksearch.org - Bitcointalk is an excellent site that should be the default page for anybody dealing in cryptocurrency, since it is a virtual gold-mine of data. However, our experience and user feedback led us create our site; Bitcointalk's search is slow, and difficult to get the results you need, because you need to log in first to find anything useful - furthermore, there are rate limiters for their search functionality.
The aim of our project is to create a faster website that yields more results and faster without having to create an account and eliminate the need to log in - your personal data, therefore, will never be in jeopardy since we are not asking for any of your data and you don't need to provide them to use our site with all of its capabilities.
We created this website with the sole purpose of users being able to search quickly and efficiently in the field of cryptocurrency so they will have access to the latest and most accurate information and thereby assisting the crypto-community at large.
argument | type | description |
workhash | hex-encoded, 32 bytes | A SHA-256 sum of the work package |
worksecrethash | hex-encoded, 32 bytes | SHA-256(workhash|buyersecret), both inputs to SHA256 are the binary 32 byte values of workhash and buyersecret |
workerurl | URL | The address the seller wants to have the work package delivered to. Will be used for all direct communication between buyer and seller. |
buyersecret | hex-encoded, 32 bytes | Random value generated by the buyer and sent to the seller after transmitting the work package. Its purpose is to prevent sellers from hijacking other seller's workers. |
encresulthash | hex-encoded, 32 bytes | After the seller has computed the result, it sends it back to the buyer, but encrypted with a one-time key (encresulthash). This way, the buyer will not immediately be able to take the result (and run with it), but needs to sign of a receipt for the received, encrypted, result data. This is the encrypted result's SHA256 check sum |
encresulthashsig | base64-encoded, 65 bytes | A Bitcoin-like signature, issued by the buyer, of the encrypted result's hash value. By providing this signature, the seller can prove that the buyer has received the result correctly. There is no denial for the buyer. |
encresultkey | hex-encoded, 32 bytes | The secret AES-256 key used for encrypting the result. By publishing the key together with the buyer's signature of the encrypted result, the seller proves that the buyer has received the result, and releases the encryption. |
acceptwork, rejectwork, rejectresult | "on" | Tags to accept work, reject work or reject a result. |