10
$\begingroup$

In version 11.3, Mathematica introduces the blockchain module, together with a "Wolfram blockchain". There were mainly three functions available for users: store an expression (no larger than 8M) to the blockchain, fetch an expression, and fetch meta-information about a certain block. It wasn't clear to me how I should make use of this module, because there are already CloudPut, etc, existing in the system since version 10.0. Unfortunately, even after a year, there is few discussions on MMA.SE about it.

Recently, version 12.0 is out. A few days ago, I was surprised to find that the existence of Wolfram Blockchain is being quietly diminished. Here are some evidence (you need both 11.3 and 12 to observe):

  • Wolfram blockchain was the default blockchain for general blockchain functions in 11.3, but all was changed to bitcoin in 12.0

  • BlockchainBlockData has dropped the support of fetching a specific block from Wolfram blockchain. That means code like BlockchainBlockData[1221, BlockchainBase -> "Wolfram"] is broken in 12.0.

  • Mentions and examples are removed from documentations of multiple functions.

With my limited knowledge of general blockchains, it seems that only Wolfram (and some possible authorized third party) is mining blocks to store transitions and holding the blockchain data because this part is not visible to users. If this is the case, the blockchain will lost many properties like decentralization, verifiability by its design. Then it is more like another cloud storage API with sophisticated implementation.

To sum up, this post is looking for insights about the Wolfram blockchain. Any good use cases, comparisons and other information related are appreciated.

$\endgroup$
3
$\begingroup$
BlockchainBlockData[1221, BlockchainBase -> {"Multichain", "Wolfram"}]

enter image description here

https://www.multichain.com/blog/2017/03/wolfram-mathematica-multichain-integration/

Data in the Blockchain can not be changed. Data in the Cloud can be changed.

obj = CloudPut["hello"]

enter image description here

CloudGet[obj]

"hello"

CloudPut["bye", obj]

enter image description here

CloudGet[obj]

"bye"

$\endgroup$
0
$\begingroup$

All blockchain functions are experimental and that means they can change in new releases until they are taken out of experimental mode. That includes Wolfram blockchain BlockchainBase.

You may have noticed that v12 introduced more blockchain functionalities focusing on reading and writing to Bitcoin and Ethereum mainnets and testnets. You can see examples here:

https://www.wolfram.com/language/12/blockchain/?product=mathematica

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.