Bitcoin Forum
May 07, 2024, 07:07:32 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: How is verification of transformation of raw values done on the blockchain  (Read 135 times)
dafuqjoe (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
November 11, 2019, 10:35:30 AM
 #1

Is there a solution to verifying a transformation of raw values on the blockchain available?

Example: You have a (private, permissioned) blockchain solution to verify how many apples you have in your storage. New apples arrive randomly every 1 to 5 minutes. Same is for outgoing apples.

After every hour that passed you want to calculate the apples that have arrived within the last hour. After every day you want to calculate the average apples that arrived per hour.

Does Ethereum (and others) solve this with Smart Contracts? What are alternative approaches?

To make it a bit more complex: let's assume the transformation itself is very complex and cannot be stored in a smart contract - like using a neuronal network that can not be replicated across all nodes. How can the other nodes confirm the transformation was done correctly and is trustworthy and store the result only on the blockchain?
Once a transaction has 6 confirmations, it is extremely unlikely that an attacker without at least 50% of the network's computation power would be able to reverse it.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1715065652
Hero Member
*
Offline Offline

Posts: 1715065652

View Profile Personal Message (Offline)

Ignore
1715065652
Reply with quote  #2

1715065652
Report to moderator
1715065652
Hero Member
*
Offline Offline

Posts: 1715065652

View Profile Personal Message (Offline)

Ignore
1715065652
Reply with quote  #2

1715065652
Report to moderator
bitmover
Legendary
*
Offline Offline

Activity: 2296
Merit: 5921


bitcoindata.science


View Profile WWW
November 11, 2019, 01:08:48 PM
 #2

Does Ethereum (and others) solve this with Smart Contracts? What are alternative approaches?

Ethereum was designed to work with smartcontracts. I believe it is the best option.

Quote
To make it a bit more complex: let's assume the transformation itself is very complex and cannot be stored in a smart contract - like using a neuronal network that can not be replicated across all nodes. How can the other nodes confirm the transformation was done correctly and is trustworthy and store the result only on the blockchain?

If you don't want to replicate the conditions for validation (ie the smartcontract)  across all nodes, how do you expect them to validate? If a central server holds alone the conditions, it is the only one validating.

Additionally, if you do not want or need your nodes validating, and you want it all to be centralized in a master node or server, why do you need blockchain at all?

Blockchain is a slow and expensive database, with high security. You shouldn't store everything there.

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
dafuqjoe (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
November 11, 2019, 02:08:30 PM
 #3

Quote
If you don't want to replicate the conditions for validation (ie the smartcontract)  across all nodes, how do you expect them to validate? If a central server holds alone the conditions, it is the only one validating.

You are right with your question "how do you expect them to validate". It is not possible IMO unless replicated across all nodes.

I think the question I am asking is: is there an alternative approach to what Ethereum is solving with the Oracle where external data is fed into the blockchain to be reused inside the chain itself afterwards. This data comes from a central server, that holds alone all the conditions to this data but is trusted by the network.


After every hour I shoot my data of apples on the blockchain through a (trusted centralized?) transformation method somewhere. How can the other nodes verify that this centralized transformation was executed correctly. There is no alternative way to predefining a trusted source to do the calculation and blindly trust the result I suppose?
bitmover
Legendary
*
Offline Offline

Activity: 2296
Merit: 5921


bitcoindata.science


View Profile WWW
November 11, 2019, 02:59:17 PM
 #4

I think the question I am asking is: is there an alternative approach to what Ethereum is solving with the Oracle where external data is fed into the blockchain to be reused inside the chain itself afterwards. This data comes from a central server, that holds alone all the conditions to this data but is trusted by the network.

No. There are some misconceptions here.

First, there is no working Oracle yet. For now, there is no way to insert outside data to the blockchain yet.
The way blockchain is designed and its validation works, you cannot feed outside data to it now.

However, there are some projects working in a solution to this problem. Some of them are centralized like you mentioned (which defeats the whole purpose of bitcoin and ethereum) and there is one that is not centralized, which became famous recently: chainlink.

Chainlink is not operational and it is decentralized.  Anyone can run a node and collect any data from real world and send to other nodes for validation. It will also validate data.

But neither chainlink or those other Centralized projects are working yet on ethereum. So you cannot use them

I doubt vitality and ethereum community will ever accept a centralized Oracle.


Quote
After every hour I shoot my data of apples on the blockchain through a (trusted centralized?) transformation method somewhere. How can the other nodes verify that this centralized transformation was executed correctly. There is no alternative way to predefining a trusted source to do the calculation and blindly trust the result I suppose?

There is no trusted source in blockchain. Forget this idea. Blockchain is trustless. You will need a decentralized Oracle to feed your data, or insert it all in a smartcontract and replicate it in all nodes (if. Possible).

Maybe you need another technology. What kind of data do you want to feed?

.
.BLACKJACK ♠ FUN.
█████████
██████████████
████████████
█████████████████
████████████████▄▄
░█████████████▀░▀▀
██████████████████
░██████████████
████████████████
░██████████████
████████████
███████████████░██
██████████
CRYPTO CASINO &
SPORTS BETTING
▄▄███████▄▄
▄███████████████▄
███████████████████
█████████████████████
███████████████████████
█████████████████████████
█████████████████████████
█████████████████████████
███████████████████████
█████████████████████
███████████████████
▀███████████████▀
█████████
.
dafuqjoe (OP)
Newbie
*
Offline Offline

Activity: 8
Merit: 0


View Profile
November 11, 2019, 05:47:17 PM
 #5

There is oraclize https://www.oraclize.it/ that works with Ethereum. That's the approach I am talking about. You can feed outside data when calling a smart contract method - the input can vary.
This is centralized though so it is probably not supported by the Ethereum Foundation as you mentioned.

I think you pointed me in the right direction with chainlink. Thank you

The data I want to feed can be as simple as the apple example I talked about in my last posts or it can be very complex, coming from a neuronal network etc.
I think I have my answers now though:
if replicable across nodes -> smart contracts
else -> Oracles with the current "Oracle Problem"

Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!