Show Posts
|
Pages: « 1 2 3 4 5 6 [7]
|
Yes that is true, I have not studied the btc code yet, and while I am working on the Java (although my love is C) integration at the moment into 2 coins, I do not have time yet to start the btc version. When the Java integration is over, I might start, but for sure for someone who knows the btc code will be much easier and quicker to do so.
|
|
|
That is a great idea Ian , as I feel like there are a lot of questions regarding AT. So having a thread for answering all these questions would be nice. So feel free to ask us anything.
|
|
|
Hey,
I want to make a quick update regarding the integration of the AT. Both me and qora had to understand the logic of each other and study the code in detail to be able to start the coding. I had to study the qora code and qora had to study the AT code and logic ( not so easy thing to do) . After long discussions today with qora, we managed to solve some issues and we also discussed the whole flow of the integration and we finally figured out the most efficient way to integrate AT to qora platform. The AT specific API platform methods are almost ready and the implementation of the transaction that will create the ATs is also almost done. I will not bother you with technical details as they are not in the context of the thread. Both qora and me are very busy and our "online" time is not synchronized always, so we have quality time to discuss in detail, some things or problems that may occur, only during the weekend. Both devote time to work through the week and solve any problems that arise most of the times during the weekend. I will also try to stay in the loop with this thread and answer any questions regarding the AT integration.
Thanks - vbcs
|
|
|
There is also a working testnet nxt version using the old API. You can see some info here http://5.196.1.215:5876/ATs.html (it is just for testing purposes atm) and the testnet needs to be updated to comply with the new API
|
|
|
The AT program which will enable atomic cross-chain transaction is ready. The machine code is less than 256 bytes, so you can see the power the AT can give to the underlying blockchain is huge and that is just a use case. When we have up and running 2 blockchains running AT the first atomic cross-chain tx will take place. So stay tuned. Here is the full document with the description, the variables used, the script assembly, the assembly code and the machine code. Enjoy! Use Case: Atomic Cross-Chain Transfer -------------------------------------
An AT that enables an atomic cross-chain transfer to be executed by creating two separate instances of itself on two seperate blockchains. When constructing the first instance a 32 byte secret needs to be "hashed" using SHA256 and stored in the first 32 bytes of "initial data" followed by another 32 bytes for the address of the other party, and then the number of minutes to wait until refunding the AT's balance back to its creator.
The initial creator would then wait for the other party to create a matching AT (with a significantly smaller number of minutes for refund). The hash values would need to be identical. Once the initiator has seen enough confirmations of the other AT then they will send the secret to the other AT as a message. This AT will first copy this message into its data storage and then check if when hashed it matches the initial data values that were provided when it was created. If they match then the funds are sent to the address stored in the initial data.
Finally the creator of the second AT can now work out from checking their AT's state what the secret is. They would then send a message to the originally created AT instance with the same secret and it would pay them so the atomic cross-chain transfer will be completed.
Note that if the second party never actually creates their AT then the first party just needs to wait for the refund to occur. Likewise once the second party has created their AT then if the first party fails to send it the secret on time then a refund will occur (and the first party will also be refunded). The first party will need to be careful not to send the secret too close to the deadline otherwise there is the possibility that a refund will occur in the second AT but the secret will have already been seen in the message tx.
Another concern is possible attacks by "clogging the AT" up with tiny false message txs to try and prevent it from paying out. This is perhaps best prevented by making sure that the minimum fee for the ATs is well above anything that would permit such an attack to be economically beneficial.
Variables ---------
@00 ==> @hash_part1 @01 ==> @hash_part2 @02 ==> @hash_part3 @03 ==> @hash_part4 @04 ==> @address_part1 @05 ==> @address_part2 @06 ==> @address_part3 @07 ==> @address_part4 @08 ==> @refund_minutes @09 ==> @refund_timestamp @0a ==> @current_timestamp @0b ==> @secret_part1 @0c ==> @secret_part2 @0d ==> @secret_part3 @0e ==> @secret_part4 @0f ==> @tx_type @10 ==> @comparator @11 ==> @secret_temp1 @12 ==> @secret_temp2 @13 ==> @secret_temp3 @14 ==> @secret_temp4
Script Assembly ---------------
if @refund_timestamp not zero goto loop 1e0a0000001c set @refund_timestamp to AT creation time 35010309000000 add @refund_minutes to @refund_timestamp 370604090000000900000008000000
:loop (0x1c) set @current_timestamp to block timestamp 3500030a000000 if @current_timestamp >= @refund_timestamp goto refund 210a00000009000000f0
:txloop (0x2d) store tx after @current_timestamp in A 3504030a000000 check if A is zero and store result to @comparator 35250110000000 if @comparator is zero finish 2610000000 get type for tx in A and store in @tx_type 3505030f000000 if @tx_type is not 0 goto :check_message 1b0f00000012 get timestamp for tx in A and store in @current_timestamp3507030a000000 goto txloop 1a2d000000
:check_message (0x59) store message of tx in A to B 320903 swap A and B 322801 sha256 of A and store in B 320402 set @secret_temp1 to A1 35000111000000 set @secret_temp2 to A2 35010112000000 set @secret_temp3 to A3 35020113000000 set @secret_temp4 to A4 35030114000000 set A1 to @hash_part1 33100100000000 set A2 to @hash_part2 33110101000000 set A3 to @hash_part3 33120102000000 set A4 to @hash_part4 33130103000000 check A equals to B and store in @comparator 35270110000000 if comparator is not 0 goto :payout 1b100000000b goto :txloop 1a2d000000
:payout (0xa7) set @secret_part1 to $secret_temp1 020b00000011000000 set @secret_part2 to $secret_temp2 020c00000012000000 set @secret_part3 to $secret_temp3 020d00000013000000 set @secret_part4 to $secret_temp4 020e00000014000000 set B1 to @address_part1 33160104000000 set B2 to @address_part2 33170105000000 set B3 to @address_part3 33180106000000 set B4 to @address_part4 33190107000000 send all to address in B 320304 finish 28
:refund (0xf0) set B to address of the AT creator 320b03 send remaining balance to addres in B 320304 finish 28
Assembly Code -------------
00000000* BNZ $0000000a :0000001c 00000006 FUN @00000009 0x0301 0000000d FUN @00000009 0x0406 $00000009 $00000008 0000001c FUN @0000000a 0x0300 00000023 BGE $0000000a $00000009 :00000013 0000002d FUN @0000000a 0x0304 00000034 FUN @00000010 0x0125 0000003b FIZ @00000010 00000040 FUN @0000000f 0x0305 00000047 BZR $0000000f :00000059 0000004d FUN @0000000a 0x0307 00000054 JMP :0000002d 00000059 FUN 0x0309 0000005c FUN 0x0128 0000005f FUN 0x0204 00000062 FUN @00000011 0x0100 00000069 FUN @00000012 0x0101 00000070 FUN @00000013 0x0102 00000077 FUN @00000014 0x0103 0000007e FUN 0x0110 $00000000 00000085 FUN 0x0111 $00000001 0000008c FUN 0x0112 $00000002 00000093 FUN 0x0113 $00000003 0000009a FUN @00000010 0x0127 000000a1 BZR $00000010 :000000ac 000000a7 JMP :0000002d 000000ac SET @0000000b $00000011 000000b5 SET @0000000c $00000012 000000be SET @0000000d $00000013 000000c7 SET @0000000e $00000014 000000d0 FUN 0x0116 $00000004 000000d7 FUN 0x0117 $00000005 000000de FUN 0x0118 $00000006 000000e5 FUN 0x0119 $00000007 000000ec FUN 0x0403 000000ef FIN 000000f0 FUN 0x030b 000000f3 FUN 0x0403 000000f6 FIN
Machine Code ------------
1e0a0000001c350103090000003706040900000009000000080000003500030a000000210a00000009000000f03504030a0000003525011000000026100000003505030f0000001b0f000000123507030a0000001a2d0000003209033228013204023500011100000035010112000000350201130000003503011400000033100100000000331101010000003312010200000033130103000000352701100000001b100000000b1a2d000000020b00000011000000020c00000012000000020d00000013000000020e000000140000003316010400000033170105000000331801060000003319010700000032030428320b0332030428
|
|
|
I'm not trusting a newbie account. Don't care what he is doing on the NXT forum, anyone can sign up and do that and still be a Qora sock / shill.
I'm waiting for Call-From-Beyond to review the code. If you don't like Call-From-Beyond then there are other reputable developers on Bitcointalk. A code audit / review by somebody nobody really knows doesn't count to most people.
It is good to have doubts and questions, these things drive the evolution of the science.
|
|
|
The new API is almost ready and is the key point to enable the generalization of the AT to easily be adopted to any blockchain, thus enabling the cross-chain tx's, which will be our main focus when is ready. So feel free to ask the integration of the AT to your platform ( both me and Ciyam will help on that) , and becoming one of the first platforms enabling the atomic cross-chain tx's. (we are looking for btc based platforms as stated to Ciyams post's) Edit: Furthermore, besides the atomic cross-chain tx's, the AT will enable turing complete programs to be deployed and run on the blockchain. It already does (!) succesfully on a testnet. ( http://5.196.1.215:5876/ATs.html )
|
|
|
After gaining access to the Qora source code, and reviewing the code, I can confirm that it is NOT a NXT clone, but is new source code, tidy and well written.
- vbcs
|
|
|
Hey, I am honoured to say that the testnet is on from Sunday and till now is working fine. We found some minor issues that are going to be fixed and when we have a more tested version the testnet will be available for anyone to use and test it. Till we reach that point, we would like to keep it smaller, for easier managment on updates/fixes. But as you can see the "proof of concept" works perfectly. The AT core works perfectly from time zero, and only some fixes regarding the API calls the AT is making to the platforms core. So here ( http://5.196.1.215:5876/ATs.html , thanks dude for the VPS) you can see the first AT turing complete programs "surfing" the blockchain. Enjoy!
|
|
|
Hey guys,
I will gain access to a private qora repository this week, and i can easily verify if it is or not nxt based. From the talks we had with qora about the intergration of the AT , i got the feeling that has some basic fundamendal at least difference from nxt. Now if some parts or ideas were borrowed from the nxt platform, i dont see why that is a problem.
|
|
|
Hey Just posting here to confirm that assuming the "crowdfunding" for the project is a success then the AT development team (myself, vbecas and btc2nxt) will be working along with the Qora development team to integrate AT.
i quited from AT team. i am continuing the working of NxtAT. and i must clarify that i didn't know the crowdfunding and this confirmation before they are posted, i knew them from vbecas on Oct 12. I guess this is shocking news. Does this have implications for the development of AT for Qora? Could someone explain what this means? Does it mean CIYAM will work on qora AT without btc2nxt? Hey, I will work for QoraAT Version. btc2nxt will stay helping in NxtAT version.
|
|
|
CIYAM is going to be HUGE can't wait for it.
Regarding the AT, as we are running an experimental testnet at the moment, maybe we could run one more testnet and try the use case of atomic cross chain tx's.
|
|
|
We are testing at the moment, but a few problems have been found and are being addressed as we speak. If you want to see some info, just visit that link: http://5.196.1.215:5876/test?requestTag=ATIf you want the code for running it just send me a pm to send you the link. If we have a lot of peers it would be more difficult to trace the "problems", so for now I keep it in just a few peers, for easier management. Best Regards, vbcs
|
|
|
I would like to say a big thank to all the Qora community for the support they gave to the AT project and our request for funding the integration. Thank you! I already had some talks with the Qora dev about how we are going to sturcture the integration and I feel confident that it will be ready in less than 2 months if everything goes as expected. I would like also to thank Vrontis for making this happen! -vbcs
|
|
|
Vrontis, you should be aware that this *system* is to provide Turing completeness programs/scripts/contracts (call them as you like) to any coin that uses AT. Thus anyone will be able to create his program, so how this can be extend, I guess it depends on the programmers and their imagination. Regarding the cross-chain txs the specs are not yet fully defined, so I am not able to answer properly your questions. You will have to wait until the specs are ready.
|
|
|
That's up to you to decide. We mostly care for the tech and we believe any coin should have this functionality. Later steps (not very soon) on this huge project will be to create a c based compiler for translating high level languages into AT code, so anyone without *machine code* knowledge can easily create programs. Also we are going to release a new coin with a new proof ( at some point in the future, to fully exploit the power of AT), and we also want to integrate it to a btc based blockchain.
|
|
|
I am very glad we are going to do this! We have already succeed adding it into a blockchain and will be released the following days. More to come Exciting project!! Here is just a preview . I know some might not understand what is this, but I will still post it. Enjoy
|
|
|
|