20
votes
Accepted
What is an IOTA "bundle"?
Transferring IOTAs from one address to another requires several different transactions:
An output transaction that increments the recipient's balance by the desired amount.
(usually) 1-3 inputs that ...
11
votes
What is an IOTA "bundle"?
This cheat sheet present a bundle with :
2 outputs: 100 iotas to address B and 202 iotas to address C.
the remainder : 49 iotas
The inputs are comming from 3 addresses: A1, A2 and A3.
In the ...
10
votes
Accepted
What is an input transaction, and what does its "address" field represent?
It's important to understand that IOTA use UTXO scheme (like bitcoin and probably many other cryptocurrencies).
UTXO means Unspent Transaction Output.
To understand from where the UTXO concept ...
9
votes
Accepted
Why is the normalized hash considered insecure when containing the char 'M'
There was a bug in the wallet software related to absence of https://github.com/Come-from-Beyond/ISS/commit/de1a279450558848a81858fd57b023719eb9a0d3. "M" should be avoided to prevent leakage of the ...
8
votes
Accepted
What does the "block number" in the iota wallet represent?
The two numbers are the
the latest solid subtangle milestone index
The "latest solidsubtangle milstone" is used for sending transactions. For a milestone to become solid your local node (or whatever ...
7
votes
Why is the bundle hash normalized?
When you apply naïve Winternitz signature scheme on a (non-normalized) hash, the amount of private key data you leak is not uniform - a hash of e. g. 999⋯9 would result in all (or none, depending on ...
mihi♦
- 7,324
7
votes
What is an IOTA "bundle"?
A user will usually broadcast a collection of multiple transactions (also called a bundle) when interacting with the network. One bundle could consist of
Withdrawal transaction (acquire funds to be ...
6
votes
Accepted
Are bundles one tip or four?
A bundle can also have only 1 transaction (zero value tx), 3 transactions (if there is no remainder, therefore no change address) or more transactions (if there is a remainder and/or there are ...
mihi♦
- 7,324
6
votes
Accepted
How is ensured that a message sent in a transaction is immutable?
Short answer: it is not.
Long answer: Signatures are not supposed to protect anything else than the iota values and (obsolete)tag fields. Therefore, as long as your transaction is not confirmed, ...
mihi♦
- 7,324
5
votes
How to send data payload and funds in a secure/immutable way?
The current transaction structure is not the final variant. Later extraDataDigest field will be added, that field will be a part of the bundle essence (signed part). Setting the field value to the ...
5
votes
Accepted
Which parts of a bundle have to be signed?
A signature may even need more than two transactions, e. g. if it is a multisig signature.
Yes, the reason is that Winternitz signatures are large (for every tryte you are signing and each key that ...
mihi♦
- 7,324
4
votes
Accepted
What is a transactions obsoleteTag used for?
obsoleteTag will be removed soon. The preliminary final design of the bundle essence fragment is:
extraDataDigest [243 trits]
address [243 trits]
value [81 trits]
issuanceTimestamp [...
4
votes
Do transactions within the same bundle need to reference specific branch and trunk hashes?
A bundle consisting of N transactions can reference 2*N completely different transactions (almost half of them will belong to the bundle). The chain of trunkTransaction references must form the ...
4
votes
Why is the bundle hash normalized?
Winternitz signature scheme requires to have the checksum for the signature to be secure. Bundle normalization is an alternative way of keeping the signature secure while reducing its "strength" a ...
4
votes
Accepted
How does the POW change with the number transactions in a bundle?
The bundle hash is calculated from the "essence" parts (address, (obsolete)tag, timestamp, value, bundle index) of all transactions.
Then the bundle hash is inserted into all transactions of the ...
mihi♦
- 7,324
3
votes
Accepted
Why does IRI accept „broken“ bundles?
iri accepts and broadcasts single transactions, not whole bundles. Therefore when iri receives the first transaction of a bundle, it not necessarily can see already that this transaction is part of a ...
mihi♦
- 7,324
3
votes
How is ensured that a message sent in a transaction is immutable?
It's not included in the bundle hash, but it is included in the transaction hash. If you look into how MAM does it, the message fragment contains the message, signature, and sibling hashes( for merkle ...
3
votes
Do transactions within the same bundle need to reference specific branch and trunk hashes?
They do, and this schema shows how TX(currentIndex, lastIndex):
Taken from this nice article.
3
votes
Do transactions within the same bundle need to reference specific branch and trunk hashes?
I found the cheat sheet to be somewhat misleading as it assumes, that one tip to be confirmed is the latest solid milestone. You'll find a precise answer here. I had the exact same conceptual question....
3
votes
Accepted
Why is "getTransactionsToApprove" returning identical trunk & branch hashes
Strictly speaking : branch and trunk transaction can be the same. Let's think about transaction validating the genesis: there was only only one transaction on the tangle... so impossible to pick 2 ...
2
votes
Doesn't reattaching transactions allow double-spend transactions?
You have a balance not in an account, but on an address. Due to the fact that IOTA uses one-time signatures, you are advised to create transactions that empty an address fully.
So, if you have 10 Mi ...
mihi♦
- 7,324
2
votes
Accepted
Where is the message in the transaction bundle?
The message is stored in the space where the signature normally would be. In the signatureMessageFragment of the first transaction in the bundle, there is GACDZCTCEAADTCGDGDPCVCTCGA and a whole lot of ...
2
votes
Accepted
Why do transactions in a bundle need to be chained via trunkTransaction?
I checked the code (in the Java library) and here is how it creates a bundle.
Let's say that tip0 and tip1 are the 2 tips to approve.
The last transaction in the bundle (transaction with highest ...
2
votes
Accepted
Does Broadcasting a Bundle on Both MainNet and TestNet Facilitate Brute Forcing the Seed?
Your seed is never compromised by address reuse. The only thing that is compromised is the private key of one of your addresses. That's why the wallet moves remaining funds to a different/new address ...
mihi♦
- 7,324
1
vote
Accepted
Finalizing bundle fails
The Java library is quite picky about length of fields you set. In particular, the address has to be 81 trytes and both tag and obsoleteTag need to have 27 trytes. If the lengths are different (or ...
mihi♦
- 7,324
1
vote
Accepted
Can a bundle be 3 transactions for security level 1?
Yes, you are right.
In case of security = 1 and you are spending all the funds on one address (with no change needed), you can even get away with only 2 transactions (one with the input and sig, and ...
mihi♦
- 7,324
1
vote
Accepted
How is the correct way to retrieve the two transactions that had been confirmed in order to create a transaction
As I'm new to Iota development I can not tell, if this is really the correct way to do it but I found the following works for me and the result looks correct and like what I expected it to look like:
...
1
vote
specific reason tip-choice for trunk and branch?
Although the construction seems a bit odd, now I understand this specific setup was just temporary. In a new release (current v1.4.2.1) the new bundle structure will adhere to the "each tx confirms 2 ...
1
vote
How does the POW change with the number transactions in a bundle?
Nonces are being added to transactions, not to bundles. So for each transaction in the bundle the user
have to do a small Proof-of-Work: to find such nonce that will result in the hash of the ...
1
vote
How to validate bundle hash
The Java port is up to date - it is used in the Android wallet. Also, obviously the JavaScript port is up to date - it is used in the official desktop wallet.
The C# port is not up to date as it (...
mihi♦
- 7,324
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
bundles × 26transaction × 14
security × 4
legacy-protocol × 3
hashing × 3
signing × 3
branch × 3
trunk × 3
address × 2
tip-selection × 2
validation × 2
data × 2
iri-legacy-api × 2
iri-node × 1
tangle × 1
seed × 1
masked-authenticated-messaging × 1
pow × 1
address-reuse × 1
milestones × 1
reattach × 1
balances × 1
ternary × 1
java × 1
tips × 1