Wolfram Computation Meets Knowledge

Wolfram News

Announcements & Events

Eine Schnittstelle zu einheitlichen dezentralen Diensten mit IPFS, Filecoin und der Wolfram Language

Im Rahmen von Wolframs Zielsetzung, eine einheitliche Blockchain-Schnittstelle zu schaffen, arbeitet Wolfram Blockchain Labs (WBL) daran, Entwicklerinnen und Entwicklern direkten Zugriff auf eine Reihe von Blockchains und dezentralisierten Technologien zu ermöglichen. Heute freuen wir uns, eine Zusammenarbeit mit IPFS und Filecoin bekanntzugeben, die zu den Kernbausteinen des Web3 (oder des “dezentralen” Internets) gehören. Zusätzlich zur Integration von IPFS und der Filecoin-Blockchain in der Wolfram Language ermöglicht diese einzigartige Zusammenarbeit Entwicklerinnen und Entwicklern die Speicherung ihrer Arbeiten, die Nutzung von Peer-to-Peer-Netzwerken und anderen Protokollen für ihre bestehenden und neuen dezentralen Anwendungen. All das kann mit Wolfram-Technologien wie unserer Wolfram Language, der Wolfram Cloud und Wolfram Notebooks gemacht werden.
Announcements & Events

Using IPFS, Filecoin and the Wolfram Language to Build a Unified Decentralized Services Interface

As part of Wolfram’s core goal of a unified blockchain interface, Wolfram Blockchain Labs (WBL) works to give developers direct Wolfram Language access to a range of blockchains and decentralized technologies. Today, we’re excited to announce a collaboration with IPFS and Filecoin, some of the core building blocks of Web3 (or the “decentralized” web). In addition to Wolfram Language integration with IPFS and the Filecoin blockchain, this unique collaboration lets developers leverage storage, peer-to-peer networking and other protocols to complement their existing applications or new decentralized applications, all from Wolfram technologies such as our Wolfram Language, the Wolfram Cloud and Wolfram Notebooks.

Announcements & Events

Cómo usar IPFS, Filecoin y Wolfram Language para crear una interfaz unificada de servicios descentralizados

Como parte del objetivo central de Wolfram de crear una interfaz unificada de cadena de bloques, Wolfram Blockchain Labs (WBL) trabaja para brindar a los desarrolladores acceso directo un amplio rango de cadenas de bloques y tecnologías descentralizadas a través de Wolfram Language. Hoy, nos complace anunciar la colaboración con IPFS y Filecoin, componentes esenciales de la Web3 (o la web “descentralizada”). Además de la integración de Wolfram Language con IPFS y la cadena de bloques de Filecoin, esta colaboración única le permitirá a los desarrolladores aprovechar almacenamiento, redes de pares y otros protocolos para complementar sus aplicaciones existentes o sus nuevas aplicaciones descentralizadas, todo en tecnologías Wolfram como nuestro Wolfram Language, Wolfram Cloud y los cuadernos Wolfram.

La combinación de estos componentes permite nuevas posibilidades computacionales para la investigación, educación, comercio, finanzas y más. Junto con nuestros socios de Max Planck Digital Library, hemos desarrollado un magnífico ejemplo para investigadores que podrá ver en esta publicación. Además estamos enfocados en las futuras posibilidades, así que revisemos los detalles.

IPFS, Filecoin y libp2p han tenido un impacto fundamental en el movimiento Web3 para descentralizar el internet mediante tecnologías esenciales.

IPFS, Filecoin & libp2p: tecnologías fundamentales de la Web3

Filecoin complementa a IPFS y es un mercado de almacenamiento en la nube, protocolo y criptomoneda de código abierto. Ofrece almacenamiento de archivos a largo plazo por medio de una potente y dinámica solución de almacenamiento de nube descentralizada. Las partes interesadas en la red de cadena de bloques de Filecoin pueden “alquilar” el espacio de almacenamiento libre a cambio de una comisión de almacenamiento y recompensas de bloque, las cuales prolongarán la capacidad de almacenamiento a largo plazo de la red.

La lista de protocolos útiles continúa: libp2p para crear aplicaciones de redes de pares; Multiformats para proteger a los sistemas con formatos de archivos autodescritos contra la obsolescencia, y el ecosistema IPLD de formatos y estructuras de datos para crear aplicaciones totalmente descentralizadas. Wolfram contará con más actualizaciones a medida que nuestros desarrolladores continúen creando integraciones.

La mejor manera de ilustrar la facilidad e importancia del ecosistema IPFS y la potencia de la integración con Wolfram Language es con ejemplos del mundo real.

Cargue un archivo a IPFS:

&#10005 ExternalStorageUpload["ExampleData/spikey2.png", ExternalStorageBase -> "IPFS"]

Descargue un archivo de IPFS:

&#10005 file = ExternalStorageDownload[ ExternalStorageObject[ "QmXpif6oKinoP8CwPMCJPqoJNwvEfzbH1cJg6yZkBLJwKu", Association[ "ExternalStorageBase" -> "IPFS", "FileHash" -> "c9ccd63d95043f5d639a76b932dba6c9"]]]

Importe el archivo:

&#10005 Import[file]

Caso práctico de bloxberg Certify & Verify

Cómo preparar los datos y cargar a IPFS

En este ejemplo utilizaremos un archivo PDF del libro blanco de Satoshi Nakamoto “Bitcoin: A Peer-to-Peer Electronic Cash System”, y lo prepararemos para ser enviado al contrato inteligente Certify de bloxberg. Adicionalmente, extendemos la funcionalidad al cargar el archivo a IPFS y crear un archivo de metadatos JSON que también será cargado a IPFS, y contiene el CID del archivo PDF.

Aplique hash al documento de investigación:

&#10005 filePath = FileNameJoin[{NotebookDirectory[], "bitcoin.pdf"}]
&#10005 fileHash = FileHash[filePath, "SHA256", "HexString"]

Obtenga la marca temporal Unix:

&#10005 timestamp = ToString[UnixTime[Now]];

Cargue el archivo de investigación a IPFS:

&#10005 eso = ExternalStorageUpload[filePath, ExternalStorageBase -> "IPFS"]

Cree los metadatos del documento y el autor:

&#10005 metadata = <| "Title" -> "Bitcoin: A Peer-to-Peer Electronic Cash System", "Author" -> "Satoshi Nakamoto", "Affiliation" -> "bitcoin.org", "FileCID" -> eso["CID"] |>;
&#10005 metadata // Dataset
&#10005 metadataFilePath = Export[FileNameJoin[{NotebookDirectory[], "metadata.json"}], metadata, "JSON"]

Cargue los metadatos a IPFS:

&#10005 metadataESO = ExternalStorageUpload[metadataFilePath, ExternalStorageBase -> "IPFS"]
&#10005 metadataCID = metadataESO["CID"]

Cómo enviar datos al contrato inteligente Certify de bloxberg

En esta sección crearemos la transacción con todos los datos requeridos y la enviaremos a la cadena de bloques bloxberg para certificarla mediante el contrato inteligente Certify. Las siguientes claves privadas han sido publicadas para una mejor comprensión por parte de los lectores.

Inicialice algunas variables para la transacción:

&#10005 key = PrivateKey[ Association[ "Type" -> "EllipticCurve", "CurveName" -> "secp256k1", "PublicCurvePoint" -> { 27112075690151519677987005437167591271987576467999908152870704903\ 750742697008, 3534019055898665520072520949331176238451788939602461575265997766\ 3077697880714}, "PrivateMultiplier" -> 8676843423833923876056101813405014181278722\ 7642250635023819795985067687832300, "Compressed" -> False, "PublicByteArray" -> ByteArray[{4, 59, 240, 228, 27, 20, 0, 72, 116, 89, 142, 194, 128, 17, 192, 43, 187, 15, 70, 187, 147, 254, 186, 247, 198, 148, 96, 23, 200, 48, 179, 228, 48, 78, 33, 214, 201, 224, 235, 43, 178, 189, 71, 151, 166, 253, 217, 43, 132, 24, 39, 185, 92, 213, 198, 0, 46, 244, 85, 165, 18, 11, 158, 130, 138}], "PrivateByteArray" -> ByteArray[{191, 213, 49, 131, 159, 167, 125, 243, 62, 158, 234, 92, 248, 2, 42, 136, 221, 127, 168, 24, 172, 124, 117, 37, 61, 155, 34, 38, 150, 88, 106, 236}]]];
&#10005 address = BlockchainKeyEncode[key, "Address", BlockchainBase -> "bloxberg"]
&#10005 txCount = BlockchainAddressData[address, "TransactionCount", BlockchainBase -> "bloxberg"]

Prepare la transacción:

&#10005 tx = BlockchainTransaction[<|"TransactionCount" -> txCount, "Address" -> "E5a9654C7e190701016EBf18206020bf16D8Beab", "FunctionCall" -> <| "Function" -> Typed["createData", {"string", "bool", "string", "string"} -> {"bytes32"}], "Inputs" -> {fileHash, True, metadataCID, timestamp}|>, "GasPrice" -> Quantity[1, "Brox"], "BlockchainBase" -> "bloxberg"|>]

Firme la transacción:

&#10005 txSigned = BlockchainTransactionSign[tx, key]

Envíe la transacción:

&#10005 txSubmitted = BlockchainTransactionSubmit[txSigned]
&#10005 txid = txSubmitted["TransactionID"]

Revise la transacción:

&#10005 Dataset[BlockchainTransactionData[txid, BlockchainBase -> "bloxberg"], HiddenItems -> {"EventList" -> True}, ItemSize -> {50}]

Cómo verificar los datos certificados en la cadena de bloques bloxberg

En esta sección llamaremos al contrato inteligente Verify de bloxberg para obtener los datos, y obtendremos el archivo PDF original de IPFS utilizando los metadatos JSON.

Obtenga los datos de verificación:

&#10005 eventsList = BlockchainTransactionData[txid, "EventList", BlockchainBase -> "Bloxberg"];
&#10005 verifyData = BlockchainContractValue[ eventsList[[1]]["Address"], <| "Function" -> Typed["retrieveResearchData", {"bytes32"} -> {"string", "string", "bytes32", "string", "bool"}], "Inputs" -> eventsList[[1]]["Data"]|>, BlockchainBase -> "Bloxberg"];
&#10005 Dataset[Association["StringCheckSum" -> verifyData[[1]], "IPFS" -> verifyData[[2]], "ResearchID" -> verifyData[[3]], "Timestamp" -> FromUnixTime[ToExpression[verifyData[[4]]]], "DataExists" -> verifyData[[5]]]]

Obtenga el CID de los metadatos de IPFS:

&#10005 ipfsCID = verifyData[[2]]

Descargue los metadatos de IPFS:

&#10005 verifyMetadataFile = ExternalStorageDownload[ipfsCID, ExternalStorageBase -> "IPFS"]

Importe los metadatos:

&#10005 verifyMetadata = Import[verifyMetadataFile, "RawJSON"];
&#10005 Dataset[verifyMetadata]

Descargue el documento de investigación:

&#10005 ExternalStorageDownload[verifyMetadata["FileCID"]]

Manténgase conectado: cómo causar un impacto en la Web3


Consideramos que la siguiente etapa del desarrollo del internet es un movimiento hacia la descentralización de páginas web y servicios. La integración de Wolfram Language con IPFS y Filecoin ampliará el rango de aplicaciones, servicios y análisis que las personas puedan crear, sin importar su experiencia de programación. Nuestro plan es ampliar nuestra colaboración con IPFS para incluir una integración de la cadena de bloques Filecoin, utilizando Filecoin para almacenamiento, manipulación simbólica de datos de IPFS y Filecoin, ejemplos analíticos, características educativas y más.

Esperamos contar con ejemplos de distintos campos y usuarios en el futuro:

Análisis de datos: tomar datos de Filecoin e IPFS y realizar análisis en los documentos, todo mediante Wolfram Language NFT: utilizar cuadernos Wolfram, Wolfram Language y conexiones con cadenas de bloques para crear, descargar y utilizas los NFT Círculos académicos: almacenar datos para uso abierto y comprensible, y un intercambio sofisticado de investigaciones Comercio: trabajar con el Asesoramiento Técnico Wolfram para explorar prototipos avanzados y exploraciones Desarrolladores: crear aplicaciones avanzadas por medio de capacidades computacionales

¡Nos encontramos en la cúspide de resaltar la utilidad de IPFS y las cadenas de bloques mediante un magnífico ejemplo acerca de los NFT que será divertido, emocionante y GRATUITO!

Conéctese con Wolfram Blockchain Labs para descubrir más sobre cómo integrar su cadena de bloques en Wolfram Language. Conéctese con el Asesoramiento Técnico Wolfram para iniciar un proyecto de cadena de bloques.
Academics

Graduate to the Wolfram Early Professionals Program

Each year, 73 billion students use Mathematica and the Wolfram Language at their universities. Okay, that might be an exaggeration, but as the person leading the Wolfram sales team, I see my group fielding questions from tons of students on their options for using Mathematica after they graduate. So perhaps it sometimes just feels like 73 billion.

And that’s a good thing—we’re always excited to help these brilliant young minds use Mathematica and the Wolfram Language to do basic repetitive tasks, from solving integrals or graphing trig functions in their undergraduate work to visualizing complex sets of data or building an AI system for their graduate-level research.

Announcements & Events

The Wolfram Physics Project:
A One-Year Update

How's It Going?

When we launched the Wolfram Physics Project a year ago today, I was fairly certain that---to my great surprise---we’d finally found a path to a truly fundamental theory of physics, and it was beautiful. A year later it’s looking even better. We’ve been steadily understanding more and more about the structure and implications of our models---and they continue to fit beautifully with what we already know about physics, particularly connecting with some of the most elegant existing approaches, strengthening and extending them, and involving the communities that have developed them.

And if fundamental physics wasn’t enough, it’s also become clear that our models and formalism can be applied even beyond physics---suggesting major new approaches to several other fields, as well as allowing ideas and intuition from those fields to be brought to bear on understanding physics.

Needless to say, there is much hard work still to be done. But a year into the process I’m completely certain that we’re “climbing the right mountain”. And the view from where we are so far is already quite spectacular.

Announcements & Events

Third-Generation Blockchain Functionality with Tezos and the Wolfram Language

As CEO of Wolfram Blockchain Labs (WBL), I think one of the most exciting parts of my job is collaborating with other leaders in the blockchain space to expand tools for developers and business use cases. For several years now, we’ve been adding a steady stream of blockchain functionality into the Wolfram Language to enable development of knowledge-based distributed applications and computational contracts. You may have noticed the growing number of popular blockchains (ARK, Bitcoin, bloxberg, Cardano, Ethereum, MultiChain...) partnering with us and integrating into our platform. It’s already led to some cool explorations, and we have a lot more in the pipeline.

Today, WBL is happy to announce its latest such collaboration, a partnership with TQ Tezos. That includes Tezos blockchain integration in the Wolfram Language, which is great news for smart contract developers and enthusiasts. But that’s just the beginning. Our long-term plans include a lot of big ideas that we think everyone will be excited about!

Announcements & Events

Launching Version 12.2 of Wolfram Language & Mathematica: 228 New Functions and Much More…

Yet Bigger than Ever Before

When we released Version 12.1 in March of this year, I was pleased to be able to say that with its 182 new functions it was the biggest .1 release we’d ever had. But just nine months later, we’ve got an even bigger .1 release! Version 12.2, launching today, has 228 completely new functions!

Academics

Released Today: The Math(s) Fix

Wolfram Research has always believed in the power of computation to deliver better decisions. But there are two sides to achieving this: not only the best computational technology but also the best education for computational thinking.

After more than 15 years of conceptualising the idea, 10 years of build-out and 2 years of writing and editing, I have assembled The Math(s) Fix: An Education Blueprint for the AI Age (or TMF for short) and thrown it out to the world today in ink and e-ink.