Derivatives
The derivative of a Bezier curve is another Bezier curve, of one degree less. Its control polygon is obtained by forming differences of the original control points.

dca[b_,r_,i_,t_]:=If [r==0,b[[i+1]],(1-t)*dca[b,r-1,i,t]+t*dca[b,r-1,i+1,t]];

b={{0,0,0},{1,0,0},{1,1,0},{2,1,0}(*,{1,1,0},{0,1,1}*)};

b=Table[{i,Sqrt[i]+0.5*RandomReal[],0},{i,0,10}];
n=Length[b]-1;

curve=ParametricPlot3D[dca[b,n,0,t],{t,0,1},PlotStyle->{Thick}];
poly=Graphics3D[{Thick,Green,Line[b]}];
points=Graphics3D[{PointSize[Large],Green,Point[b]}];
Show[{poly,curve,points}]

First Derivative

deriv=Table[b[[i+1]]-b[[i]],{i,1,n}] ;(* factor n omitted *)

dcurve=ParametricPlot3D[dca[deriv,n-1,0,t],{t,0,1},PlotStyle->{Thick, Red}];
dpoly=Graphics3D[{Thick,Red,Line[deriv]}];
dpoints=Graphics3D[{PointSize[Large],Red,Point[deriv]}];
Show[{dpoly,dcurve,dpoints,  poly, curve, points},Axes-> True]

tangent[t_] := Graphics3D[{Thick, Arrow[{dca[b, n, 0, t], (dca[b, n, 0, t] + dca[deriv, n - 1, 0, t])}]}];
curvept[t_]:=Graphics3D[{PointSize[Large],Red,Point[dca[b,n,0,t]]}];

Manipulate[Show[{poly,points,curve,tangent[t],curvept[t]}], {t, 0, 1}]

Plot[Norm[dca[deriv,n-1,0,t]],{t,0,1},AxesOrigin->{0,0},PlotStyle->Thick]

Second Derivative

deriv2 = Table[b[[i + 2]] - 2 b[[i + 1]] + b[[i]], {i, 1, n - 1}] ;(* factor omitted *)

accel[t_] := Graphics3D[{Thick, Arrow[{dca[b, n, 0, t], (dca[b, n, 0, t] + dca[deriv2, n - 2, 0, t])}]}];

Manipulate[Show[{poly,points,curve,accel[t],curvept[t]}], {t, 0, 1}] 

Plot[Norm[dca[deriv2,n-2,0,t]],{t,0,1},AxesOrigin->{0,0},PlotStyle->Thick]