Block Collider - Blockchain Code Review And Audit
analysis

Block Collider - Blockchain Code Review And Audit

THELOGICALINDIAN - n-a

Smart affairs can be accomplished or accomplished by acute affairs on added blockchains. How? I alpha an ETH alteration to a NEO acute contract, how can that accessible assignment after an ETH NEO bridge? Block Collider arresting the blocks doesn’t add this functionality, not unless they apparatus a bi-directional stream. Block Collider actuality acquainted of the accompaniment of added blockchains doesn’t absolutely achieve anything.

That out of the way, we are actuality to analysis their code, no amount how little the abstraction makes faculty to me on a abstruse level.

554 commits, 12 branches, 4 contributors. So Block Collider has the abstraction of a Rover, this is the customer of blocks, I’m absolutely absorbed to see how this works, so let’s alpha with it.

To alpha out with, I’m blessed to see const (object cannot be afflicted afterwards initialization) declaration. I consistently abhorrence to see var (can be changed) declarations back a const will work, so, acceptable start.

This is the Waves departer (program to aggregate blocks from the Waves API), it uses the pre-built Waves API to aggregate a block, compares the block to the bounded cache, and again attempts to accomplish a unified block (combining all accepted awaiting blocks). I don’t apperceive what I was expecting, but I was assured more: don’t get me wrong, there is annihilation amiss with this implementation, but it relies on accepted ancillary connectivity to get its results.

I would accept adopted article added decentralized; now of course, it becomes antic to anticipate that anniversary Block Collider bulge should additionally run a bulge (or at atomic ablaze node) of anniversary blockchain it consumes, but this band-aid is aloof actual basic.

Same bureaucracy for NEO as Waves.

Same for Lisk, appropriate now it aloof looks like copy-paste.

Not a fan of the absurdity handling, but this is a PoC afterwards all, so no acumen to nitpick.

Quite a lot of actuality to the Ethereum implementation, this is beneath of aloof scanning blocks and is an absolute Ethereum alternation implementation. Not abiding why the disparity, but I adopt this accomplishing over the antecedent three.

BTC accomplishing follows the aforementioned pattern.

Now we apperceive how blocks are collected. Bit of a centralized manner, but we won’t authority that adjoin them. So blocks are streamed (or fetched), I still don’t apperceive why.

This is transaction.js, the assortment is aloof a blake2bl of the ascribe variables. I’m not seeing how the ‘from’ is signing this transaction, but conceivably that is from self.trust, so let’s get aback to this later.

For the best part, it’s actual abecedarian code. I’m not adage it’s bad, aloof actual basic.

There aloof isn’t a lot activity on.

Claim block accomplishing above: if the block hasn’t been mined, you actualize a new Coinbase transaction that awards you the MinerReward (no fees currently) and you assurance the block. Straightforward implementation. I’m not seeing block validation though.

Standard Express server for HTTP interaction.

Lots of user-specific hardcoded values, these aren’t acceptable practice, but they aren’t inherently bad in a affidavit of concept.

Again, annihilation amiss here, aloof annihilation interesting. Was assured article added for consensus.

Most of the absolute actuality iseems like a re-implementation from https://github.com/bcoin-org/bcoin

The acceptable genitalia are mostly bcoin.

 

Block Collider Code Review – Verdict

The cipher is arresting blocks, it is creating new active blocks from the captivated blocks. What purpose this has, I candidly don’t know. Why they are accomplishing this? I candidly don’t apperceive that either. The cipher itself is average.

I can see it appears abundantly rushed, the accounting and angle appearance is awkward and the accepted codebase has a rushed feel to it (duplicated sections, accomplished files commented out, I doubtable they had a borderline and they rushed to accommodated it).

It’s not red banderole code, but it isn’t acceptable code. I absolutely don’t see what they are bringing to the game. They arise to accept artlessly affected bcoin, and added some centralized block streaming, and this doesn’t absolutely achieve anything.

Disclaimer: Crypto Briefing cipher reviews are performed by auditing what is on affectation in the adept annex of the repo’s fabricated available. This analysis is not a animadversion on the all-embracing project, scope, or success thereof. This was done as an educational analysis and any comments in the commodity are the assessment of the writer. It is accustomed for cipher to change rapidly, appropriately we timestamp our cipher reviews so that they present a snapshot at a moment in time. Information independent herein should not be acclimated as any animadversion or admonition on the activity as a whole.

Timestamp: April 12th 2024, 3:53pm