Skip to content

btc/tr.machine #1

Description

@tetakta

Truth machine – the system for text recording and reading to Bitcoin and Ethereum blockchains. Additionally, it’s intended to verify and deposit, using the technology of decentralized blockchain and IPFS.

Standard Scripts-Bitcoin's stack-based scripting language for creation of transaction is known as "Script."
Bitcoin transactions contain input and output scripts. Input scripts are solutions (unlocking scripts) to prior output scripts (blocking scripts) in previous transactions stored in the blockchain. Currently, there are 5 standard script types, which are used and allowed for transactions in the Bitcoin network. The standard script types include Pay-to-Public-Key (P2PK), Pay-to-Public-Key-Hash (P2PKH), Multi-Signature, Pay-to-Script-Hash (P2SH) and OP_RETURN (see Appendix B for script formats). Each of them can be used to store arbitrary data in the Bitcoin blockchain.

Data Hash Method - is a more practical method of entering information into the Blockchain.
Identical to the Data Drop method, the input script preceding the Redeem Script includes duplicated chunks of ....

The format of the Redeem Script:
OP_HASH160 OP_EQUALVERIFY
These three commands are then duplicated for each information element that is pushed into the stack using the input script. Instead of simply dropping each data component off the stack, this script uses hashes to confirm that each chunk of data has not been falsified. Because the hashes are stored in the Redeem Script, and the hash of the Redeem Script was recorded in the first stage UTXO, no other data can be replaced with the input script that spends this UTXO, even if these transaction inputs were not signed. Despite it, signing each input (by including at the beginning of the input script and OP_CHECKSIG at the end of the Redeem Script) is still important to prevent an adversary from possible disorganizing the inputs, or adding a subset of the inputs, in a competing transaction. These security issues are further explained in the next section.

The function module has 3 major tasks:
Recording;
Reading;
Verification (in progress).

WRITE

UI Description Action
Blockchain selection buttons used for recording. [functionality is directed to the chosen ecosystem]
Author data block. Name, wallet, tag/keyword, signature (+signature download button). [text input fields, the button opens a standard file downloader]
File upload module. The file is uploaded to IPFS and its ipfsID is designated to the given blockchain record. [the button opens the regular file downloader]
The text insert field of the record. The limit of the number of characters - 20 000. [the count of characters works when you type]
Transaction weight and commission counter, consent check (consent that the data will be irrecoverably written to the blockchain), "write" button. [with the consent checkbox selected, the button records, and the transaction transforms into a queue]

Next r

READ

UI Description Action
The user selects the blockchain (Bitcoin or Ethereum) to write to. [when choosing a blockchain, the system modifies functionality towards the chosen ecosystem]
Blockchain Navigation. Sequential. [explorer switches between blocks sequentially when clicked]
Keyword search filter (in records). [when explorer is pressed, keyword blocks filter, reset only when the filter is canceled]
Data block. Includes transaction ID. If the record is performed through B.TR/machine\ then it has a different set of data, for instance: name, wallet, tag/keyword, key/signature. [when you click on the transaction ID/hash, it is copied to the clipboard]
Insert text. Complete text, Block information (number, extraction date, hash),and buttons to "share" and "download". [clicking on the button "share" opens the module share in social networks; clicking on the button "download", the entry is downloaded to your personal computer in .png format in a graphic template NIT]

Metadata

Metadata

Labels

Type

No type

Projects

Status
🧿 In Progress

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions