Welcome to Beam documentation!¶
Agile Atom 1.2.4419
This is the first official maintenance version of Mainnet release, focused on stability and address management. Migration assistant will be automatically triggered in the desktop wallet when upgrading to this version (Upgrading from previous version).
[desktop wallet, cli wallet] Expired addresses can become active again. Common use case: a mining pool had already registered a particular address and can’t update it. #318
[desktop wallet] Assisted migration of wallet database from the previous wallet versions. #307
[cli wallet] Can print all the managed addresses. #282
[node] Faster transaction initiation between wallets due to reduced number of roundtrips between sender and receiver. #299
[node] If transaction is stuck in “Syncing with blockchain” state for more than 2 hours it will fail automatically. #311
[desktop wallet, cli wallet] On wallet restore user will see a warning if submitted words from the seed phrase are not in BIP39 dictionary. #253
[node] SBBS message system is more resistant to flood & spam.
[desktop wallet, node] System time sync with node is verified when user logs into wallet, see wallet and node logs for details. #314
[node] Transaction Kernel ID is displayed fully in the logs. #344
[node] Reworked node and DB management to increase robustness, stability and data integrity.
[node] The rare scenario resulted from the untypical (yet valid) wallet usage pattern which caused the nodes to fail to mine the next block after height 25709. The fix was applied to the flaw in the block construction code, which generated a wrong commitment to the UTXO state. #386
Inconsistent transaction statuses when running two or more wallets that use the same wallet.db file, cloned manually.
What is Beam?¶
Things that make BEAM special include:
- Users have complete control over privacy - a user decides which information will be available and to which parties, having complete control over his personal data in accordance to his will and applicable laws.
- Confidentiality without penalty - in BEAM confidential transactions do not cause bloating of the blockchain, avoiding excessive computational overhead or penalty on performance or scalability while completely concealing the transaction value.
- No trusted setup required.
- Blocks are mined using Equihash Proof-of-Work algorithm.
- Limited emission using periodic halving.
- No addresses are stored in the blockchain - no information whatsoever about either the sender or the receiver of a transaction is stored in the blockchain.
- Superior scalability through compact blockchain size using the “cut-through” feature of Mimblewimble.
- No premine. No ICO. Backed by a treasury, emitted from every block during the first five years.
- Implemented from scratch in C++.
Beam is extremely new and experimental technology. No guarantees can be provided by anyone whatsoever. Use it at your own risk. Make sure you know what you are doing, especially if there is money involved.
Just like any other cryptocurrency, using Beam requires learning and understanding what this all is about. If real money is involved, it also requires concern with security of the process.
That said, you can always safely play with Beam by connecting to the permanent Testnet.
To lean more about how cryptocurrencies work in general and Beam in particular please visit our Resources page
Once you familiarized yourself with key ideas and concepts, it is recommended to start from connecting to our Testnet. The simplest way to do that is by downloading and installing our Desktop Wallet and following instructions in Desktop Wallet User Guide.
Important differences from other cryptocurrencies¶
Mimblewimble has several important differences from most other existing cryptocurrencies which are very important to understand. Please review the following information carefully.
The concept of Address is completely different
In most cryptocurrencies Address is a hashed public key for which the owner of that Address knows the corresponding private key. In order to transfer funds, the Sender should only know the Address of the Receiver in order to create a unilateral transaction. The Sender is not aware of whether the Receiver is online or not or whether it even exists. Once transaction to an Address is complete and added to the blockchain, Receiver that can prove knowledge of the private key corresponding the Address can control this UTXO (short for Unspent Transaction Output).
In Mimblewimble there are no addresses at all and transaction are created interactively by both Sender and Receiver wallets. This means that in order to create a transaction, both wallets have to participate in the creation process and eventually co-sign the transaction before it is sent to the blockchain.
In Beam it is not possible to create a transaction unilaterally. Both Sender and Receiver have participate in transaction creation.
To allow Sender and Receiver wallets to create transactions without having to be online at the same time and directly connected to each other, Beam added a module called SBBS that allows wallets to securely communicate using encrypted messages to create a transaction. SBBS Addresses are merely private / public key pairs used to encrypt and decrypt these messages.
SBBS Addresses are not recorded in the blockchain and are not used to control funds
You are encouraged to create a new SBBS Address for each transaction.
Wallet and Node concepts are slightly different
Beam documentation mentions terms Wallet and Node quite a lot and it sometimes causes confusion with users of other cryptocurrencies.
Beam Wallet is a light client which stores information about UTXO that belong to it and has an ability to create new transactions by connecting to other wallets via SBBS. It does not store or verify the entire blockchain and can thus only work if connected to a Node.
Beam Node, is a full node that downloads, validates and updates the entire blockchain state.
Beam Desktop Wallet, provides options to run both as just the Wallet (connected to a remote node) and as a full node.
It is always recommended to run a full node
Information that can be restored from the blockchain is completely different
In most blockchains, information about current UTXOs and the transaction history can be recovered from the blockchain using only the Seed Phrase.
In Beam, only UTXOs can be recovered from the blockchain. All other information, including transaction history and any other meta data are only stored locally in the Beam Wallet database and encrypted by Wallet Password.
This means that if you run Beam Wallet on two different machines, transaction history WILL NOT be synchronized.
This also means, that to preserve transaction history, or any additional meta data, it is necessary to regularly backup Beam Wallet database file.
For more information about backup and restore procedure see Backup and Restore
Reporting Issues and Getting Support¶
To report issues and get support please perform the following steps:
Gather all relevant information including:
- Detailed description of the problem you have encountered and steps to reproduce it
- Version of the binaries you are running
- Logs (see Log locations for information where to find the logs files)
- Relevant configuration files (please check for private information before sending)
- Your system configuration
- Screen shots or any additional information you think is relevant
You can also open an issue in github and follow the provided template.
Providing all the information described above will allow us to quickly and efficiently analyze and resolve the issue for you and everyone else.