Skip to content

Releases: mobilecoinfoundation/mobilecoin

MobileCoin Core (Consensus/Fog) v4.0.0

24 Jan 23:32
d938a26
Compare
Choose a tag to compare

🗓️ MainNet Deployment

This release is scheduled to be deployed to MainNet on March 7, 2023, at 11AM PST. We estimate the block height at that time to be 1,341,700.

We expect some amount of downtime during the upgrade, no greater than 2 hours.

What's new since 3.0

🚨 Breaking Changes

  • New MRENCLAVE values for all enclaves (see Enclave Measurements section below).
  • Block Version 3 (which will be enabled after deployment) requires a transaction to sign the TxSummary instead of TxPrefix.
  • Block Version 3 requires transactions to sort TxOs.

✨ Features

🔒 Security

  • Consensus enclaves now enforce unique nonces on a per-token basis
  • Consensus enclaves now reject transaction proposals when the client's fee map differs from the configured fees in the enclave
  • SGX SDK upgraded to 2.18

For more details on individual changes, please see the full CHANGELOG.

Enclave Measurements

TestNet

Signer Measurement

  • MRSIGNER: bf7fa957a6a94acb588851bc8767e0ca57706c79f4fc2aa6bcb993012c3c386c

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: 4f3879bfffb7b9f86a33086202b6120a32da0ca159615fbbd6fbac6aa37bbf02
  • libingest-enclave.signed.so: 16d73984c2d2712156135ab69987ca78aca67a2cf4f0f2287ea584556f9d223a
  • libview-enclave.signed.so: f52b3dc018195eae42f543e64e976c818c06672b5489746e2bf74438d488181b
  • libledger-enclave.signed.so: 23ececb2482e3b1d9e284502e2beb65ae76492f2791f3bfef50852ee64b883c3

MainNet

Signer Measurement

  • MRSIGNER: 2c1a561c4ab64cbc04bfa445cdf7bed9b2ad6f6b04d38d3137f3622b29fdb30e

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: e35bc15ee92775029a60a715dca05d310ad40993f56ad43bca7e649ccc9021b5
  • libingest-enclave.signed.so: a8af815564569aae3558d8e4e4be14d1bcec896623166a10494b4eaea3e1c48c
  • libview-enclave.signed.so: da209f4b24e8f4471bd6440c4e9f1b3100f1da09e2836d236e285b274901ed3b
  • libledger-enclave.signed.so: 8c80a2b95a549fa8d928dd0f0771be4f3d774408c0f98bf670b1a2c390706bf3

MobileCoin Core (Consensus/Fog) v3.0.0

15 Nov 20:19
6bb0953
Compare
Choose a tag to compare

Schedule of Release

🗓️ MainNet Deployment

This release is scheduled to be deployed to MainNet on February 16, 2023, at 11AM PST. We estimate the block height at that time to be 1,285,100.

We expect some amount of downtime during the upgrade, no greater than 2 hours.

What's new since 2.0.2

🚨 Breaking Changes

  • There is a new --chain-id argument to consensus and fog services. MainNet hosts should use main, and TestNet hosts should use test.

✨ Features

  • mobilecoind users may also use --chain-id as a hint to servers of what network they believe they are connecting to. A properly configured server will reject connections if the relevant chain-id strings don't match.
  • Telemetry reporting can be completely disabled on servers by setting the environment variable MC_TELEMETRY=0
  • Nearly all configuration flags can be set via environment variables now.
  • Add a --hash-tx-file subcommand to the mc-consensus-mint-client print the hash of a mint-tx or mint-config-tx file.
  • Add the current block info (fee map, block version, etc.) to the response message for mobilecoind_api.GetNetworkStatus.
  • Add a --block-query-batch-size parameter to fog-view, which controls how many encrypted blobs to retrieve from Postgres when the server is behind.

🐛 Bug Fixes

  • mc-consensus-mint-client will now check that public addresses for minting targets do not have a configured fog server.
  • android-bindings and libmobilecoin RNG APIs have been updated to assist in idempotent transactions.

🔒 Security

  • SGX SDK updated to 2.17.1 to mitigate INTEL-SA-00657
  • TOB-MCCT-4: Make minting nonces unique per-token.

TestNet SGX Measurements

Signer Measurement

  • MRSIGNER: bf7fa957a6a94acb588851bc8767e0ca57706c79f4fc2aa6bcb993012c3c386c

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: 5fe2b72fe5f01c269de0a3678728e7e97d823a953b053e43fbf934f439d290e6
  • libingest-enclave.signed.so: d901b5c4960f49871a848fd157c7c0b03351253d65bb839698ddd5df138ad7b6
  • libview-enclave.signed.so: be1d711887530929fbc06ef8b77b618db15e9cd1dd0265559ea45f60a532ee52
  • libledger-enclave.signed.so: d5159ba907066384fae65842b5311f853b028c5ee4594f3b38dfc02acddf6fe3

MainNet SGX Measurements

Signer Measurement

  • MRSIGNER: 2c1a561c4ab64cbc04bfa445cdf7bed9b2ad6f6b04d38d3137f3622b29fdb30e

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: 207c9705bf640fdb960034595433ee1ff914f9154fbe4bc7fc8a97e912961e5c
  • libingest-enclave.signed.so: 3370f131b41e5a49ed97c4188f7a976461ac6127f8d222a37929ac46b46d560e
  • libview-enclave.signed.so: fd4c1c82cca13fa007be15a4c90e2b506c093b21c2e7021a055cbb34aa232f3f
  • libledger-enclave.signed.so: dca7521ce4564cc2e54e1637e533ea9d1901c2adcbab0e7a41055e719fb0ff9d

mobilecoind & mobilecoind-json v2.0.2

21 Sep 05:37
Compare
Choose a tag to compare

What's New since v2.0.1

🐛 Bug Fixes

  • Correction to the bundled version of ingest-enclave.css which prevented sending fog transactions to the current production MainNet

TestNet SGX Measurements

Signer Measurement

  • MRSIGNER: bf7fa957a6a94acb588851bc8767e0ca57706c79f4fc2aa6bcb993012c3c386c

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: 01746f4dd25f8623d603534425ed45833687eca2b3ba25bdd87180b9471dac28
  • libingest-enclave.signed.so: 3e9bf61f3191add7b054f0e591b62f832854606f6594fd63faef1e2aedec4021
  • libview-enclave.signed.so: 3d6e528ee0574ae3299915ea608b71ddd17cbe855d4f5e1c46df9b0d22b04cdb
  • libledger-enclave.signed.so: 92fb35d0f603ceb5eaf2988b24a41d4a4a83f8fb9cd72e67c3bc37960d864ad6

Add this MainNet block to Github Release

MainNet SGX Measurements

Signer Measurement

  • MRSIGNER: 2c1a561c4ab64cbc04bfa445cdf7bed9b2ad6f6b04d38d3137f3622b29fdb30e

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: d6e54e43c368f0fa2c5f13361afd303ee8f890424e99bd6c367f6164b5fff1b5
  • libingest-enclave.signed.so: 3e9bf61f3191add7b054f0e591b62f832854606f6594fd63faef1e2aedec4021
  • libview-enclave.signed.so: 3d6e528ee0574ae3299915ea608b71ddd17cbe855d4f5e1c46df9b0d22b04cdb
  • libledger-enclave.signed.so: 92fb35d0f603ceb5eaf2988b24a41d4a4a83f8fb9cd72e67c3bc37960d864ad6

mobilecoind & mobilecoind-json v2.0.1

15 Sep 23:58
Compare
Choose a tag to compare

What's New

🐛 Bug Fixes

  • Correct some issues with the packaging of some utilities.
  • Correct an issue with the mainnet mobilecoind binary which prevented it connecting to the current enclaves.

TestNet SGX Measurements

Signer Measurement

  • MRSIGNER: bf7fa957a6a94acb588851bc8767e0ca57706c79f4fc2aa6bcb993012c3c386c

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: 01746f4dd25f8623d603534425ed45833687eca2b3ba25bdd87180b9471dac28
  • libingest-enclave.signed.so: 3e9bf61f3191add7b054f0e591b62f832854606f6594fd63faef1e2aedec4021
  • libview-enclave.signed.so: 3d6e528ee0574ae3299915ea608b71ddd17cbe855d4f5e1c46df9b0d22b04cdb
  • libledger-enclave.signed.so: 92fb35d0f603ceb5eaf2988b24a41d4a4a83f8fb9cd72e67c3bc37960d864ad6

MainNet SGX Measurements

Signer Measurement

  • MRSIGNER: 2c1a561c4ab64cbc04bfa445cdf7bed9b2ad6f6b04d38d3137f3622b29fdb30e

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: d6e54e43c368f0fa2c5f13361afd303ee8f890424e99bd6c367f6164b5fff1b5
  • libingest-enclave.signed.so: 3e9bf61f3191add7b054f0e591b62f832854606f6594fd63faef1e2aedec4021
  • libview-enclave.signed.so: 3d6e528ee0574ae3299915ea608b71ddd17cbe855d4f5e1c46df9b0d22b04cdb
  • libledger-enclave.signed.so: 92fb35d0f603ceb5eaf2988b24a41d4a4a83f8fb9cd72e67c3bc37960d864ad6

MobileCoin Core (Consensus/Fog) v2.0.0

16 Aug 22:00
Compare
Choose a tag to compare

Schedule of Release

🗓️ MainNet Deployment

This release is scheduled to be deployed to MainNet on September 21, 2022, at 9AM PDT. We estimate the block height at that time to be 842,800.

We expect some amount of downtime during the upgrade, no greater than 2 hours.

At the conclusion of the deployment, MainNet will remain at Block Version 0.

Check out the block explorer to follow along with the upgrade!

What's New

🚨 Breaking Changes

  • Block Versioning allows for protocol evolution. Clients will need to keep up with these changes in order to read new blocks on the chain going forward.
  • mobilecoind will exit on startup when a ledger migration is necessary, unless the new --ledger-db-migrate command line argument is used, in which case it will migrate automatically. This flag does not do anything if the Ledger DB does not exist.

✨ New Features

Available in Block Version 1 (and later):

Available in Block Version 2 (and later):

Available in Block Version 3 (future version 3.0.0):

Available on Deployment (testnet has been deployed, mainnet deployment TBD)

  • New Fog Overseer utility to monitor Fog Ingest instances
  • Fog's KeyImage checks are now oblivious.
  • Fog Ingest Client CLI now allows queries to the get_ingress_key_record API.

🛠️ Improvements

  • Fog View OMAP configurable via environment variable
  • Merge MobileCoin Fog service code into this repository
  • Enable Bitcode for libmobilecoin, reduces iOS artifact size by 25%
  • Increase the maximum tombstone block for transactions to 20,160 from 100
  • Removed slam utility in favor of fog-distribution
  • Support root entropy-based key derivation in test keys/ledgers

🐛 Bug Fixes

  • Make Fog Ingest state file handling more resilient
  • Fix incorrect gRPC error codes for attestation failures
  • Added additional retries to Postgres connections in fog services

🔒 Security Fixes

The full list of changes, including package version updates is available in the CHANGELOG.md.

TestNet SGX Measurements

Signer Measurement

  • MRSIGNER: bf7fa957a6a94acb588851bc8767e0ca57706c79f4fc2aa6bcb993012c3c386c

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: 01746f4dd25f8623d603534425ed45833687eca2b3ba25bdd87180b9471dac28
  • libingest-enclave.signed.so: 3e9bf61f3191add7b054f0e591b62f832854606f6594fd63faef1e2aedec4021
  • libview-enclave.signed.so: 3d6e528ee0574ae3299915ea608b71ddd17cbe855d4f5e1c46df9b0d22b04cdb
  • libledger-enclave.signed.so: 92fb35d0f603ceb5eaf2988b24a41d4a4a83f8fb9cd72e67c3bc37960d864ad6

MainNet SGX Measurements

Signer Measurement

  • MRSIGNER: 2c1a561c4ab64cbc04bfa445cdf7bed9b2ad6f6b04d38d3137f3622b29fdb30e

Enclave Measurements (MRENCLAVE)

  • libconsensus-enclave.signed.so: d6e54e43c368f0fa2c5f13361afd303ee8f890424e99bd6c367f6164b5fff1b5
  • libingest-enclave.signed.so: 3e9bf61f3191add7b054f0e591b62f832854606f6594fd63faef1e2aedec4021
  • libview-enclave.signed.so: 3d6e528ee0574ae3299915ea608b71ddd17cbe855d4f5e1c46df9b0d22b04cdb
  • libledger-enclave.signed.so: 92fb35d0f603ceb5eaf2988b24a41d4a4a83f8fb9cd72e67c3bc37960d864ad6

Client update 2020-09-15

15 Sep 21:37
Compare
Choose a tag to compare
Pre-release

Pre-releases will eventually be deployed to alpha
When we have iterated on pre-releases to our satisfaction, v1.2.0 will be tagged for testnet.
If that is accepted then 1.2 will be tagged for mainnet.

MobileCoin Clients 1.1.2

18 Aug 04:06
22d3894
Compare
Choose a tag to compare

This release corrects some defects in the Terms of Use.

MobileCoin Clients 1.1.1

17 Aug 04:07
6f6ded6
Compare
Choose a tag to compare
Updates for v1.1.1 (#870)

* Update embargoed location list (based on master patches).
* Bump all crate versions
* Update TERMS-OF-USE.md (#869)
* Update changelog.
* Work around broken cargo trim -d (#860)
* When we test that the code builds, actually build (#826)
* Dont do cargo check, because it doesn't link anything.
* Pull in mac CI fixes from master.

Co-authored-by: Adam Mork <the-real-adammork@users.noreply.github.com>
Co-authored-by: garbageslam <beck.ct@gmail.com>

MobileCoin 1.1.0

10 Jun 20:31
Compare
Choose a tag to compare

Hey all, this is the first incremental release of MobileCoin since launch of mainnet.

What's New and Different

✨ BIP-39 Mnemonics

MobileCoinD now supports BIP-39 mnemonics as its preferred account entropy scheme. The legacy root entropy scheme will continue to be supported, but we feel that AccountKeys derived using the new scheme are superior in every way, and so we're recommending that new users go with the new entropy scheme.

✨ Fog Support in MobileCoinD

Users of mobilecoind are able to properly encode fog hints, which makes desktop-to-mobile transactions a reality. This has been supported in pre-release since the release of Fog, and after several months of operations with no known issues we're integrating this into the primary release.

✨ Encrypted Keys At Rest in MobileCoinD

MobileCoinD now encrypts account private keys at rest in its local database.

✨ Lower, Dynamic Fees

The default transaction fee has been lowered from 10mMOB to 400uMOB, and we've implemented MobileCoin RFC #1, which will allow operators to raise or lower fees as needed.

✨ Sticky Sessions for gRPC Clients

We now support cookie-based load balancing at the gRPC layer when connecting to, e.g. consensus enclaves.

👷 Newer Rust (nightly-2021-03-25)

We've updated our supported rust version to one released after stable-0.51.0.

🔒 ⬆️ SGX 2.13.3

We've updated the version of the SGX SDK we're using to 2.13.3, to address INTEL-SA-00477, which is a timing attack vulnerability in some Intel crypto code.

Release Schedule and Advice

We are pushing out a release today, and will be coordinating with network operators to deploy the new version of Consensus network and Fog servers (enclaves) on or before July 14, 2021 (exact date TBD).

Existing users of MobileCoinD should update their installation to take automatic advantage of the lower fees once the upgrade goes live on the network, and will need to update in order to automatically respond to fees higher than the current hard-coded minimum of 10mMOB.

A more detailed changelog is also available.

Consensus SGX Measurements

The mainnet release of consensus produces the following measurements:

  • MRSIGNER: 0x2c1a561c4ab64cbc04bfa445cdf7bed9b2ad6f6b04d38d3137f3622b29fdb30e
  • MRENCLAVE: 0x653228afd2b02a6c28f1dc3b108b1dfa457d170b32ae8ec2978f941bd1655c83

Independent clients which depend on those values (e.g. those doing MRENCLAVE in particular) should add the values included to their trust story (and accept Intel Attestation Verification Reports [AVRs] with SOFTWARE_HARDENING_NEEDED for INTEL-SA-00334, as those enclaves were built with the relevant hardening).

📦 Downloads

TestNet

Linux

MacOS

MainNet

Linux

MacOS

📝 Release Artifacts Build Instructions

The downloads for this release were build with the following on MacOS and Ubuntu:

TestNet

curl -O https://enclave-distribution.test.mobilecoin.com/$(curl -s https://enclave-distribution.test.mobilecoin.com/production.json | grep consensus-enclave.css | awk '{print $2}' | tr -d \" | tr -d ,)

curl -O https://enclave-distribution.test.mobilecoin.com/$(curl -s https://enclave-distribution.test.mobilecoin.com/production.json | grep ingest-enclave.css | awk '{print $2}' | tr -d \" | tr -d ,)

RUSTFLAGS='-C target-cpu=penryn' SGX_MODE=HW IAS_MODE=PROD CONSENSUS_ENCLAVE_CSS=$(pwd)/consensus-enclave.css INGEST_ENCLAVE_CSS=$(pwd)/ingest-enclave.css  cargo build --release --no-default-features -p mc-mobilecoind -p mc-mobilecoind-json

Example Run Command

./target/release/mobilecoind \
    --mobilecoind-db ~/my-wallet.db \
    --ledger-db ~/ledger-testnet/ \
    --peer mc://node1.test.mobilecoin.com/ \
    --peer mc://node2.test.mobilecoin.com/ \
    --tx-source-url https://s3-us-west-1.amazonaws.com/mobilecoin.chain/node1.test.mobilecoin.com/ \
    --tx-source-url https://s3-us-west-1.amazonaws.com/mobilecoin.chain/node2.test.mobilecoin.com/ \
    --fog-ingest-enclave-css $(pwd)/ingest-enclave.css \
    --listen-uri insecure-mobilecoind://127.0.0.1:4444/ &

./target/release/mobilecoind-json &

MainNet

curl -O https://enclave-distribution.prod.mobilecoin.com/$(curl -s https://enclave-distribution.prod.mobilecoin.com/production.json | grep consensus-enclave.css | awk '{print $2}' | tr -d \" | tr -d ,)

curl -O https://enclave-distribution.prod.mobilecoin.com/$(curl -s https://enclave-distribution.prod.mobilecoin.com/production.json | grep ingest-enclave.css | awk '{print $2}' | tr -d \" | tr -d ,)

RUSTFLAGS='-C target-cpu=penryn' SGX_MODE=HW IAS_MODE=PROD CONSENSUS_ENCLAVE_CSS=$(pwd)/consensus-enclave.css INGEST_ENCLAVE_CSS=$(pwd)/ingest-enclave.css  cargo build --release -p mc-mobilecoind -p mc-mobilecoind-json

Example Run Command

./target/release/mobilecoind \
    --mobilecoind-db ~/my-wallet.db \
    --ledger-db ~/ledger-mainnet/ \
    --peer mc://node1.prod.mobilecoinww.com/ \
    --peer mc://node2.prod.mobilecoinww.com/ \
    --tx-source-url https://ledger.mobilecoinww.com/node1.prod.mobilecoinww.com/ \
    --tx-source-url https://ledger.mobilecoinww.com/node2.prod.mobilecoinww.com/ \
    --fog-ingest-enclave-css $(pwd)/ingest-enclave.css \
    --listen-uri insecure-mobilecoind://127.0.0.1:4444/ &

./target/release/mobilecoind-json &

TestNet 2021-05-13

13 May 07:15
Compare
Choose a tag to compare
TestNet 2021-05-13 Pre-release
Pre-release
v1.1.0-pre4

Version bump