RE: Is Hive-Engine a Blockchain?

avatar
(Edited)

You are viewing a single comment's thread:

So I feel that I have to respond here because a lot of what you're saying is simply factually inaccurate and very misleading. I have no interest in defending Engine and there are many things that could be done better, but I do think it's important that people understand what is actually going on.

Transactions on Engine are not distributed across a network

This is incorrect, Engine transactions are Hive blockchain transactions, so they are very much distributed across a network.

Engine is not tamperproof, at any time anyone on the Engine team with appropriate access can modify balances and transactions.

This is also incorrect. You're confusing tampering with a node with tampering with the system as a whole. I can run my own Hive node and modify balances and transactions all I want, but that doesn't mean it's correct based on the protocol of the system. Engine is no different. Sure the Engine team can modify things on their node, but others can validate the info on their node to see if they are reporting correct information or not just like with any other blockchain platform. More on this later.

All verification is dependent on one single third party entity (Engine)

False. The code is all open source for the Engine platform and anyone can independently verify all of the data.

While Engine may in fact as an append only mode, the possibility to edit/delete from the postgres/mongo database is technically possible and relatively easy to do with the correct access.

This is incorrect for the same reason as the "tamperproof" claim above.

I don't know enough about the inner workings of Engine to determine if it is in fact protected by cryptography, I suspect it is not and is just stored in postgres but I don't have enough information to confirm or deny this.

What is meant by "protected by cryptography" is that the transactions are cryptographically signed using a public/private key pair, which Engine transactions most certainly are as a result of being transactions on the Hive blockchain.


Everything @cryptomancer said in his quoted comment is correct and accurate. If I were part of the Hive Engine team, I would encourage third parties to run their own Hive Engine nodes and their own copies of the hive-engine.com website that point to them (or just to allow hive-engine.com to point to other nodes just like peakd.com and other Hive apps can).

If more people were running nodes, then if the Engine team wanted to change the code then they would need the consensus of everyone running Hive Engine nodes to adopt the same changes, or else their node would fork off from the others, at which point it will be up to the users to decide which fork they want to use. This is exactly the same as most any other blockchain platform, and is only not apparent in this case because no one else is running a node - a problem that should be relatively easy to fix, IMO.

I think that relatively simple thing would make it much more clear that Hive Engine most definitely is a blockchain. It doesn't mean it's necessarily a good one, or one that projects might want to use - that's up to each person or project to decide, but just because you may not like it or the people behind it doesn't mean that it's not a blockchain.


Pair that with native smart contracts and we will have something no one else has, free three second transactions with the ability to create your own contracts and tokens.

Also, what?? Numerous other blockchains have this nowadays - EOS, WAX, TRON, and many others including Ethereum sidechains which seem be popping up left and right. Hive simply cannot compete in the generic smart contract platform arena.



0
0
0.000
19 comments
avatar

I'd like to run a Hive-Engine node.
I'm already running a witness node using HIAB.
Where can I find instructions?

0
0
0.000
avatar

https://github.com/hive-engine/steemsmartcontracts/tree/hive-engine (The current code that is live on Hive-Engine) you can simple start it and it will replay all the transactions)

https://github.com/hive-engine/steemsmartcontracts-wiki (A pretty good guide on working with ssc and running a node)

0
0
0.000
avatar

Thanks. Why is it still called "steemsmartcontracts"? That is super confusing.

0
0
0.000
avatar

yeah it indeed is! not sure why

0
0
0.000
avatar

It is used by both Steem & Hive (there is still Steem Engine and tribes running), and has not been update to clean out the Steem branding.

0
0
0.000
avatar

Last I heard, there's a difference between native tokens and the current ERC20, etc. SMTs seem to be that native token part.

At least, that’s what I got from reading this.

https://iohk.io/en/research/library/papers/native-custom-tokens-in-the-extended-utxo-model/

0
0
0.000
avatar
(Edited)

This is incorrect, Engine transactions are Hive blockchain transactions, so they are very much distributed across a network.

They are custom json transactions, I can create a custom json transaction right now transferring 10,000,000 Leo to my account to another account, but that custom json is meaningless if there isn't a balance. So looking at the chain, all you see is "deposit slips" that can be filled out any way someone wants but are not an guaranteed representation of value. To be 100% sure of a transaction, you need to query a Hive Engine RPC node.

Can you tell me which one of these transactions are real, one of them is forged.

On chain, there is absolutely no difference between the two.

This is also incorrect. You're confusing tampering with a node with tampering with the system as a whole. I can run my own Hive node and modify balances and transactions all I want, but that doesn't mean it's correct based on the protocol of the system. Engine is no different. Sure the Engine team can modify things on their node, but others can validate the info on their node to see if they are reporting correct information or not just like with any other blockchain platform. More on this later.

No one does. 99% query only Engine's node. The only way to protect from this is to run your own node or hope someone else does and identifies it.

What is meant by "protected by cryptography" is that the transactions are cryptographically signed using a public/private key pair, which Engine transactions most certainly are as a result of being transactions on the Hive blockchain.

Again back to my first response, the public/private keys is to issue a untrusted custom json transaction, that's it. As you can see above, that's easy to forge, so third parties cannot confirm it without validating the transaction from a node they trust.

Also, what?? Numerous other blockchains have this nowadays - EOS, WAX, TRON, and many others including Ethereum sidechains which seem be popping up left and right. Hive simply cannot compete in the generic smart contract platform arena.

I kind of agree here, but I can't see any other way for Hive to be relevant enough that people want to use it for large projects. We have had the same functionality for 4 years and no large project has come to take advantage of that. The thing is we have a lot of people actually using Hive on a daily basis for something other than gambling apps. We would have a lot more potential if Hive was dumbed down from being a blogging platform and that logic put into a smart contract on chain potentially beside competing social media application contracts like Leo.

As the developer behind Splinterlands, you got to admit using custom jsons for every thing is wonky. Especially using them for financial transactions (aka transfering HE tokens).

0
0
0.000
avatar

I have seen "fake" custom_json transactions as well.

0
0
0.000
avatar
(Edited)

You're still confusing a lot of things here. The only real issue you have identified with Hive Engine is that no one else runs nodes. This is definitely a major issue, but it isn't a problem with the system itself.

First of all, you claimed that the transactions were not distributed across a network. I explained that they were, and then you countered with the fact that invalid custom_json transactions can be published to the Hive blockchain which has nothing to do with the transactions being distributed across a network, which they clearly are.

To be 100% sure of a transaction, you need to query a Hive Engine RPC node.

This is the case with any blockchain platform I am aware of. To confirm a transaction you need to run the node software and query it local database, or query the node of a trusted 3rd party.

On chain, there is absolutely no difference between the two.

On the Hive blockchain there is no difference between the two. Again, you're confusing things here. On the Hive Engine blockchain there would be a difference which can be independently verified. The fact that Hive Engine uses transactions published on a separate blockchain to populate its own blockchain is definitely confusing and different than most other platforms, but that doesn't mean that it's not a blockchain or doesn't have the same properties as you are claiming.

On the contrary, it's actually a very clever solution to be able to utilize already built features of the Hive blockchain to more easily create a new blockchain with additional features.

Can you tell me which one of these transactions are real, one of them is forged.

First of all, both of the transactions are "real". One of them is just invalid based on the rules of the Hive Engine protocol, and it is very easy to tell which.

Transaction 40ca892010c880dd6bb10777934df6a3b732a116 is valid whereas Transaction 72301f9df4c896da648f2f4729308ef488dc806b is invalid because you didn't have enough tokens in your account balance at the time.

I could "forge" a Hive transaction too, but anyone can query a Hive blockchain node to see that it is invalid.

No one does. 99% query only Engine's node. The only way to protect from this is to run your own node or hope someone else does and identifies it.

Yes, this is the problem. But the key is that you can run your own node and verify everything. The fact that people don't care enough to do that is a different issue. Also, I would venture to guess that somewhere around 99% of Ethereum users and applications only query Infura's node.

the public/private keys is to issue a untrusted custom json transaction, that's it.

That is correct, and again is how all blockchain platforms work that I am aware of. "protected by cryptography" does not mean that the content of the message is valid based on the blockchain's protocol. It means simply that you can verify that the message was sent by someone who has access to the associated private key, which is certainly the case for all Hive Engine transactions.

I can't see any other way for Hive to be relevant enough that people want to use it for large projects.

In my opinion the best path for Hive would be to focus on the niche of tokenized communities. I've looked at and researched a LOT about successful startups, and often the best ones with the best chances of success are ones that focus on one particular thing and work to be the absolute best at it. Even many of the big companies that now do everything started out this way, including Amazon, Google, etc.

As the developer behind Splinterlands, you got to admit using custom jsons for every thing is wonky.

Not at all. The purpose of the custom_json transactions is to provide immutable, cryptographically-signed, ordered transactions, and custom_json transactions on the Hive blockchain provide all of these things exactly as we need them. There's absolutely nothing "wonky" about it.

0
0
0.000
avatar
(Edited)

@yabapmatt,
Thanks for explaining the every bit of detail, otherwise thing might go complex, then drama, then a dramatic flag war. This is how everything happened previously top of Steem chain.
I dont care HE decentralized or centralized. If token owners could run their own HE nodes it will move into the decentralization.
Anyway when core change so frequently how it's possible to keep running dapps top of HE or whatever. That's the real issue we all wanna focus on.
$tangent (I hope I didn't call it 3 times today)

Cheers~

0
0
0.000
avatar

On the Hive blockchain there is no difference between the two. Again, you're confusing things here. On the Hive Engine blockchain there would be a difference which can be independently verified. The fact that Hive Engine uses transactions published on a separate blockchain to populate its own blockchain is definitely confusing and different than most other platforms, but that doesn't mean that it's not a blockchain or doesn't have the same properties as you are claiming.

This is getting very confusing. Hive-Engine has a blockchain of its own that is not Hive??? Is the existence of this separate blockchain documented somewhere?

F***, Hive very much needs user-defined native tokens. It sounds like an effin' mess right now!

Posted Using LeoFinance Beta

0
0
0.000