Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Postage stamp indexing #1587

Closed
wants to merge 16 commits into from
Closed

Conversation

zelig
Copy link
Member

@zelig zelig commented Apr 21, 2021

this PR extends postage stamps with indexes

  • indexes enable replacing stored chunks at the discretion of the owner: storer nodes store only the latest chunk stamped with the same stamp (same batch same index)
  • offer an easy way to catch overissuance as part of stamp validity check
  • makes it possible to limit spoofing density proofs by mining chunks to a batch
  • makes it possible to transfer ownership of arbitrary indexes

the index is a 64-bit serialisation of

  • bucket depth (uint8, 1st byte, <24)
  • bucket index (neighbourhood index, uint32 <2^depth, bytes 2-4)
  • and the within-bucket index (uint32 <2^(batchdepth-bucketdepth), bytes 5-8)

acud and others added 11 commits April 15, 2021 13:31
postage: new pkg for postage stamps, uploader stamping (#890)

* postage: new pkg for postage stamps, uploader stamping

* postage: amount->value, blockNumber big.Int-> uint64, stamp only has batch ID, not Batch

* postage: fix godoc and copyright

* postage, swarm:
 - swarm.Stamp as an interface
 - add postage/testing for mock Stamps
 - fix Stamp MarshalBinary to allow nil batch id and signature
 - add StampSize const

* postage: heed review feedback

Co-authored-by: acud <12988138+acud@users.noreply.github.com>

Storage incentives: add stamper putter to api

Postage BatchStore and BatchService (#1070)

Co-authored-by: zelig <viktor.tron@gmail.com>

add normalisedBalance to updater interface (#1108)

make value the normalised balance (#1111)

postage: add event listener (#1099)

Wire up postage stamp syncing (#1114)

localstore, shed: persist stamps (#1116)

add --postage to beeinfra.sh setup

pullsync, pushsync: add postage stamps (#1117)

postage: add create endpoint (#1142)

retrieve erc20 address from postage contract (#1169)

postage: check balance before attempting stamp creation (#1177)

postage: fix bucket depth (#1178)

api: use hex encoding in postage api (#1179)

increase page size (#1182)

postage: handle bucket depth error in api (#1183)

localstore: attach stamp to outgoing chunk (#1192)

update postage stamp contract addresses for new token (#1208)

batchstore: reserve (#1262)

* postage/batchstore: reserve logic

Co-authored-by: acud <12988138+acud@users.noreply.github.com>

stamp support in storage and protocols (#1321)

api: endpoints for stamp issuers (#1535)

retrieval: add stamps (#1552)

localstore reserve logic (#1322)

Co-authored-by: acud <12988138+acud@users.noreply.github.com>
* chunks: batchID
@zelig zelig added the builds on open pr builds on another open one label Apr 21, 2021
@zelig zelig self-assigned this Apr 21, 2021
@acud acud force-pushed the storage-incentives-rebased branch 4 times, most recently from b09eebf to 415bb0a Compare April 27, 2021 09:20
@zelig
Copy link
Member Author

zelig commented Apr 29, 2021

superceded by #1625

@zelig zelig closed this Apr 29, 2021
@acud acud deleted the postage-stamp-indexing branch June 19, 2021 20:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
builds on open pr builds on another open one pull-request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants