Categories
Uncategorized

Sunsetting DiMECASH

Sunsetting DiMECASH

This website has acted as a Riskiest Assumption Test (RAT) for the past years or so. An RAT is similar to a MVP, but it is used as a way to collaborate within a certain field and figure out if one’s basic assumptions about a new offering are correct.

The DiMECASH site still works (check out “View Ledger” or “Create a Record” if you like). If you create and fund a dogecoin account, the create function should still work. More importantly, the site calculates and describes a record which you can send from your own Dogecoin Core Server and offers a way to view your record (and any other that contains an address starting with the characters DCx).

The basic premise behind DiMECASH is similar that of https://cryptograffiti.info. The “Send or Add” feature creates a special blockchain transaction that uses dummy receiver addresses to describe the transaction, the sender, the receiver, or any arbitrary data. The system is built around a rather idiosyncratic language construct which only has 58 characters or symbols. Thus, the (obviously unspendable) address is able to convey meaning:

DCxxYoURxTEXTxGoESxHEREzzzzzSzN5Pp

These addresses can be bundled into transactions that can be quite large. In the cryptograffiti version of this, binary data is stored in the system, but in the DiMECASH version, human-readable language is the payload. The system does use OP_RETURN codes by design.

More data can be coded (or hacked) into the transaction amount itself. This is especially useful with currencies which trade at a very low price, such as Dogecoin. The above transaction thus also contain a ZIP code, or a Unix Checksum:

DCxxYoURxTEXTxGoESxHEREzzzzzSzN5Pp 0.00076051

DiMECASH can natively describe an IPFS CID by splitting it in half:

Dogecoin Transaction:

DAxYoUTUBExiPFSzzzzzzzzzzzzzXiXXp3
DAxBARATSANDBERETAzzzzzzzzzzY94fLT
DCxAPoCALYPSExNEWSCASTzzzzzzWJRZfT
DDxQmPJuaiM7ixuT9rRhxyRohCzzapRU9Z
DExsYvD1Ru5cdKHYxwEffQZCfJzzafouww

Even if a viewer can’t figure out that the last two addresses describe an external record, they can read enough to get an idea about the content.

https://ipfs.io/ipfs/QmPJuaiM7ixuT9rRhxyRohCsYvD1Ru5cdKHYxwEffQZCfJ

I believe that what DiMECASH proves is that identity, payment, and content can all be expressed in a way that is radically distributed. What DiMECASH lacks is a concrete monetization stream. I believe that monetization will come in the form of dozens (if not hundreds) of real-world solutions where the end user may not even be away that they are using blockchain technology.

I have now formed enough partnerships and associations to make emphasis on this site far less useful. After all, if Blockchain and IPFS can together be radically decentralized, why should a website be part of the solution?

DiMECASH may one day become its own currency. I believe that its use of obviously unspendable addresses raises some issues which could be addresses with the core. For now, however, existing currencies are perfectly useable.

Thanks

John Rigler

john@rigler.org

Categories
Uncategorized

Readable cryptocurrency transactions and financial auditing

I have created a very simply system of cryptocurrency transactions using a format which is called “scriptless script” (or perhaps scryptless scrypt).  I believe that the system has great potential for finance and law because it is possible to create a contract that puts human-readability as its first priority.  The system bundles together many special addresses (see the link at the end of the post) in order to create a transaction that can do three things:

  1. Contain a financial transaction in the given currency, sending money to one or more users/servers.
  2. Contain a very large set of readable text which is rendered in a somewhat odd looking (fermented) format.
  3. Contain references to unix or linux computer scripts which can be shared off-line and verified with great ease and certainly to be what is reference in the transaction.

Lately, I have worked on the readability of this system.  Although this example doesn’t deal directly with money, the system is so generally powerful and readable that users can adapt it to their specific cases pretty easily.

First, I create a bash function which (in this case) doesn’t execute any actual commands:

thats.great () 
{ 
    : it started with an;
    : earthquake;
    : bird and snakes;
    : and airplanes;
    : and lenny bruce;
    : is not afraid
}

Without needing to deeply understand bash, one can see that this appears to be a phrase starting with the words “That’s Great”.  The rest of the function refers to an REM song which was popular when I was young.

I store these functions in single files which follow a very specific naming-convention:

thats.great-54679585684.452

The numbers in the function’s name are generated from its contents in a way that is similar to how cryptocurrency addresses are formed, so the function and file can be seen as a sort of secret.  In this case we will describe the function in a transaction with the lines:

DCxTHATShGREATxdbzzzzzzzzzzzViLehJ
9siTxSTARTEDxWiTHxANzzzzzzzzSmjAhP
9sEARTHQUAKEzzzzzzzzzzzzzzzzV3eNu5
9sBiRDxANDxSNAKESzzzzzzzzzzzV6Fjoo
9sANDxAiRPLANESzzzzzzzzzzzzzc2hTMt
9sANDxLENNYxBRUCEzzzzzzzzzzzYBgR97
9siSxNoTxAFRAiDzzzzzzzzzzzzzXWXX7f

The first line always begins with the letters “DCx” to mean Dimecash, subsequent lines always start with the number 9 followed by a small letter s-z.  In order to put this message on the blockchain, each of these unspendable addresses needs to be sent some currency.  In dogecoin, this is a very cheap process and the specific amount of currency sent can have very special meanings.  Here is the actual command that was used to send the message above:

dogecoin-cli sendmany “” “{\
\”DCxTHATShGREATxdbzzzzzzzzzzzViLehJ\”:0.09585684,\
\”9siTxSTARTEDxWiTHxANzzzzzzzzSmjAhP\”:0.00015467,\
\”9sEARTHQUAKEzzzzzzzzzzzzzzzzV3eNu5\”:0.00010452,\
\”9sBiRDxANDxSNAKESzzzzzzzzzzzV6Fjoo\”:0.00010000,\
\”9sANDxAiRPLANESzzzzzzzzzzzzzc2hTMt\”:0.00010000,\
\”9sANDxLENNYxBRUCEzzzzzzzzzzzYBgR97\”:0.00010000,\
\”9siSxNoTxAFRAiDzzzzzzzzzzzzzXWXX7f\”:0.00010000}”

By using html emphasis, we are able to more easily read the message, while at the same time seeing an actual command that can be used to rebroadcast it.

dogecoin-cli sendmany “” “{\
\”DCxTHATShGREATxdbzzzzzzzzzzzViLehJ\”:0.09585684,\
\”9siTxSTARTEDxWiTHxANzzzzzzzzSmjAhP\”:0.00015467,\
\”9sEARTHQUAKEzzzzzzzzzzzzzzzzV3eNu5\”:0.00010452,\
\”9sBiRDxANDxSNAKESzzzzzzzzzzzV6Fjoo\”:0.00010000,\
\”9sANDxAiRPLANESzzzzzzzzzzzzzc2hTMt\”:0.00010000,\
\”9sANDxLENNYxBRUCEzzzzzzzzzzzYBgR97\”:0.00010000,\
\”9siSxNoTxAFRAiDzzzzzzzzzzzzzXWXX7f\”:0.00010000}”

Note that in addition to the readable message, the codes 5467, 9585684, and 452 are also included.  This acts as a sort of key which can be used remotely to reference the message.

The message does not credit REM as its author, and contains at least one typographical error (bird should be birds).  Regardless of these sort-comings, it has been written into the dogecoin ledger and (like all ledger transactions) can not be removed or altered.  This is very powerful.  Consider the potential of a system like this for communication and identity verification after checking out the messages as it shows up on this remote ledger:

https://blockchair.com/dogecoin/transaction/678a389356237179e725006403d627afec2a009934b4cc49bc23233014956c27

By keeping track of transaction ids and using specialized block explorers, we are easily able to find all of the readable transaction on dogecoin that start with “DCx” and follow the other idiosyncratic aspects of the system.

In the wake of COVID-19, I suggest that this system can be used for highly readable financial transactions as well as for an emergency broadcasting system.  The system doesn’t use particularly sophisticated software, is completely open-sourced, and doesn’t need the buy-in of a development team or currency “owner” in order to be implemented.  This means that people could ramp up to use this very quickly.

https://dime.cash/obviously-unspendable-cryptocurrency-addresses/

Categories
Uncategorized

Obviously Unspendable Cryptocurrency Addresses

Blockchain solutions generally come in two forms:

  1. Proof-of-work systems which allow participants to join or leave at will without any sort of registration process. I call these “public”.
  2. Proof-of-stake systems which are restricted to certain members who are invited to participate.  O call these “private”.

Bitcoin (and the alt-coins which are derived from it are “public”.  My work has been with the specific altcoin which is named “dogecoin” because it is relatively stable, seems to have an interesting user base, and is very inexpensive.

I will thus be speaking about dogecoin specifically, but the main topic (obviously unspendable addresses) applies to many similar currencies (including bitcoin).

When someone downloads a cryptocurrency “wallet” to their phone or computer, a few addresses are created and assigned to them.  By sharing these addresses with others, the currency can come to life with immediate person-to-person transactions.  No bank, mint, or intermediary is a part of this transaction (although some core dogecoin server will “win” the right to craft the transaction into the next block of the chain.  This server will be rewarded with some newly created currency and some mining fees.  These servers, like all of the users, are not part of any organization other than perhaps mining pools.  This is all necessary to keep from having to have a central authority put in place to act as a gate-keeper.

One of the most striking oddities of this system is that the addresses which are used don’t have readable names and are calculated from secret keys which can be generated in a trivial way.

Here are some examples of what these addresses look like in dogecoin:

DEdbVFX9Bxjsx9xG7jA2GtPCLiUWGuuqNw
DCQxDNpPda3o6K5YKvmK1ctZvCbS7SShSh
DEdbVFX9Bxjsx9xG7jA2GtPCLiUWGuuqNw

Notice that although each address starts with the letter “D”, the rest appears to be a random mixture of letters and numbers.  Each of the addresses above has a private key which the owner’s wallet keeps as a secret.

It is possible to short-circuit the address creation process and create an address that is quite readable, but has no known private key.  Examples are:

DABCDEFGHiJKLMNoPQRSTUVWXYZzSijpYz
DDxDDxDDxDDxDDzzzzzzzzzzzzzzZiXZ9S
DMDRAGoNxBREATHzzzzzzzzzzzzzXZWCNz

Any currency sent to these addresses will be lost, and can actually be considered to be “burned” or destroyed.  This is the foundation of a process known as proof-of-burn.   These addresses are also called “obviously unspendable” because it is mathematically improbability that they were calculated in the way that normal “spendable” addresses would be.

These addresses create the cornerstone for the communication system that I promote and can be created with the python script:

https://github.com/johnrigler/unspendable

 

 

 

Categories
Uncategorized

The ‘It might as well be you’ broadcast

Today, I sent out a bunch of tweets to magazines, universities, newspapers, and anybody else that I could think of that might be interested in this project. Hopefully some of you are here because of that effort.

In each tweet, I included a compound unspendable message, where the greeting and closing were unique, but the body was the same in every case:

DCxDEARxCoiNDESKzzzzzzzzzzzzarJyuK <-- unique DCxHELLovxHoWxARExYoUkzzzzzzRc7Dgf DCxixAMxDoiNGxWELLhzzzzzzzzzU7w1d6 DCxTHANKSxFoRxASKiNGhzzzzzzzWu5KQh DCxixWoULDxLiKExFoRxYoUxTozzWq5WCs DCxPUBLiSHxANxARTiCLExABoUTzVzGB1i DCxHTTPSwffDiMEhCASHzzzzzzzzYqAXa2 DCxTHExSYSTEMxPRESENTSxAzzzzWvbSP9 DCxRADiCALLYxNEWxWAYxFoRzzzzYrtt3y DCxPEoPLExToxUSExCRYPTohzzzzUBScy7 DCxSoMEoNExNEEDSxToxBREAKzzzXue5ur DCxTHiSxSToRYvxANDxiTxMiGHTzaKLnAj DCxASxWELLxBExYoUhxHUGSxANDzRLuY2d DCxKiSSESvxFoREVERxYoURxFANzWqVcQb DCxCAPTAiNxEUGENExSToRMYPANTS8JjZ6 <-- unique By searching on one of the middle lines, you can access all of the other messages in the set: https://live.blockcypher.com/doge/address/DCxPUBLiSHxANxARTiCLExABoUTzVzGB1i/ The address shows up 38 times and the page contains a list showing each recipient of the message. The result is that each message can be reduced to a unique code (called Satoshi code on this site) and all of the messages share a large common middle. Each line, starting with DCxHELLovxHoWxARExYoUkzzzzzzRc7Dgf and ending with DCxKiSSESvxFoREVERxYoURxFANzWqVcQb is therefore comprised of addresses which are all shared and thus easy to connect on a ledger. Therefore, the whole set of Satoshi codes can be seen as a reference to the whole. With some work, an explorer could find all of the message recipients and calculate their five-digit codes. Of course, we can do this for you on the site and create a list of all the codes. Each code is shown in the Doge Ledger. This system can become a specific payment system, so that if any of the organizations decide to make a donation to this site (or someone makes a donation on their behalf) that information would be captures. An example code is 49285 for the message above: => cat DCxDEARxCoiNDESKzzzzzzzzzzzzarJyuK.txt (unix command to show contents of file)
DCxDEARxCoiNDESKzzzzzzzzzzzzarJyuK
DCxHELLovxHoWxARExYoUkzzzzzzRc7Dgf
DCxixAMxDoiNGxWELLhzzzzzzzzzU7w1d6
DCxTHANKSxFoRxASKiNGhzzzzzzzWu5KQh
DCxixWoULDxLiKExFoRxYoUxTozzWq5WCs
DCxPUBLiSHxANxARTiCLExABoUTzVzGB1i
DCxHTTPSwffDiMEhCASHzzzzzzzzYqAXa2
DCxTHExSYSTEMxPRESENTSxAzzzzWvbSP9
DCxRADiCALLYxNEWxWAYxFoRzzzzYrtt3y
DCxPEoPLExToxUSExCRYPTohzzzzUBScy7
DCxSoMEoNExNEEDSxToxBREAKzzzXue5ur
DCxTHiSxSToRYvxANDxiTxMiGHTzaKLnAj
DCxASxWELLxBExYoUhxHUGSxANDzRLuY2d
DCxKiSSESvxFoREVERxYoURxFANzWqVcQb
DCxCAPTAiNxEUGENExSToRMYPANTS8JjZ6
=> cat DCxDEARxCoiNDESKzzzzzzzzzzzzarJyuK.txt | sum (the same command piped into a very simple checksum (which is like a weak hash)
49285 1

This also appears on the Ledger page of this site. Therefore, if you wanted to make a special payment with a message added which would (barring no more reasonable meaning) be a reference to the above code, then you could end your transactions as .00049285. In this case, Dogecoin is perfectly suited to represent this information in this way because of the balance between its price, stability, and relative popularity. This is all very abstract at this point, and so I will be working on more systems to simplify these, so that someone could pull pick their favorite college, magazine or other entry from a mass mailing such as the one I sent today and quickly send a donation which would include a coded message. This would be like the sample color test, but would be an actual transfer of funds to a real address whose meaning could be interpreted.

Specifically, given today’s XDC price, you could use the following math to make a $50 pledge that imples the above message and thus Coindesk:

$50 USD = 24,570.0246 Dogecoin
24570.00000000 is also $50.00
adding code:
24570.00049285
^^^
|||
This pattern naturally occurs in less than .1% of the transactions when
other digits appear to the right.

A 24570.00049285 payment to D8yMyFxAn3WSbvqm8eHVVUK53xBLAh6V61 would come to me and I would look for a meaning to go with the last eight digits. The transaction is statically quite rare with the three zeroes in the middle and could also be remotely audited, so a third party could come to understand that $50 was perhaps tagged with a special meaning, though they wouldn’t know what it was unless they pulled down a bunch of likely transactions and began calculations. This isn’t as far-fetches as one might imagine and created an fully functional system which included text, calculation, disclosure, and transfer of funds that can go right from one phone to another.

Over time, and with context (such as a consistent target address), these codes could come to have very specific meanings which could be calculated from the ledger. If you
feel like you want to make a donation today, then please visit the Donation page. If you are interested in learning more about this project, please call or text 682-666-0614 or send an email: john@rigler.org, but sometimes email takes me a while.

So to summarize, just sending the messages out in this form-letter way, with shared addresses creates an entire set of meaning, and each message individually can be reduced to a code that could be included into a payment. The messages don’t ask for money, but in lieu of a more recent code which is tied to a message asking for money, one might assume that each payment is from (or as a reference to) the entity listed on the first line. It seems to me that these three systems together are quite powerful: unspendable addresses, CRC satoshi codes which resolve to the entire message, and the idea that a set of addresses can be connected by one or more shared lines.

The last piece in the system might be a timed message, such as sending out a daily transaction glossary at 11:32 GMT (a time of Wakean significance) each day. In order to remotely “see” all of the data of the system, someone would only need to browse to the block closest to 11:32 and look for a transmission. Much of this was covered in a public disclosure which came out almost 1 year ago and can be found on ip.com, so feel free to play with these ideas yourself, if you want to build your own dime.cash, then let me know, though there are elements of this site that I intend to keep private and monetize and license out.

Thanks

Categories
Uncategorized

I finally got around to put this site behind WordPress

This project now has a consistently updated database from Dogecoin that is displayed in the https://dime.cash/doge directory. Basically, any address that starts with “DCx*” or “9*z” will show up here. If you want to add your own single lines into the ledger, you will need to download ‘unspendable’ from https://github.com/johnrigler/unspendable. It is just a python script. For the large multi-line messages, you would need to form a sendmany. OK, that is it. Feel free to comment onto this post or shoot me an email:

john@rigler.org

Thanks